Esempio n. 1
0
    $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">
';
Esempio n. 3
0
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");