$smarty->assign("titolo", "Modifica skin"); $smarty->assign("cookie", $db->auth($_COOKIE[$func->cookie()])); $smarty->assign("grado", $db->grado($_COOKIE[$func->cookie()])); $smarty->assign("contents", $text); $smarty->assign("url_cms", $cms->url_cms()); $smarty->assign("url_smartytpl", $cms->url_smartytpl()); $smarty->assign("cmsversion", $cms->cmsversion()); $smarty->display("admin/index/index.tpl"); $db->disconnettidb(); // Posso disconnettermi dal database exit; } $skin = $_POST['skin']; $template = $_POST['template']; // Apro il file $apritemplate = fopen($cms->dir_smarty() . '/templates/' . $skin . '/' . $template, "r"); // Lo leggo $leggitemplate = fread($apritemplate, filesize($cms->dir_smarty() . '/templates/' . $skin . '/' . $template)); // Lo chiudo fclose($apritemplate); // Se arriva la skin modificata si modifica if (isset($_POST['editaskin'])) { $skin = $_POST['skin']; $template = $_POST['template']; $newtemplate = $func->rescape($_POST['newtemplate']); // Apro il file $apritemplate2 = fopen($cms->dir_smarty() . '/templates/' . $skin . '/' . $template, "w"); // Ci scrivo i dati fwrite($apritemplate2, ''); fwrite($apritemplate2, $newtemplate); // Lo chiudo
/* Manda la skin a editaskin.php che la modifica */ // Includo le classi principali include_once "../../core/class.Ocarina.php"; include_once "../../core/class.MySQL.php"; include_once "../../core/class.Functions.php"; include_once "../../rendering/config.php"; // Istanzio le classi $cms = new Ocarina(); $db = new MySQL(); $func = new Functions(); $text = 'Grazie a questa pagina puoi modificare una skin.<br /> Per procedere, seleziona la skin che desideri modificare e clicca sul bottone "Modifica".<br /> Ricorda che però i percorsi dei file sono predefiniti, quindi in caso che alcuni file sono inseriti in cartelle diverse o con nomi diversi o non siano presenti non sarà possibile modificarli e si dovrà intervenire manualmente con un client FTP.<br /><br />'; // Apro la cartella dei template $dir = $cms->dir_smarty() . 'templates/'; $apri = opendir($dir); $f = array(); // Ciclo i file while (false !== ($tpldir = readdir($apri))) { if ($tpldir !== '.' and $tpldir !== '..' and $tpldir !== 'admin') { $f[] = $tpldir; } } // Li ordino sort($f); $text .= '<form action="editaskin.php" method="post"> <div align="center"> Seleziona skin:<br /> <select name="skin"> ';
include_once "../../rendering/config.php"; include_once "../../etc/class.PclZip.php"; // Istanzio le classi $cms = new Ocarina(); $db = new MySQL(); $func = new Functions(); // Controllo se arriva da installaskin.php if (isset($_POST['upload'])) { // Controllo che non ci siano stati errori nell'upload (codice = 0) if ($_FILES['uploadfile']['error'] == 0) { // Controllo che il file sia in formato zip if ($_FILES['uploadfile']['type'] != "application/zip") { die("Formato file non valido, è permesso solo il formato .zip"); } // Copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale copy($_FILES['uploadfile']['tmp_name'], $cms->dir_smarty() . 'templates/' . $_FILES['uploadfile']['name']) or die("Impossibile caricare la skin."); // Decomprimo lo zip $temp_unzip = $cms->dir_smarty() . 'templates/'; $temp_file = $cms->dir_smarty() . 'templates/' . $_FILES['uploadfile']['name']; $archive = new PclZip($temp_file); $list = $archive->extract(PCLZIP_OPT_PATH, $temp_unzip); $text .= "La skin è stata installata."; // Visualizzo la pagina $smarty->assign("titolo", "Carica skin"); $smarty->assign("cookie", $db->auth($_COOKIE[$func->cookie()])); $smarty->assign("grado", $db->grado($_COOKIE[$func->cookie()])); $smarty->assign("contents", $text); $smarty->assign("url_cms", $cms->url_cms()); $smarty->assign("url_smartytpl", $cms->url_smartytpl()); $smarty->assign("cmsversion", $cms->cmsversion()); $smarty->display("admin/index/index.tpl");