feat: oma profiili -toiminto + placeholder-siivous + poista fix-skriptit
- Lisätty "Oma profiili" -nappi headeriin (⚙ + nimen klikkaus) - Profiili-modaali: muokkaa nimi, sähköposti, salasana, allekirjoitukset - Uusi profile_update API-endpoint (vaatii vain kirjautumisen) - check_auth palauttaa nyt myös email-kentän - Siivottu kaikki yrityskohtaiset placeholder-tekstit geneerisiksi (cuitunet.fi → yritys.fi, Kauppakatu → Esimerkkikatu, jne.) - Poistettu väliaikaiset fix_role.php ja fix_saatavuus.php Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
40
api.php
40
api.php
@@ -993,6 +993,7 @@ switch ($action) {
|
||||
'user_id' => $_SESSION['user_id'],
|
||||
'username' => $_SESSION['username'],
|
||||
'nimi' => $_SESSION['nimi'],
|
||||
'email' => $u['email'] ?? '',
|
||||
'role' => $_SESSION['role'],
|
||||
'companies' => $companyList,
|
||||
'company_id' => $_SESSION['company_id'] ?? '',
|
||||
@@ -1030,7 +1031,7 @@ switch ($action) {
|
||||
$html .= '<p><a href="' . $resetUrl . '" style="display:inline-block;background:#0f3460;color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;">Vaihda salasana</a></p>';
|
||||
$html .= '<p style="color:#888;font-size:0.9em;">Linkki on voimassa 1 tunnin. Jos et pyytänyt salasanan vaihtoa, voit jättää tämän viestin huomiotta.</p>';
|
||||
$html .= '</div>';
|
||||
sendMail($user['email'], 'Salasanan palautus - CuituNet Intra', $html);
|
||||
sendMail($user['email'], 'Salasanan palautus - Noxus Intra', $html);
|
||||
}
|
||||
echo json_encode(['success' => true, 'message' => 'Jos käyttäjätunnus löytyy ja sillä on sähköposti, palautuslinkki lähetetään.']);
|
||||
break;
|
||||
@@ -1236,6 +1237,43 @@ switch ($action) {
|
||||
echo json_encode(['success' => true]);
|
||||
break;
|
||||
|
||||
// ---------- PROFILE (oma profiili) ----------
|
||||
case 'profile_update':
|
||||
requireAuth();
|
||||
if ($method !== 'POST') break;
|
||||
$input = json_decode(file_get_contents('php://input'), true);
|
||||
$userId = $_SESSION['user_id'];
|
||||
$u = dbGetUser($userId);
|
||||
if (!$u) {
|
||||
http_response_code(404);
|
||||
echo json_encode(['error' => 'Käyttäjää ei löydy']);
|
||||
break;
|
||||
}
|
||||
if (isset($input['nimi'])) $u['nimi'] = trim($input['nimi']);
|
||||
if (isset($input['email'])) $u['email'] = trim($input['email']);
|
||||
if (!empty($input['password'])) {
|
||||
if (strlen($input['password']) < 4) {
|
||||
http_response_code(400);
|
||||
echo json_encode(['error' => 'Salasanan pitää olla vähintään 4 merkkiä']);
|
||||
break;
|
||||
}
|
||||
$u['password_hash'] = password_hash($input['password'], PASSWORD_DEFAULT);
|
||||
}
|
||||
if (isset($input['signatures']) && is_array($input['signatures'])) {
|
||||
$sigs = [];
|
||||
foreach ($input['signatures'] as $mbId => $sig) {
|
||||
$sigs[(string)$mbId] = (string)$sig;
|
||||
}
|
||||
$u['signatures'] = $sigs;
|
||||
}
|
||||
dbSaveUser($u);
|
||||
// Päivitä session nimi
|
||||
$_SESSION['nimi'] = $u['nimi'];
|
||||
$safe = $u;
|
||||
unset($safe['password_hash']);
|
||||
echo json_encode($safe);
|
||||
break;
|
||||
|
||||
// ---------- CHANGELOG ----------
|
||||
case 'changelog':
|
||||
requireAuth();
|
||||
|
||||
Reference in New Issue
Block a user