<?php
/**
 * File di gestione azioni per le etichette (labels)
 * Gestisce: salvataggio traduzioni
 */

if(!isset($azione)) $azione = '';
if(!isset($id)) $id = 0;

// CREAZIONE NUOVA LABEL
if($azione == 'crea' && $isubsezione == 0) {
    
    $nome = isset($_POST['nome_new']) ? trim($_POST['nome_new']) : '';
    $valore = isset($_POST['valore_new']) ? trim($_POST['valore_new']) : '';
    $des = isset($_POST['des_new']) ? trim($_POST['des_new']) : '';
    $id_gruppo = isset($_POST['id_gruppo_new']) && $_POST['id_gruppo_new'] != '' ? (int)$_POST['id_gruppo_new'] : 'NULL';
    $id_sezione = isset($_POST['id_sezione_new']) ? (int)$_POST['id_sezione_new'] : 0;
    
    if($nome != '' && $valore != '' && $id_sezione > 0) {
        
        // Verifica che il nome non esista già
        $sql_check = "SELECT COUNT(*) as cnt FROM t_labels WHERE nome = " . $mydb->Escape($nome);
        $mydb->DoSelect($sql_check);
        $check = $mydb->GetRow();
        
        if($check['cnt'] > 0) {
            echo "<div class='boxerr' style='margin:20px 0; padding:15px; background:#f8d7da; border:2px solid #dc3545; border-radius:5px;'>";
            echo "✗ Errore: esiste già una label con nome '<strong>" . htmlspecialchars($nome) . "</strong>'!";
            echo "</div>";
        } else {
            // Inserisci la nuova label
            $sql = "INSERT INTO t_labels (nome, valore, des, id_gruppo, id_sezione, ordine, visibile) 
                    VALUES (
                        " . $mydb->Escape($nome) . ",
                        " . $mydb->Escape($valore) . ",
                        " . $mydb->Escape($des) . ",
                        " . ($id_gruppo === 'NULL' ? 'NULL' : $id_gruppo) . ",
                        " . $id_sezione . ",
                        100,
                        '1'
                    )";
            $mydb->DoQuery($sql);
            
            $new_id_label = $mydb->LastInsertedId;
            
            // Crea i record in t_testi_labels per tutte le lingue abilitate
            if($new_id_label > 0) {
                foreach($_vlanguage as $idx => $lang_code) {
                    if($_vlanguage_enabled[$idx] == '1') {
                        $sql = "INSERT INTO t_testi_labels (id_label, lang, valore) 
                                VALUES (" . $new_id_label . ", " . $mydb->Escape($lang_code) . ", " . $mydb->Escape($valore) . ")";
                        $mydb->DoQuery($sql);
                    }
                }
            }
            
            echo "<div class='boxok' style='margin:20px 0; padding:15px; background:#d4edda; border:2px solid #28a745; border-radius:5px;'>";
            echo "✓ Label '<strong>" . htmlspecialchars($nome) . "</strong>' creata con successo! (ID: " . $new_id_label . ")";
            echo "</div>";
        }
    } else {
        echo "<div class='boxerr' style='margin:20px 0; padding:15px; background:#f8d7da; border:2px solid #dc3545; border-radius:5px;'>";
        echo "✗ Errore: compilare tutti i campi obbligatori!";
        echo "</div>";
    }
    
    $azione = '';
}

// ELIMINAZIONE LABEL
if($azione == 'elimina' && $isubsezione == 0) {
    
    $id_label = isset($_POST['id_label']) ? (int)$_POST['id_label'] : 0;
    
    if($id_label > 0) {
        // Elimina prima le traduzioni
        $sql = "DELETE FROM t_testi_labels WHERE id_label = " . $id_label;
        $mydb->DoQuery($sql);
        
        // Elimina la label
        $sql = "DELETE FROM t_labels WHERE id_label = " . $id_label;
        $mydb->DoQuery($sql);
        
        echo "<div class='boxsuccess'>Etichetta eliminata con successo!</div>";
    }
    
    $azione = '';
}

// SALVATAGGIO TRADUZIONI LABEL
if($azione == 'salva' && $isubsezione == 1) {
    
    $id_label = isset($_POST['id_label']) ? (int)$_POST['id_label'] : 0;
    
    if($id_label > 0) {
        
        // Aggiorna la descrizione nella tabella t_labels
        $des = isset($_POST['des']) ? trim($_POST['des']) : '';
        $sql = "UPDATE t_labels SET des = " . $mydb->Escape($des) . " WHERE id_label = " . $id_label;
        $mydb->DoQuery($sql);
        
        // Prima elimina le traduzioni esistenti
        $sql = "DELETE FROM t_testi_labels WHERE id_label = " . $id_label;
        $mydb->DoQuery($sql);
        
        // Inserisci tutte le traduzioni per ogni lingua abilitata
        foreach($_vlanguage as $idx => $lang_code) {
            if($_vlanguage_enabled[$idx] == '1') {
                $valore_lang = isset($_POST['valore_'.$lang_code]) ? trim($_POST['valore_'.$lang_code]) : '';
                
                $sql = "INSERT INTO t_testi_labels (id_label, lang, valore) 
                        VALUES (
                            " . $id_label . ",
                            " . $mydb->Escape($lang_code) . ",
                            " . $mydb->Escape($valore_lang) . "
                        )";
                $mydb->DoQuery($sql);
            }
        }
        
        echo "<div class='boxsuccess'>Traduzioni salvate con successo!</div>";
    }
    
    // Torna alla lista
    $isubsezione = 0;
    $azione = '';
}

?>
