$text .= '</select><input type="submit" name="submit" value="Accedi"> </form>'; $nickname = 'Profilo'; // Per il titolo della pagina } elseif (isset($_GET['nickname']) or isset($_POST['nickname'])) { // Prelevo il nickname if ($_GET['nickname']) { $nickname = $func->escape($_GET['nickname']); } elseif ($_POST['nickname']) { $nickname = $func->escape($_POST['nickname']); } // Mi connetto al database $db->connettidb(); // Effettuo la query per prelevare i dati $query = $db->query("SELECT nickname,email,grado,dataregistrazione,avatar FROM utenti WHERE nickname='{$nickname}'"); $count = $db->conta($query); if ($count <= 0) { $text = 'Utente non trovato.'; $nickname = 'Utente non trovato.'; } else { while ($riga = $db->estrai($query)) { $nickname = $func->rescape($riga->nickname); $email = $func->rescape($riga->email); $grado = $func->rescape($riga->grado); $dataregistrazione = $func->rescape($riga->dataregistrazione); $avatar = $func->rescape($riga->avatar); } // Mi disconnetto dal database $db->disconnettidb(); $text = '<div align="center"><h2>' . $nickname . '</h2>'; // Un controllo per l'avatar
if (isset($_POST['creanews'])) { // Creo le variabili con i dati $codice = $_COOKIE[$func->cookie()]; $autore = $db->nickname($codice); $titolo = $func->escape($_POST['titolo']); $categoria = $func->escape($_POST['categoria']); $news = $func->authescape($_POST['news']); $minititolo = $func->permalink($titolo); $ora = $data->ore_min(':'); $data = $data->data('-'); $striptitolo = $func->rescape($titolo); // Rimuovo gli slashes per il controllo nel db // Controllo se nel database non ci sia una news con un titolo uguale $db->connettidb(); $query = $db->query("SELECT titolo FROM news WHERE titolo = '{$titolo}'"); $conta = $db->conta($query); // Se esiste avviso e blocco lo script if ($conta > 0) { $text = 'Esiste già una news con lo stesso titolo. Prova a modificarlo e riprova.'; $smarty->assign("titolo", "Crea news"); $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"); exit; } // Altrimenti invio la news al database $query2 = $db->query("INSERT INTO news (autore, titolo, minititolo, news, categoria, data, ora) VALUES ('{$autore}', '{$titolo}', '{$minititolo}', '{$news}', '{$categoria}', '{$data}', '{$ora}')");
include_once "core/class.Functions.php"; include_once "rendering/config.php"; // Istanzio le classi $cms = new Ocarina(); $db = new MySQL(); $func = new Functions(); // Se si richiede la ricerca esegue if (isset($_POST['keyword']) && $_POST['keyword'] !== '') { // Prelevo la keyword $keyword = $func->escape($_POST['keyword']); // Mi connetto al database $db->connettidb(); // Effetto le query $query = $db->query("SELECT DISTINCT titolo,minititolo FROM pagine WHERE titolo LIKE '%" . $keyword . "%' OR contenuto LIKE '%" . $keyword . "%';"); $query2 = $db->query("SELECT DISTINCT titolo,minititolo FROM news WHERE titolo LIKE '%" . $keyword . "%' OR news LIKE '%" . $keyword . "%';"); $conta = $db->conta($query); $conta2 = $db->conta($query2); // Se non ci sono risultati if ($conta <= 0 and $conta2 <= 0) { $errore = 'Nessun risultato per la keyword immessa.'; // Visualizzo la pagina di errore $smarty->assign("titolo", "Nessun risultato per la keyword immessa » " . $cms->nomesito()); // Titolo della pagina $smarty->assign("errore", $errore); // Il contenuto della pagina $smarty->assign("description", $cms->description()); // La descrizione $smarty->assign("keywords", $cms->keywords()); // Le keywords $smarty->assign("numsezioni", $db->numsezioni()); // Numero sezioni
$smarty->assign("titolo", "Recupera password"); $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/index2.tpl"); exit; } if (isset($_POST['recuperapassword'])) { $nickname = $func->escape($_POST['nickname']); $email = $func->escape($_POST['email']); // Confronto i dati con il database $db->connettidb(); // Mi connetto al database $query = $db->query("SELECT nickname, email FROM utenti WHERE nickname='{$nickname}' AND email='{$email}'"); $conta = $db->conta($query); $db->disconnettidb(); // Mi disconnetto dal database // Verifico se i dati sono corretti per poi dare un errore if ($conta <= 0) { $text = 'I dati inseriti non sono associati a nessun account. Riprova verificando i dati immessi.'; $smarty->assign("titolo", "Recupera password"); $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/index2.tpl"); exit; } // Genero una nuova password con l'RNG e la inserisco nel database $rng = rng();
$query2 = $db->query("SELECT * FROM news WHERE minititolo='{$minititolo}'"); // Rinchiudo tutto nelle variabili while ($riga = $db->estrai($query2)) { $autore = $func->rescape($riga->autore); $titolo = $func->rescape($riga->titolo); $news = $func->rescape($riga->news); $categoria = $func->rescape($riga->categoria); } $text = ' <form method="post" action=""> Titolo:<br /><input name="newtitolo" type="text" size="30" value="' . $titolo . '"><br /> Categoria:<br /><select name="newcategoria">'; // Creo una select con tutte le categorie $result = $db->query("SHOW COLUMNS FROM news LIKE 'categoria'"); // Conto i risultati $righe = $db->conta($result); for ($i = 0; $i < $righe; $i++) { $row = mysql_fetch_row($result); $options = explode("','", preg_replace("/(enum|set)\\('(.+?)'\\)/", "\\2", $row[1])); $num = count($options); for ($g = 0; $g < $num; $g++) { if ($categoria == $options[$g]) { $text .= '<option value="' . $func->rescape($options[$g]) . '" SELECTED>' . $func->rescape($options[$g]) . '</option>'; } $text .= '<option value="' . $func->rescape($options[$g]) . '" ' . $selected . '>' . $func->rescape($options[$g]) . '</option>'; } } // Mi disconnetto dal database $db->disconnettidb(); $text .= '</select><br />News<br />' . $func->textareabbcode('newnews', $news) . '<br /><input type="hidden" name="minititolo" value="' . $func->escape($_POST['minititolo']) . '"><input name="modificanews" type="submit" value="Modifica"></form>'; $smarty->assign("titolo", "Modifica news");
$smarty->display("admin/index/index2.tpl"); exit; } // Prelevo i dati inseriti nel login if (isset($_POST['login'])) { $nickname = $func->escape($_POST['nickname']); $password = $func->escape($_POST['password']); // Elimino gli spazi superflui e inserisco gli slash $password = $func->hash($password); // Converto in un algoritmo di hash // Mi connetto al database $db->connettidb(); // Creo la query cercando una corrispondenza tra i dati di login $query = $db->query("SELECT nickname,password FROM utenti WHERE nickname='{$nickname}' AND password='******'"); // Verifico se la query ha dato risultati $risultati = $db->conta($query); // Se non ci sono state corrispondenze dò il messaggio di login fallito if ($risultati <= 0) { $text = 'Il login non è stato effettuato.<br />Controlla i dati immessi e riprova.'; // Visualizzo la pagina $smarty->assign("titolo", "Login"); $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/index2.tpl"); } elseif ($risultati > 0) { $rng = rng(); $query2 = $db->query("UPDATE utenti SET codice = '{$rng}' WHERE nickname='{$nickname}' AND password='******'");
include_once "core/class.MySQL.php"; include_once "core/class.Functions.php"; include_once "rendering/config.php"; include_once "etc/function.BBCode.php"; include_once "etc/class.Autokeyword.php"; include_once "etc/function.Autodescription.php"; // Istanzio le classi $cms = new Ocarina(); $db = new MySQL(); $func = new Functions(); // Mi connetto al database $db->connettidb(); // Scarico la sezione $titolo_get = $func->escape($_GET['titolo']); $query = $db->query("SELECT * FROM pagine WHERE minititolo='{$titolo_get}'"); $righe = $db->conta($query); // Se la sezione esiste la prelevo if ($righe > 0) { while ($riga = $db->estrai($query)) { $titolo = $func->rescape($riga->titolo); $contenuto = bbcode($func->rescape($riga->contenuto)); } $description = autodescription($contenuto, 120); // Descrizione di 120 caratteri $setkeyword['content'] = $contenuto; // Testo $setkeyword['min_word_length'] = 5; // Caratteri minimi singola keyword $setkeyword['min_word_occur'] = 2; // Presenza delle parole nel testo perchè diventino keyword $setkeyword = new autokeyword($setkeyword, "iso-8859-1");
// 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"; include_once "etc/function.Ricercaarray.php"; // Istanzio le classi $cms = new Ocarina(); $db = new MySQL(); $func = new Functions(); // Mi connetto al database $db->connettidb(); // Scarico le categorie $categoria = $func->escape($_GET['categoria']); $query = $db->query("SHOW COLUMNS FROM news LIKE 'categoria'"); $righe = $db->conta($query); $query2 = $db->query("SHOW COLUMNS FROM pagine LIKE 'categoria'"); $righe2 = $db->conta($query); for ($i = 0; $i < $righe; $i++) { $row = mysql_fetch_row($query); $options = explode("','", preg_replace("/(enum|set)\\('(.+?)'\\)/", "\\2", $row[1])); } for ($i = 0; $i < $righe2; $i++) { $row2 = mysql_fetch_row($query2); $options2 = explode("','", preg_replace("/(enum|set)\\('(.+?)'\\)/", "\\2", $row2[1])); } // Cerco nell' array $cerca = ricercaarray($options, $categoria); // Cerco nell' array $cerca2 = ricercaarray($options2, $categoria2); // Se la categoria non esiste diamo l'errore