/*################################ SAIBAL NEWS 2 ############################### Script creato da saibal [http://www.lorenzone.it / saibal@lorenzone.it] Prima versione iniziata nell'Ottobre del 2003 Questo script è la mia opera maestra. Speriamo solo valga la pena distribuirlo Lo dedico a tutti quanti mi hanno aiutato fino ad oggi Baci ai pupi Saibal alias Lorenzo ###############################################################################*/ error_reporting(0); // INSERITE I DATI DI CONNESSIONE AL VOSTRO DATABASE $db_host = "localhost"; $db_login = "noanyjpg_ansia"; $db_pass = "?cosa6SCEMO?"; $database = "noanyjpg_ansia_db"; // PARTENDO DALLA ROOT PRINCIPALE, IMPOSTATE LE CARTELLE CHE PORTANO ALLO SCRIPT // Es.: se avete inserito lo script in http://www.sito.it/news/ lasciate i dati invariati // Es:. se avete inserito lo script in http://www.sito.it/ciccio/porco/news/ inserite: "ciccio/porco/news" // NON INSERITE NE' LO SLASH INIZIALE, NE' LO SLASH FINALE $folder_script = "news-utenti"; // PREFISSO PER IL NOME DELLE TABELLE // se stai facendo un upgrade controlla il prefisso nel vecchio file config.inc.php (deve essere uguale) $table_suffix = "saibalnews_"; // NOME DELLE TABELLE (consiglio di non cambiare) $tab_cat = $table_suffix."_categorie"; $tab_art = $table_suffix."_articoli"; $tab_art_pag = $table_suffix."_paginazione"; $tab_com = $table_suffix."_commenti"; $tab_voto = $table_suffix."_voti"; $tab_ip = $table_suffix."_ip"; $tab_user = $table_suffix."_users"; $tab_loghi = $table_suffix."_loghi"; $tab_settings = $table_suffix."_settings"; $tab_smilie = $table_suffix."_faccine"; $tab_words = $table_suffix."_words"; $tab_search = $table_suffix."_search"; $tab_ref = $table_suffix."_referer"; // ORE DI DIFFERENZA TRA IL SERVER E IL TUO FUSO ORARIO (INSERIRE ANCHE VALORI NEGATIVI) $differenza_ora = 0; // SE INSTALLATE LO SCRIPT SU UN DOMINIO DI 2° LIVELLO NON MODIFICARE QUESTA VARIABILE // Es. di dominio di 2° livello: http://www.lorenzone.it oppure http://www.google.com etc etc // SE INSTALLATE LO SCRIPT IN UN SOTTODOMINIO REALE CAMBIATE $_SERVER["DOCUMENT_ROOT"] CON $_SERVER["SITE_ROOT"] // Es. di sottodominio: http://sesso.lorenzone.it oppure http://forum.html.it etc etc // ATTENZIONE!! IL SOTTODOMINIO DEVE ESSERE REALE E NON VIRTUALE!!!!! $root = $_SERVER["DOCUMENT_ROOT"]; /* I parametri che seguono dovrebbero essere cambiati raramente. Per questo motivo non sono stati resi modificabili attraverso l'amministrazione ma vanno impostati manualmente prima dell'installazione dello script */ /*============================*/ /* SEZIONE PUBBLICA */ /*============================*/ // scegli cosa inserirai: news, articoli, saggi etc etc. La parola deve essere al plurale DEFINE('SITE_TYPE', 'News'); // impostate il genere della parola scelta (se maschile o femminile). Valori impostabili "m" o "f" DEFINE('SITE_TYPE_MF', 'f'); // definizione per "scritto da" riferito all'articolo o news DEFINE('WRITE_BY', 'Scritto da'); // definizione per l'autore quando non c'è nessun utente registrato corrispondente DEFINE('DEFAULT_WRITER', 'Redazione'); // intestazione tabella ultimi inseriti DEFINE('LAST_INSERITI', 'Ultimi inseriti'); // intestazione tabella più visti DEFINE('PLUS_VISITE', 'Più letti'); // intestazione tabella più commentati DEFINE('PLUS_COMMENTI', 'Più commentati'); // intestazione ultimi commenti DEFINE('LAST_COMMENTI', 'Ultimi commenti'); // lunghezza minima della password per gli utenti (consiglio di non scendere sotto 6; massimo 50) DEFINE('PASS_LENGTH', 5); // tempo di durata del cookie che registra i dati degli utenti per i form dei commenti etc (in giorni) DEFINE('COOKIE_LIFE', 14); // tempo di durata del cookie che registra le pagine preferite in un cookie (in giorni) DEFINE('COOKIEBOOKMARK_LIFE', 14); // scegli il tipo di carattere per la censura delle parole DEFINE('CENS_CHAR', '*'); // scegli la lunghezza delle parole da spezzare nei commenti DEFINE('WWRAP_LONG', 20); // scegli il numero di parole per i titoli prima che vengano tagliati (solo in alcune pagine) DEFINE('CUT_TITLE', 8); // scegli il numero di parole per le categorie prima che vengano tagliati (solo in alcune pagine) DEFINE('CUT_CAT', 5); // scegli se permettere l'html nei commenti (sconsigliato). Valori impostabili 'n' o 'y' DEFINE('HTML_COM', 'n'); // nome immagine NEW DEFINE('IMGNEW', 'new.png'); // immagine HOT DEFINE('IMGHOT', 'hot.png'); // immagine trasparente DEFINE('SHIM', 'shim.gif'); // definizione per il colore di sfondo delle codice QUOTE DEFINE('QUOTE_BGCOLOR', '#dfefff'); // definizione per il colore di sfondo del codice CODE DEFINE('CODE_BGCOLOR', '#eff4f9'); // messaggi vari DEFINE('REDIR_REGISTERED', 'Tra poco verrai rimandato alla pagina di provenienza'); DEFINE('OK_BOOKMARK', 'La pagina è stata aggiunta ai bookmark'); DEFINE('YET_BOOKMARK', 'La pagina è già presente tra i bookmark'); DEFINE('NOT_COOKIEBOOKMARK', 'Il cookie è vuoto o non esiste'); DEFINE('NO_RESULTCOOKIEBOOKMARK', 'I record memorizzati non sono più disponibili'); DEFINE('DELETE_COOKIEBOOKMARK', 'La pagina è stata cancellata dai bookmark'); DEFINE('REGISTERED', 'Il tuo voto è stato registrato con successo'); DEFINE('NOT_REGISTERED', 'Attenzione! Hai già assegnato un voto'); DEFINE('MAILED', 'La tua segnalazione è stata inoltrata con successo'); DEFINE('APPROVE_COM','I commenti devono essere approvati prima della pubblicazione'); // messaggi di errore DEFINE('CAT_NO', 'La categoria non esiste!'); DEFINE('NO_CATART', 'Nessun record in questa categoria'); DEFINE('CAT_NOVISIBLE', 'La categoria non è più disponibile'); DEFINE('NO_IDCAT', 'ID della categoria non specificato!'); DEFINE('NO_IDART', 'ID del record non specificato!'); DEFINE('NO_ART', 'La categoria o il record non esiste!'); DEFINE('NO_SENDPERMISSION', 'Attenzione! Autorizzazione negata!'); DEFINE('NO_EMAIL', 'Il campo EMAIL è obbligatorio!'); DEFINE('NO_NAME', 'Il campo NOME è obbligatorio!'); DEFINE('NO_TESTO', 'Il campo SEGNALAZIONE è obbligatorio!'); DEFINE('NO_PERMITCOMMENT', 'L\'Amministratore ha scelto di disabilitare i commenti'); DEFINE('NO_COMOGGETTO', 'Il campo OGGETTO è obligatorio!'); DEFINE('NO_COMTESTO', 'Il campo COMMENTO è obligatorio!'); DEFINE('NO_PERMITVOTE', 'L\'Amministratore ha scelto di disabilitare le votazioni'); DEFINE('NO_PERMITREPORT', 'L\'Amministratore ha scelto di disabilitare le segnalazioni'); DEFINE('NO_VOTO', 'Voto non specificato!'); DEFINE('NO_PERMITSEARCH', 'L\'Amministratore ha scelto di disabilitare la ricerca'); DEFINE('NO_WORDSEARCH', 'Inserisci almeno un termine di ricerca'); DEFINE('NO_RESULT', 'Nessun risultato trovato'); DEFINE('NO_SEARCHRESULT', 'Spiacenti ma la ricerca non ha prodotto nessun risultato'); DEFINE('NO_CHECK', 'Non hai selezionato nessun record!'); DEFINE('NO_PERMITDOWNLOAD', 'L\'Amministratore ha scelto di disabilitare i download'); DEFINE('NO_DOWNLOADNAME', 'Titolo dell\'articolo/news non specificato!'); DEFINE('NO_DOWNLOADEXSIST', 'Il file per il download non esiste!'); DEFINE('NO_MESE', 'Il mese manca o non è nella forma corretta'); DEFINE('NO_ANNO', 'L\'anno manca o non è nella forma corretta'); DEFINE('NO_ARCHIVIO', 'Nessun record disponibile nell\'archivio'); DEFINE('NO_ARCHIVIO_BYDATE', 'Nessun record disponibile in questa data'); DEFINE('NO_PERMITSTATS', 'L\'Amministratore ha scelto di disabilitare le statistiche pubbliche'); DEFINE('ERROR_DOWNLOADDIR', 'Il download di questo file non è consentito!'); /*============================*/ /* SEZIONE DI AMMINISTRAZIONE */ /*============================*/ // definisci il "tag" che farà da separatore per l'anteprima statico n°2 (si consiglia di non cambiarlo) DEFINE('PREVIEW_BLOCK', '[saibalblock]'); // scegli se attivare i messaggi privati (solo se con librerie GD installate). Valori impostabili 'y' o 'n' DEFINE('ACTIVE_USERONLINE', 'y'); // definisci la lunghezza minima delle parole da indicizzare nel motore di ricerca DEFINE('MIN_INDICIZZA', 3); // definisci la lunghezza massima delle parole da indicizzare nel motore di ricerca DEFINE('MAX_INDICIZZA', 15); // definisci il peso massimo dell'immmagini da poter caricare sul server (in Kbit) DEFINE('MAX_IMG_PESO', 500000); // misure per le miniature delle immagini caricate sul server (in pixel - alt. e larg.) DEFINE('ALT_THUMB', 80); DEFINE('LAR_THUMB', 80); // misure per le miniature dei loghi quando questi sono troppo grandi (in pixel-alt. e larg.) DEFINE('ALT_THUMB_LOGO', 60); DEFINE('LAR_THUMB_LOGO', 80); // definisci la paginazione articoli correlati (pop up amministrazione) DEFINE('LIMIT_CORRELA', 8); // definisci la paginazione IP di votazione (amministrazione) DEFINE('LIMIT_IP', 20); // definisci la paginazione degli smilies (amministrazione) DEFINE('LIMIT_SMILIES', 20); // scegli la lunghezza delle parole da spezzare nei menù a tendina DEFINE('CUT_CAT_ADMIN', 6); // icone per l'estensione nella pagina viewall_file.php DEFINE('IMAGE', 'icona_image.png'); DEFINE('ZIP', 'icona_zip.png'); DEFINE('RAR', 'icona_winrar.png'); DEFINE('GZ', 'icona_winrar.png'); DEFINE('EXT_NONE', 'icona_undefined.png'); DEFINE('SOUND', 'icona_sound.png'); DEFINE('EXE', 'icona_exe.png'); DEFINE('VIDEO', 'icona_video.png'); DEFINE('DOC', 'icona_doc.png'); // ====================================================================================================== \\ // FINE PERSONALIZZAZIONE \\ // ADESSO NON TOCCARE NIENTE ALTRIMENTI SUCCEDE UN CASINO \\ // ====================================================================================================== \\ $db_accesso = @mysql_connect ("$db_host", "$db_login", "$db_pass") or die("
In questo momento non è possibile comunicare con il database per recuperare le informazioni richieste. Sei pregato di ritornare tra qualche minuto. VAI ALLA HOMEPAGE DI NIENTEANSIA.IT
"); @mysql_select_db ($database, $db_accesso) or die("Database non selezionato"); //imposto il percorso ai template $script_path = (trim($folder_script) == "") ? $root : $root."/".$folder_script; $pub_tempdir = $script_path."/template"; $admin_tempdir = $script_path."/_admin/template"; //custom header-footer $custom_header = $script_path."/head-foot/header.php"; $custom_footer = $script_path."/head-foot/footer.php"; //array dei livelli utenti validi $valid_level = array(1,2,3,5); //codice di attivazione univoco $activation_code_random = md5(uniqid(rand(), true)); //nomi per i file statici inclusi (devono avere tutti nomi diversi) $static_preview = "anteprima.inc"; $static_last = "last.inc"; $static_visit = "visit.inc"; $static_lastcom = "lastcom.inc"; $static_pluscom = "pluscom.inc"; $static_cat = "singlecat_"; //parte relativa al backup del database $backup_path = $script_path."/_admin/backup"; //nome da dare al backup $backup_name = "saibalnews_" .date("d_m_y__H_i_s"). ".sql"; //nome da dare al backup zippato $backup_zip_name= "saibalnews_" .date("d_m_y"). ".zip"; //variabili generiche $top_space = ""; $autore = "Lorenzo 'Saibal' Forti - http://www.lorenzone.it"; $generator = "Saibal News"; $script_version = "2.2"; $i = 0; $offset = 60 * 60 * $differenza_ora; $versione_php = phpversion(); $agent = getenv("HTTP_USER_AGENT"); $quote_bgcolor = QUOTE_BGCOLOR; $code_bgcolor = CODE_BGCOLOR; $preview_block = PREVIEW_BLOCK; $cut_cat_admin = CUT_CAT_ADMIN; //definisco l'intestazione in base al tipo di materiale: se news o articoli $site_type = SITE_TYPE; $type_low = strtolower($site_type); //questa var serve per cambiare percorso alle immagini dei template $folder_img = ""; $_GET["action"] = isset($_GET["action"]) ? $_GET["action"] : ""; $_GET["step"] = (!isset($_GET["step"]) || empty($_GET["step"])) ? 0 : $_GET["step"]; //if (!isset($_GET["step"]) || empty($_GET["step"])) $_GET["step"] = 0; ######################################################################## # Tutte le funzioni che seguono, tranne qualcuna, sono made in Saibal # # Potete anche copiarle se volete... ma lasciate il copyright :) # # copyright 2001 - 2004 # ######################################################################## ################################ /* FUNZIONI VARIE */ #################################### # NON TOCCARE # ########################################################################################## //variabili per rendere lo script compatibile anche con PHP 4.2 - copyright di Chris if (!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))) { $_GET =& $HTTP_GET_VARS; $_POST =& $HTTP_POST_VARS; $_SERVER =& $HTTP_SERVER_VARS; $_ENV =& $HTTP_ENV_VARS; $_COOKIE =& $HTTP_COOKIE_VARS; $_FILES =& $HTTP_POST_FILES; $_SESSION =& $HTTP_SESSION_VARS; } //codicillo per evitare problemi se il get_magic_quotes_gpc() è OFF if (get_magic_quotes_gpc() == 0) { foreach ($_POST as $post_key => $post_value) { if (isset($_POST["$post_key"]) && !is_array($_POST["$post_key"])) { $_POST["$post_key"] = mysql_real_escape_string($_POST["$post_key"]); $_POST["$post_key"] = str_replace("\\\"",""",$_POST["$post_key"]); $_POST["$post_key"] = str_replace("\\r","\r",$_POST["$post_key"]); $_POST["$post_key"] = str_replace("\\n","\n",$_POST["$post_key"]); } } } // ======================================== // ############################## /* DATE E ORARI VARI */ ################################### # # ########################################################################################## //variabili per la data $now = time(); $search_day = time() - 60 * 60 * 24 * 1; $search_week = time() - 60 * 60 * 24 * 7; $search_twoweek = time() - 60 * 60 * 24 * 14; $search_month = time() - 60 * 60 * 24 * 31; $search_year = time() - 60 * 60 * 24 * 365; $data_adesso = date("d/m/Y"); $ora_adesso = date("H:i:s"); $data_offset = formatta_data_ora($now); //array dei mesi per convertire la data in italiano $array_mesi = array( "1"=>"Gennaio", "2"=>"Febbraio", "3"=>"Marzo", "4"=>"Aprile", "5"=>"Maggio", "6"=>"Giugno", "7"=>"Luglio", "8"=>"Agosto", "9"=>"Settembre", "10"=>"Ottobre", "11"=>"Novembre", "12"=>"Dicembre" ); // ======================================== // ############################## /* FUNZIONI TEMPLATE */ ################################### # # ########################################################################################## //funzioni per i template (a cura di gm - http://www.myphp.it) function gettemp($template) { return str_replace("\"","\\\"",implode("",file($template))); } function printtemp($template) { echo $template; } // ======================================== // ############################ /* FORMATTAZIONI VARIE */ ################################### # # ########################################################################################## // FORMATTAZIONE PER LA DATA SENZA ORA function formatta_data($stringa) { $stringa = date("d/m/Y", $stringa); return $stringa; } // ======================================== // // FORMATTAZIONE PER LA DATA CON MESE COMPLETO O SENZA function formatta_data_ora($stringa, $tipo='') { global $offset, $array_mesi; $stringa = $stringa + $offset; if ($tipo != 3 && $tipo != 4) { $anno = date("Y", $stringa); $giorno = date("j", $stringa); $mese = $array_mesi[date("n", $stringa)]; $ora = date("H:i", $stringa); } if ($tipo == 1) { $stringa = $ora. " - ".$giorno." ".$mese." ".$anno; } elseif ($tipo == 2) { $stringa = $giorno." ".$mese." ".$anno; } elseif ($tipo == 3) { $stringa = date("H:i - d/m/Y", $stringa); } else { $stringa = ""; } return $stringa; } // ======================================== // // FORMATTAZIONE PER L'ORA SENZA DATA function formatta_ora($stringa) { $stringa = date("H:i:s", $stringa); return $stringa; } // ======================================== // // FORMATTAZIONE IN FASE DI USCITA function formatta($stringa,$html='') { $stringa = stripslashes($stringa); $stringa = nl2br($stringa); //vedo se interpretare l'html o no if($html == "n"){ $stringa = htmlspecialchars($stringa, ENT_QUOTES); $stringa = str_replace("&","&",$stringa); } return $stringa; } // ======================================== // // FORMATTAZIONE IN FASE DI USCITA SOLO PER I PVT function formatta_pvt($stringa) { $stringa = htmlspecialchars($stringa, ENT_QUOTES); $stringa = str_replace("&","&",$stringa); $stringa = str_replace("|acapo|","\\2
Citazione: |
\\2 |
\\2
Quote:", "
\\2
", "\\5 (\\1)" ); $stringa = preg_replace($array_ricerca, $array_sostituzione,$stringa); //vedo se parsare gli smile if ($parse_smile == "y") { //parsing degli smilies $query_smilie = @mysql_query("SELECT smilie_testo, smilie_faccina FROM $tab_smilie",$db_accesso); while ($smilie = mysql_fetch_assoc($query_smilie)) { $stringa = str_replace("$smilie[smilie_testo]","Codice:
\\2