<?php
echo "<!-- inc.editslider.actions.php -->\n";
/**
 * File di gestione azioni per lo slider
 * Gestisce: salvataggio, eliminazione, modifica
 */

if(!isset($azione)) $azione = '';
if(!isset($id)) $id = 0;
if(!isset($id_gallery)) $id_gallery = ($tab==1) ? 1 : 2;

// SALVATAGGIO/MODIFICA SLIDE
if($azione == 'salva' && $isubsezione == 1) {
    
    $id = isset($_POST['id']) ? (int)$_POST['id'] : 0;
    $id_gallery = isset($_POST['id_gallery']) ? (int)$_POST['id_gallery'] : $id_gallery;
    
    // I campi titolo, des e testolink vengono salvati SOLO per l'italiano in t_img_gallery
    // (per compatibilità e come fallback)
    $titolo_it = isset($_POST['titolo_it']) ? trim($_POST['titolo_it']) : '';
    $des_it = isset($_POST['des_it']) ? trim($_POST['des_it']) : '';
    $testolink_it = isset($_POST['testolink_it']) ? trim($_POST['testolink_it']) : '';
    
    $url = isset($_POST['url']) ? trim($_POST['url']) : '';
    $ordine = isset($_POST['ordine']) ? (int)$_POST['ordine'] : 1;
    $visibile = isset($_POST['visibile']) ? $_POST['visibile'] : '1';
    
    // Gestione upload immagine
    $img_name = '';
    if(isset($_FILES['img_upload']) && $_FILES['img_upload']['error'] == 0) {
        $upload_dir = $baseDir.$path_gallery;
        
        // Crea directory se non esiste
        if(!is_dir($upload_dir)) {
            mkdir($upload_dir, 0755, true);
        }
        
        $file_ext = strtolower(pathinfo($_FILES['img_upload']['name'], PATHINFO_EXTENSION));
        $allowed_ext = array('jpg', 'jpeg', 'png', 'gif', 'webp');
        
        if(in_array($file_ext, $allowed_ext)) {
            // Genera nome file univoco
            $img_name = 'slide_' . time() . '_' . rand(1000, 9999) . '.' . $file_ext;
            $upload_path = $upload_dir . $img_name;
            
            if(move_uploaded_file($_FILES['img_upload']['tmp_name'], $upload_path)) {
                // Upload riuscito
                
                // Se è una modifica e c'era un'immagine precedente, eliminala
                if($id > 0) {
                    $sql = "SELECT img FROM t_img_gallery WHERE id=".$id;
                    $mydb->DoSelect($sql);
                    if($old_row = $mydb->GetRow()) {
                        if($old_row['img'] != '' && file_exists($upload_dir . $old_row['img'])) {
                            @unlink($upload_dir . $old_row['img']);
                        }
                    }
                }
            } else {
                $img_name = ''; // Upload fallito
            }
        }
    }
    
    if($id > 0) {
        // UPDATE
        $sql = "UPDATE t_img_gallery SET 
                titolo = " . $mydb->Escape($titolo_it) . ",
                des = " . $mydb->Escape($des_it) . ",
                testolink = " . $mydb->Escape($testolink_it) . ",
                url = " . $mydb->Escape($url) . ",
                ordine = " . $ordine . ",
                visibile = '" . $visibile . "',
                tipo = 'img'";
        
        if($img_name != '') {
            $sql .= ", img = " . $mydb->Escape($img_name);
        }
        
        $sql .= " WHERE id = " . $id;
        
        $mydb->DoQuery($sql);
        $id_img_salvato = $id;
        
    } else {
        // INSERT
        $sql = "INSERT INTO t_img_gallery (id_gal, img, titolo, des, testolink, url, ordine, visibile, tipo) 
                VALUES (
                    " . $id_gallery . ",
                    " . $mydb->Escape($img_name) . ",
                    " . $mydb->Escape($titolo_it) . ",
                    " . $mydb->Escape($des_it) . ",
                    " . $mydb->Escape($testolink_it) . ",
                    " . $mydb->Escape($url) . ",
                    " . $ordine . ",
                    '" . $visibile . "',
                    'img'
                )";
        
        $mydb->DoQuery($sql);
        $id_img_salvato = $mydb->LastInsertedId;
    }
    
    // Salva le traduzioni per TUTTE le lingue (incluso italiano) in t_testi_cnt_gallery
    // Prima elimina le traduzioni esistenti
    $sql = "DELETE FROM t_testi_cnt_gallery WHERE id_img = " . $id_img_salvato;
    $mydb->DoQuery($sql);
    
    // Inserisci tutte le traduzioni
    foreach($_vlanguage as $idx => $lang_code) {
        if($_vlanguage_enabled[$idx] == '1') {
            $titolo_lang = isset($_POST['titolo_'.$lang_code]) ? trim($_POST['titolo_'.$lang_code]) : '';
            $des_lang = isset($_POST['des_'.$lang_code]) ? trim($_POST['des_'.$lang_code]) : '';
            $testolink_lang = isset($_POST['testolink_'.$lang_code]) ? trim($_POST['testolink_'.$lang_code]) : '';
            
            $sql = "INSERT INTO t_testi_cnt_gallery (id_img, lang, titolo, testo, testolink, area) 
                    VALUES (
                        " . $id_img_salvato . ",
                        " . $mydb->Escape($lang_code) . ",
                        " . $mydb->Escape($titolo_lang) . ",
                        " . $mydb->Escape($des_lang) . ",
                        " . $mydb->Escape($testolink_lang) . ",
                        '0'
                    )";
            $mydb->DoQuery($sql);
        }
    }
    
    // Rimani nella schermata di editing
    $isubsezione = 1;
    $id = $id_img_salvato;
    $_POST['id'] = $id_img_salvato;
    $azione = '';
    
    // Messaggio di conferma
    echo "<div class='boxok' style='margin-bottom:20px; padding:15px; background:#d4edda; border:1px solid #c3e6cb; border-radius:4px; color:#155724;'>";
    echo "<strong>✓ Slide salvata con successo!</strong> Tutti i testi sono stati aggiornati.";
    echo "</div>";
}

// ELIMINAZIONE SLIDE
if($azione == 'elimina' && $id > 0) {
    
    // Recupera info immagine per eliminarla fisicamente
    $sql = "SELECT img FROM t_img_gallery WHERE id=" . $id;
    $mydb->DoSelect($sql);
    if($row = $mydb->GetRow()) {
        if($row['img'] != '') {
            $img_path = $path_gallery . $row['img'];
            if(file_exists($img_path)) {
                @unlink($img_path);
            }
        }
    }
    
    // Elimina le traduzioni
    $sql = "DELETE FROM t_testi_cnt_gallery WHERE id_img=" . $id;
    $mydb->DoQuery($sql);
    
    // Elimina dal database
    $sql = "DELETE FROM t_img_gallery WHERE id=" . $id;
    $mydb->DoQuery($sql);
    
    $azione = '';
}

?>
