<?php
/**
 * Admin Account Management Page
 * User personal data, residential address, password modification
 * Modernized: HTML5 semantic, grid layout, native validation (Jan 2026)
 */

if (!isset($_mode)) {
    $_mode = "";
}


$errmsg = isset($errmsg) ? $errmsg : "";


if($azione=="save"){
        $nome = myencodeTxt($usr_nome);
        $cognome = myencodeTxt($usr_cognome);
        $telefono = myencodeTxt($usr_telefono);

        $sql = "UPDATE t_utenti SET  nome='$nome', cognome='$cognome', telefono='$telefono'  WHERE id_utenti = $_idutente";
        $mydb->ExecSql($sql);

        #if($email!=$emailold) {
            $sql = "UPDATE t_utenti SET  email='$usr_email'  WHERE id_utenti = $_idutente";
            $mydb->ExecSql($sql);
        #}
        if(isset($usr_azienda)) {
            $rs = myencodeTxt($usr_azienda);
            $sql = "UPDATE t_utenti SET  rs='$rs'  WHERE id_utenti = $_idutente";
            $mydb->ExecSql($sql);
        }
        if($usr_username!=$usernameold) {
            $sql = "SELECT COUNT(*) as n FROM t_utenti WHERE username='$usr_username' ";#AND cancellato='0' 
            $mydb->DoSelect($sql);
            $rtmp = $mydb->GetRow();

            if($rtmp['n']==0) {
                $sql = "UPDATE t_utenti SET  username='$usr_username'  WHERE id_utenti = $_idutente";
                $mydb->ExecSql($sql);
            } else {
                $errmsg = "Lo username scelto non è disponibile.";
            }
        }

        if($usr_password_new!="" && $usr_password_new==$usr_password_confirm) {
            #$pass = md5($usr_password_new);
            $pass = password_hash($usr_password_new, PASSWORD_BCRYPT);
            $sql = "UPDATE t_utenti SET password = '$pass', last_changed_password = NOW() WHERE id_utenti = $_idutente";
            $mydb->ExecSql($sql);
            $msg .= " La password è stata modificata.";
        }
    }

    $sql = "SELECT * FROM t_utenti WHERE id_utenti = $_idutente";
    $mydb->DoSelect($sql);
    $ru = $mydb->GetRow();

    $tipoutente = $ru['tipo'];
    $usr_level = $ru['level'];

    if ($onlywarning > 0)
        $msg = "ATTENZIONE: è necessario modificare la propria password!";

 
// Carica i dati attuali dell'utente dal database
$usr_email = mydecodeTxt($ru['email'] ?? '');
$usr_nome = mydecodeTxt($ru['nome'] ?? '');
$usr_cognome = mydecodeTxt($ru['cognome'] ?? '');
$usr_telefono = mydecodeTxt($ru['telefono'] ?? '');
$usr_username = htmlspecialchars($ru['username'] ?? '');

//$showAnagrafica = isset($tipoutente) && intval($tipoutente) > 0;
$showAnagrafica = false; // Disabilitata per ora

if(!$showAnagrafica)
{
    $usr_datanascita = '';
    $usr_luogonascita = '';
    $usr_codfisc = '';
    $usr_nazione = '';
    $usr_nazione_sigla = '';
    $usr_provincia = '';
} else {
    $usr_datanascita = mydecodeTxt($ru['datanascita'] ?? '');
    $usr_luogonascita = mydecodeTxt($ru['luogonascita'] ?? '');
    $usr_codfisc = mydecodeTxt($ru['codfisc'] ?? '');
    $usr_nazione = htmlspecialchars($ru['nazione'] ?? '');
    $usr_nazione_sigla = htmlspecialchars($ru['nazione_sigla'] ?? '');
    $usr_provincia = htmlspecialchars($ru['provincia'] ?? '');
}
?>

<section class="section">

    <?php if ($errmsg != "") { ?>
        <div class="card form-card" style="background: #fee; border-left: 4px solid #E34A43;">
            <span class="testo_err"><?= htmlspecialchars($errmsg) ?></span>
        </div>
    <?php } ?>

    <form id="frmaccount" name="frmaccount" action="<?php echo $action; ?>" method="post">

        <h2 class="titolo_big" style="text-align: center;">Il tuo account</h2>

        <!-- Personal Data Section -->
        <div class="card form-card">
            <h3 class="testo_evi" style="text-align: center; margin-bottom: 24px;">Dati Personali</h3>
            
            <div style="display:none" id="divError" class="testo_err" role="alert">
                Compilare tutti i campi obbligatori!
            </div>

            <!-- 2-Column Grid for Name/Surname -->
            <div class="form-grid-2 form-field">
                <div>
                    <label for="usr_nome" class="form-label">Nome*</label>
                          <input type="text" 
                              id="usr_nome" 
                              name="usr_nome" 
                              value="<?= $usr_nome ?>" 
                              required 
                              class="form-control" />
                </div>
                <div>
                    <label for="usr_cognome" class="form-label">Cognome*</label>
                          <input type="text" 
                              id="usr_cognome" 
                              name="usr_cognome" 
                              value="<?= $usr_cognome ?>" 
                              required 
                              class="form-control" />
                </div>
            </div>

            <div class="form-field">
                <label for="usr_username" class="form-label">Username*</label>
                  <input type="email" 
                      id="usr_username" 
                      name="usr_username" 
                      value="<?= $usr_username ?>" 
                      required 
                      class="form-control" />
                <input type="hidden" 
                      id="usernameold" 
                      name="usernameold" 
                      value="<?= $usr_username ?>" />
            </div>

            <div class="form-field">
                <label for="usr_email" class="form-label">Email*</label>
                  <input type="email" 
                      id="usr_email" 
                      name="usr_email" 
                      value="<?= $usr_email ?>" 
                      required 
                      class="form-control" />
            </div>

            <div class="form-field">
                <label for="usr_telefono" class="form-label">Telefono*</label>
                  <input type="tel" 
                      id="usr_telefono" 
                      name="usr_telefono" 
                      value="<?= $usr_telefono ?>" 
                      required 
                      class="form-control" />
            </div>

           
        </div>

        <!-- Anagrafica Section (conditional) -->
        <?php if ($showAnagrafica) { ?>
        <div class="card form-card">
            <h3 class="testo_evi" style="text-align: center; margin-bottom: 24px;">Dati Anagrafici</h3>

            <div class="form-field">
                <label for="usr_datanascita" class="form-label">Data di Nascita</label>
                  <input type="date" 
                      id="usr_datanascita" 
                      name="usr_datanascita" 
                      value="<?= $usr_datanascita ?>" 
                      class="form-control" />
            </div>

            <div class="form-field">
                <label for="usr_luogonascita" class="form-label">Luogo di Nascita</label>
                  <input type="text" 
                      id="usr_luogonascita" 
                      name="usr_luogonascita" 
                      value="<?= $usr_luogonascita ?>" 
                      class="form-control" />
            </div>

            <div class="form-field">
                <label for="usr_codfisc" class="form-label">Codice Fiscale</label>
                  <input type="text" 
                      id="usr_codfisc" 
                      name="usr_codfisc" 
                      value="<?= $usr_codfisc ?>" 
                      class="form-control" 
                      style="text-transform: uppercase;" />
            </div>

            <div class="form-field">
                <label for="usr_nazione" class="form-label">Paese / Nazione</label>
                  <input type="text" 
                      id="usr_nazione" 
                      name="usr_nazione" 
                      value="<?= $usr_nazione ?>" 
                      class="form-control" />
            </div>

            <!-- Provincia - only visible if Italy (nazione_sigla = "114") -->
            <div id="div_provincia" class="form-field" style="display: <?= ($usr_nazione_sigla == "114") ? 'block' : 'none' ?>;">
                <label for="usr_provincia" class="form-label">Provincia</label>
                <select id="usr_provincia" 
                    name="usr_provincia" 
                    class="form-control">
                    <option value="">-- Seleziona Provincia --</option>
                    <?php 
                    // Lista province italiane (abbreviated list - in production load from DB)
                    $province = array('AG'=>'Agrigento', 'AL'=>'Alessandria', 'AN'=>'Ancona', 'AO'=>'Aosta', 'AP'=>'Ascoli Piceno', 'AT'=>'Asti', 'AV'=>'Avellino', 'BA'=>'Bari', 'BT'=>'Barletta-Andria-Trani', 'BL'=>'Belluno', 'BN'=>'Benevento', 'BG'=>'Bergamo', 'BI'=>'Biella', 'BO'=>'Bologna', 'BZ'=>'Bolzano', 'BS'=>'Brescia', 'BR'=>'Brindisi', 'CA'=>'Cagliari', 'CL'=>'Caltanissetta', 'CB'=>'Campobasso', 'CE'=>'Caserta', 'CT'=>'Catania', 'CZ'=>'Catanzaro', 'CH'=>'Chieti', 'CO'=>'Como', 'CS'=>'Cosenza', 'CR'=>'Cremona', 'KR'=>'Crotone', 'CN'=>'Cuneo', 'CT'=>'Catania', 'EE'=>'Este', 'EN'=>'Enna', 'FE'=>'Ferrara', 'FI'=>'Firenze', 'FG'=>'Foggia', 'FC'=>'Forli-Cesena', 'FR'=>'Frosinone', 'GE'=>'Genova', 'GO'=>'Gorizia', 'GR'=>'Grosseto', 'IM'=>'Imperia', 'IS'=>'Isernia', 'AQ'=>'L\'Aquila', 'SP'=>'La Spezia', 'LT'=>'Latina', 'LE'=>'Lecce', 'LC'=>'Lecco', 'LI'=>'Livorno', 'LO'=>'Lodi', 'LU'=>'Lucca', 'MC'=>'Macerata', 'MN'=>'Mantova', 'MS'=>'Massa-Carrara', 'MT'=>'Matera', 'ME'=>'Messina', 'MI'=>'Milano', 'MO'=>'Modena', 'MB'=>'Monza e della Brianza', 'NA'=>'Napoli', 'NO'=>'Novara', 'NU'=>'Nuoro', 'OT'=>'Olbia-Tempio', 'OR'=>'Oristano', 'PD'=>'Padova', 'PA'=>'Palermo', 'PR'=>'Parma', 'PV'=>'Pavia', 'PG'=>'Perugia', 'PU'=>'Pesaro e Urbino', 'PE'=>'Pescara', 'PC'=>'Piacenza', 'PI'=>'Pisa', 'PT'=>'Pistoia', 'PN'=>'Pordenone', 'PZ'=>'Potenza', 'PO'=>'Prato', 'RG'=>'Ragusa', 'RA'=>'Ravenna', 'RC'=>'Reggio Calabria', 'RE'=>'Reggio Emilia', 'RI'=>'Rieti', 'RN'=>'Rimini', 'RM'=>'Roma', 'RO'=>'Rovigo', 'SA'=>'Salerno', 'SS'=>'Sassari', 'SV'=>'Savona', 'SI'=>'Siena', 'SR'=>'Siracusa', 'SO'=>'Sondrio', 'SU'=>'Sud Sardegna', 'SY'=>'Siracusa', 'TA'=>'Taranto', 'TE'=>'Teramo', 'TR'=>'Terni', 'TO'=>'Torino', 'TP'=>'Trapani', 'TN'=>'Trento', 'TV'=>'Treviso', 'TS'=>'Trieste', 'UD'=>'Udine', 'UM'=>'Urbino e Pesaro', 'VA'=>'Varese', 'VB'=>'Verbania', 'VC'=>'Vercelli', 'VR'=>'Verona', 'VT'=>'Viterbo', 'VV'=>'Vibo Valentia', 'VI'=>'Vicenza', 'VE'=>'Venezia');
                    foreach ($province as $sigla => $nome) {
                        $selected = ($usr_provincia == $sigla) ? 'selected' : '';
                        echo "<option value=\"$sigla\" $selected>$nome</option>";
                    }
                    ?>
                </select>
            </div>
        </div>
        <?php } ?>
         
        <?php /*
        <!-- Residenza Section -->
        <div class="card form-card">
            <h3 class="testo_evi" style="text-align: center; margin-bottom: 24px;">Indirizzo di Residenza</h3>

            <div class="form-field">
                <label for="usr_indirizzo" class="form-label">Indirizzo</label>
                  <input type="text" 
                      id="usr_indirizzo" 
                      name="usr_indirizzo" 
                      value="<?= $usr_indirizzo ?>" 
                      class="form-control" />
            </div>

            <div class="form-grid-2">
                <div class="form-field">
                    <label for="usr_citta" class="form-label">Città</label>
                          <input type="text" 
                              id="usr_citta" 
                              name="usr_citta" 
                              value="<?= $usr_citta ?>" 
                              class="form-control" />
                </div>
                <div class="form-field">
                    <label for="usr_cap" class="form-label">CAP</label>
                          <input type="text" 
                              id="usr_cap" 
                              name="usr_cap" 
                              value="<?= $usr_cap ?>" 
                              class="form-control" />
                </div>
            </div>
        </div>
        */ ?>
        <!-- Password Change Section -->
        <div class="card form-card">
            <h3 class="testo_evi" style="text-align: center; margin-bottom: 24px;">Modifica Password</h3>

            <?php 
            /*
            <div class="form-field">
                <label for="usr_password_current" class="form-label">Password Attuale*</label>
                  <input type="password" 
                      id="usr_password_current" 
                      name="usr_password_current" 
                      value="" 
                      class="form-control" />
            </div>
           */
            ?>
            <div class="form-field">
                <label for="usr_password_new" class="form-label">Nuova Password</label>
                  <input type="password" 
                      id="usr_password_new" 
                      name="usr_password_new" 
                      value="" 
                      class="form-control" />
            </div>

            <div class="form-field">
                <label for="usr_password_confirm" class="form-label">Conferma Nuova Password</label>
                  <input type="password" 
                      id="usr_password_confirm" 
                      name="usr_password_confirm" 
                      value="" 
                      class="form-control" />
            </div>
        </div>

        <!-- Submit Buttons -->
        <div class="card form-card" style="text-align: center;">
            <button type="button" 
                    class="btn btn-accent" 
                    onclick="checkdata()" 
                    style="padding: 12px 40px; font-size: 16px; cursor: pointer; margin-right: 10px;">
                Salva Modifiche
            </button>
            <button type="button" 
                    class="btn btn-ghost" 
                    onclick="window.history.back()" 
                    style="padding: 12px 40px; font-size: 16px; cursor: pointer;">
                Annulla
            </button>
        </div>

        <!-- Hidden fields -->
        <input type="hidden" name="MSID" value="<?= $MSID ?>">
        <input type="hidden" name="sz" value="<?= $sz ?>">
        <input type="hidden" name="azione" value="">

    </form>

</section>

<script>
function checkdata() {
    // Nascondi messaggi di errore precedenti
    const divError = document.getElementById('divError');
    if (divError) {
        divError.style.display = 'none';
    }

    // Validazione HTML5 nativa
    if (!document.frmaccount.checkValidity()) {
        document.frmaccount.reportValidity();
        return false;
    }

    // Verifica password se almeno uno dei campi password è compilato
    const pwd_new = document.frmaccount.usr_password_new.value;
    const pwd_confirm = document.frmaccount.usr_password_confirm.value;

    if (pwd_new !== "" || pwd_confirm !== "") {
        if (pwd_new !== pwd_confirm) {
            if (divError) {
                divError.style.display = 'block';
            }
            alert('Le password non coincidono!');
            return false;
        }
    }

    // Se tutto ok, invia il form
    waitpage();
    document.frmaccount.azione.value = "save";
    document.frmaccount.submit();
}

// Toggle Provincia field based on Nazione selection
document.getElementById('usr_nazione_sigla')?.addEventListener('change', function() {
    const divProvincia = document.getElementById('div_provincia');
    if (divProvincia) {
        divProvincia.style.display = (this.value === '114') ? 'block' : 'none';
    }
});
</script>

