setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $ex) { echo "ERRORE! \n"; //user friendly message logerror($ex->getMessage()); die(); } */ //finepaolo #SET CHARACTER SET utf8; # codice per assegnare al db il charset corretto ad ogni connessione # fonte: http://www.zago-dev.net/appunti/programmazione/php/utilizzare-php-e-mysql-con-il-charset-utf-8.html $db_charset = mysql_query( "SHOW VARIABLES LIKE 'character_set_database'" ); $charset_row = mysql_fetch_assoc( $db_charset ); mysql_query( "SET NAMES '" . $charset_row['Value'] . "'" ); unset( $db_charset, $charset_row ); #$img_default = "head_image_ba.jpg"; #numero notizie per pagina #$_SESSION['limit'] = 10; #sostituito da funzione: #$limit = accesso_ro9_key_item_real2("modello", "all", $flag_news_titolo_p); #VARIABILE PER PAGINAZIONE $_SESSION['pag_per_blocco'] = 5; ########DESTINATARI EMAIL X CONTATTO $casella = "info"; $param2 = accesso_ro9_key_item("param", "all", 2); $destinatari = $casella . "@" . $param2[0]; ##########inizializzazione variabili################## if (isset($_GET['z_desc'])) {$z_desc = $_GET['z_desc'];} else {$z_desc = "home";} #if (isset($_GET['i_desc'])) # {$i_desc = $_GET['i_desc'];} #else # {$i_desc = "";} #if (isset($_GET['z'])) # {$z = $_GET['z'];} #else # {$z = 0;} if (isset($_GET['g'])) {$g = $_GET['g'];} else { $_SESSION['g'] = 1; $g = 1; } /* paolo leggo il campo pagina - (titolo normalizzato) da tbl_pagine_new sezione link attivi */ #if (isset($_GET['i'])) # {$i = $_GET['i'];} #else # {$i = 0;} if (isset($_GET['f'])) $f = $_GET['f']; else { $_SESSION['f'] = 1; $f = 1; } /* per htaccess */ function get_g_by_titolo($titolopagina) { $sql="select idpagina from tbl_pagine_new where pagina='$titolopagina'"; $valori=Database::fetchrow($sql); if(isset($valori["idpagina"])) { return $valori["idpagina"]; } else return 0; } /* if (isset($_GET["f"])) $f = $_GET["f"]; else $f = 1; */ $param = explode('/' , $_SERVER["REQUEST_URI"]); //scostamento vale 0 se si trova nella root $scostamento = 3; //conto quanti paramentri $nelem = count($param); $ultimo = $param[($nelem-1)]; //http://stackoverflow.com/questions/2012187/how-to-check-that-a-string-is-an-int-but-not-a-double-etc if (ctype_digit($ultimo)) { $titolopag = $param[($nelem-2)]; $f = $ultimo; $_SESSION['f'] = $f; // echo "int "; } else { $titolopag = $ultimo; } if (($titolopag=="") &&($nelem==3) ) { //siamo in home (es.: /it o /en) $g = 1; } else { if (($titolopag=="") ) { $titolopag = $param[($nelem-2)]; } $g = get_g_by_titolo($titolopag); } //f non definito //var_dump($param); #risolve problema REGISTER_GLOBALS OFF (tipo tophost) foreach($_GET AS $key => $value) { ${$key} = $value; } foreach($_POST AS $key => $value) { ${$key} = $value; } ############VARIABILI PER L'UPLOAD################ ###generali $limite_alle_dimensioni = "si"; //do you want size limitations yes or no $dimensione_max = 3000000; // 3 mega #lettura tabella generica commenti (per tutti i tipi news) #qui ci sono i campi descrizione dei commenti per l'utente #inoltre contiene i giorni di scadenza entro i quali è possibile #inserire i commenti alle notizie (tutte) $_SESSION['img_dir_da_admin'] = "../public"; $_SESSION['img_dir'] = "./public"; $_SESSION['img_dir_abs'] = "/public"; #################### ### per i paragrafi #$updir_paragrafi = "/var/www/999/./img"; #$size_paragrafi = "25000"; //if you want size limited how many bytes ### per le news #$updir_news = "/var/www/bloup/images/news"; #$size_news = "25000"; //if you want size limited how many bytes ### per i file #$size_filez = "30000000"; //if you want size limited how many bytes #blocks $ro9key_blocks = "blocks"; ?>

"; $msg = $msg. "Grazie " . $nome . " per esserti registrato! " . "
"."
"; $msg = $msg. "Questa mail contiene la password che ti servirà per accedere all'area riservata del sito www.kinocchio.com, dove potrai iscriverti ai nostri workshops." . "
"."
"; $msg = $msg. "Utenza: $email" ."
"; $msg = $msg. "Password: ". $word ."


"; $msg = $msg. ""; $msg = $msg . "Questa e-mail ti è stata inviata perché hai effettuato la registrazione sul sito www.kinocchio.com. Se questa non era la tua intenzione, comunicacelo all'indirizzo info@kinocchio.com.
Grazie!
"; #echo "$msg"; #VIENE SPEDITA COPIA ANCHE ALL'UTENTE $headers = "From: registrazione@kinocchio.com" . "\n" . "Reply-To: info@kinocchio.com" . "\n"; # $header .= "Cc: " . $email . "\r\n"; # $headers .= "Bcc: " . "\n"; //$headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n"; $headers .= "X-Mailer: PHP ".phpversion(); // costruiamo le intestazioni specifiche per il formato HTML $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $headers .= "Content-Transfer-Encoding: 7bit\n\n"; $destinatari = $email; /* $destinatari = "info@***.***" . ", ";*/ /* $destinatari .= ""; */ $ok=mail($destinatari, $oggetto_mail, $msg, $headers); ini_set("SMTP", "mail2.nozonenet.com"); ini_set("smtp_port","25"); ini_set("sendmail_from","registrazione@kinocchio.com"); #echo $ok?"

Mail Sent

":"

Mail not SEND

"; } function form_utente_bloom($nome,$cognome,$email,$word,$mylingua) { $oggetto_mail = "Registration to Kinocchio-Moving Images website"; $oggetto_mail = strip_tags($oggetto_mail); //$ro9_desc = accesso_ro9_key_item("config", $mylingua, 0); $msg = "

"; $msg = $msg. "Thanks " . $nome . " for signing up to Kinocchio-Moving Images website!" . "
"."
"; $msg = $msg. "This email contains the password that you will need to access the private area, where you can complete the subscription to our workshops." . "
"."
"; $msg = $msg. "User: $email" ."
"; $msg = $msg. "Password: ". $word ."


"; #echo "$msg"; #VIENE SPEDITA COPIA ANCHE ALL'UTENTE $headers = "From: registrazione@kinocchio.com" . "\n" . "Reply-To: info@kinocchio.com" . "\n"; # $header .= "Cc: " . $email . "\r\n"; # $headers .= "Bcc: " . "\n"; //$headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n"; $headers .= "X-Mailer: PHP ".phpversion(); // costruiamo le intestazioni specifiche per il formato HTML $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $headers .= "Content-Transfer-Encoding: 7bit\n\n"; $destinatari = $email; /* $destinatari = "info@***.***" . ", ";*/ /* $destinatari .= ""; */ $ok=mail($destinatari, $oggetto_mail, $msg, $headers); ini_set("SMTP", "mail2.nozonenet.com"); ini_set("smtp_port","25"); ini_set("sendmail_from","registrazione@kinocchio.com"); #echo $ok?"

Mail Sent

":"

Mail not SEND

"; } function form_iscritto($nome,$cognome,$email,$pass,$data,$ind,$citta,$prov,$cap,$tel,$mylingua) { $oggetto_mail = "Un nuovo utente si è iscritto all'anagrafe di Kinocchio!"; $ro9_desc = accesso_ro9_key_item("config", $mylingua, 0); $msg = "Ricevi questa e-mail perché un nuovo utente si è pre-registrato attraverso il form del sito " . $ro9_desc[0] . "\n"."\n"; $msg = $msg.''. "Nome: ". $nome ."\n"; $msg = $msg.''. "Cognome: ". $cognome ."\n"; $msg = $msg.''. "E-mail mittente: ". $email ."\n"; $msg = $msg.''. "Password: ". $pass ."\n"; $msg = $msg.''. "Data di nascita : ". $data ."\n"; $msg = $msg.''. "Indirizzo: ". $ind ."\n"; $msg = $msg.''. "Città: ". $citta ."\n"; $msg = $msg.''. "Provincia: ". $prov ."\n"; $msg = $msg.''. "CAP: ". $cap ."\n"; $msg = $msg.''. "Telefono: ". $tel ."\n"; #echo "$msg"; #VIENE SPEDITA COPIA ANCHE ALL'UTENTE $headers = "From: "."\n" . "Reply-To: "."\n". 'X-Mailer: PHP/' . phpversion(); # $headers .= "Cc: " . $email . "\r\n"; /* $headers .= "Bcc: ...@gmail.com, ...@gmail.com" . "\r\n";*/ $destinatari = ", "; # $destinatari = ""; # $destinatari = ""; /* $destinatari = "info@***.***" . ", ";*/ /* $destinatari .= ""; */ $ok=mail($destinatari, $oggetto_mail, $msg, $headers); ini_set( "SMTP", "mail2.nozonenet.com" ); ini_set("smtp_port","25"); ini_set("sendmail_from","info@kinocchio.com"); # echo $ok?"

Mail Sent

":"

Mail not SEND

"; } function form_utente_ws($ws_desc_ws,$email,$mylingua) { //$mail_boundary = "=_NextPart_".md5(uniqid(time())); //Genera un boundary //$msg = "\n--$mail_boundary\n"; //$msg = "Content-Type: text/html; charset=\"iso-8859-1\"\n"; //$msg .= "Content-Transfer-Encoding: 8bit\n\n"; $oggetto_mail = "Conferma registrazione al workshop ".$ws_desc_ws; $msg = "

"; $msg = $msg. "Grazie " . $email . " per esserti registrato al workshop ".$ws_desc_ws."!
"."
"; $msg = $msg. "Ti contatteremo al più presto per darti maggiori informazioni riguardanti la tua partecipazione." . "
"."
"; $msg = $msg. "
"; $msg = $msg . "Questa e-mail ti è stata inviata perché hai effettuato la registrazione ad uno dei nostri workshop sul sito www.kinocchio.com. Se questa non era la tua intenzione, comunicacelo all'indirizzo info@kinocchio.com.
Grazie!
"; #echo "$msg"; #VIENE SPEDITA COPIA ANCHE ALL'UTENTE $headers = "From: registrazione@kinocchio.com" . "\n" . "Reply-To: info@kinocchio.com" . "\n" . # $header .= "Cc: " . $email . "\r\n"; /* $headers .= "Bcc: ...@gmail.com, ...@gmail.com" . "\r\n";*/ //$headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n"; $headers .= "X-Mailer: PHP ".phpversion(); // costruiamo le intestazioni specifiche per il formato HTML $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $headers .= "Content-Transfer-Encoding: 7bit\n\n"; $destinatari = $email; /* $destinatari = "info@***.***" . ", ";*/ /* $destinatari .= ""; */ $ok=mail($destinatari, $oggetto_mail, $msg, $headers); ini_set( "SMTP", "mail2.nozonenet.com" ); ini_set("smtp_port","25"); #echo $ok?"

Mail Sent

":"

Mail not SEND

"; } function form_utente_ws_bloom ($ws_desc_ws,$email,$mylingua) { //$mail_boundary = "=_NextPart_".md5(uniqid(time())); //Genera un boundary //$msg = "\n--$mail_boundary\n"; //$msg = "Content-Type: text/html; charset=\"iso-8859-1\"\n"; //$msg .= "Content-Transfer-Encoding: 8bit\n\n"; $oggetto_mail = "Registration Confirmation to the workshop ".$ws_desc_ws; $msg = "

"; $msg = $msg. "Grazie " . $email . " per esserti registrato al workshop ".$ws_desc_ws."!
"."
"; $msg = $msg. "Ti contatteremo al più presto per darti maggiori informazioni riguardanti la tua partecipazione." . "
"."
"; $msg = $msg. "
"; $msg = $msg . "Questa e-mail ti è stata inviata perché hai effettuato la registrazione ad uno dei nostri workshop sul sito www.kinocchio.com. Se questa non era la tua intenzione, comunicacelo all'indirizzo info@kinocchio.com.
Grazie!
"; #echo "$msg"; #VIENE SPEDITA COPIA ANCHE ALL'UTENTE $headers = "From: registrazione@kinocchio.com" . "\n" . "Reply-To: info@kinocchio.com" . "\n" . # $header .= "Cc: " . $email . "\r\n"; /* $headers .= "Bcc: ...@gmail.com, ...@gmail.com" . "\r\n";*/ //$headers .= "Content-Type: multipart/alternative;\n\tboundary=\"$mail_boundary\"\n"; $headers .= "X-Mailer: PHP ".phpversion(); // costruiamo le intestazioni specifiche per il formato HTML $headers .= "MIME-Version: 1.0\n"; $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $headers .= "Content-Transfer-Encoding: 7bit\n\n"; $destinatari = $email; /* $destinatari = "info@***.***" . ", ";*/ /* $destinatari .= ""; */ $ok=mail($destinatari, $oggetto_mail, $msg, $headers); ini_set( "SMTP", "mail2.nozonenet.com" ); ini_set("smtp_port","25"); #echo $ok?"

Mail Sent

":"

Mail not SEND

"; } function form_iscritto_ws($ws_desc_ws,$email,$ws_ruoli_pref,$ws_modalita,$ws_componenti,$ws_bio,$ws_motivaz, $ws_proj_idea,$ws_link,$ws_pagam,$anag_az,$anag_cf,$anag_piva,$mylingua) { $oggetto_mail = "L'utente ".$email." si è iscritto al workshop ".$ws_desc_ws; $msg = "Ricevi questa e-mail perché l'utente in oggetto si è registrato al workshop " . $ws_desc_ws . "\n"."\n"; $msg = $msg.''. "E-mail mittente: ". $email ."\n"; list($anag_nome, $anag_cognome,$anag_data,$anag_ind,$anag_citta,$anag_prov,$anag_cap,$anag_tel) = recupera_anag($email); $msg = $msg.''. "Nome: ". $anag_nome ."\n"; $msg = $msg.''. "Cognome: ". $anag_cognome ."\n"; $msg = $msg.''. "Data di nascita: ". $anag_data ."\n"; $msg = $msg.''. "Indirizzo: ". $anag_ind ."\n"; $msg = $msg.''. "Città: ". $anag_citta ."\n"; $msg = $msg.''. "Provincia: ". $anag_prov ."\n"; $msg = $msg.''. "CAP: ". $anag_cap ."\n"; $msg = $msg.''. "Telefono: ". $anag_tel ."\n"; $msg = $msg.''. "------- "."\n"; $msg = $msg.''. "Workshop: ". $ws_desc_ws ."\n"; $msg = $msg.''. "Ruoli preferiti: ". $ws_ruoli_pref ."\n"; $msg = $msg.''. "Modalità: ". $ws_modalita ."\n"; $msg = $msg.''. "Componenti: ". $ws_componenti ."\n"; $msg = $msg.''. "Bio: ". $ws_bio ."\n"; $msg = $msg.''. "Motivazione: ". $ws_motivaz ."\n"; $msg = $msg.''. "Idea di progetto: ". $ws_proj_idea ."\n"; $msg = $msg.''. "Link: ". $ws_link ."\n"; $msg = $msg.''. "Pagamento: ". $ws_pagam ."\n"; $msg = $msg.''. "Azienda: ". $anag_az ."\n"; $msg = $msg.''. "COD. FISC.: ". $anag_cf ."\n"; $msg = $msg.''. "P.IVA: ". $anag_piva ."\n"; #echo "$msg"; #VIENE SPEDITA COPIA ANCHE ALL'UTENTE $headers = "From: info@kinocchio.com" . "\n" . "Reply-To: info@kinocchio.com" . "\n" . "'X-Mailer: PHP/" . phpversion(); # $headers .= "Cc: " . $email . "\r\n"; /* $headers .= "Bcc: ...@gmail.com, ...@gmail.com" . "\r\n";*/ $destinatari = ", "; /* $destinatari = "info@***.***" . ", ";*/ /* $destinatari .= ""; */ $ok=mail($destinatari, $oggetto_mail, $msg, $headers); ini_set( "SMTP", "mail2.nozonenet.com" ); ini_set("smtp_port","25"); # echo $ok?"

Mail Sent

":"

Mail not SEND

"; } function crea_pwd() { # lunghezza della password a 8 caratteri $lung_pass = 8; // Creo un ciclo for che si ripete per il valore di $lung_pass for ($x=1; $x<=$lung_pass; $x++) { // Se $x è multiplo di 2... if ($x % 2){ // Aggiunge una lettera casuale usando chr() in combinazione // con rand() che genera un valore numerico compreso tra 97 // e 122, numeri che corrispondono alle lettere dell'alfabeto // nella tabella dei caratteri ASCII $mypass = $mypass . chr(rand(97,122)); // Se $x non è multiplo di 2... }else{ // Aggiungo alla password un numero compreso tra 0 e 9 $mypass = $mypass . rand(0,9); } } return $mypass; } function verifica_pass($username, $password) { $clean_password = clean_query_login($password); # prevent sql inj $pas_verifica = sha1($clean_password.$username); $userin = verifica_anag($username, $pas_verifica); //verifica utente #echo "userin " . $userin; if ($userin == 0) { echo "

Utenza non valida/inesistente o password errata. Riprova.

"; } else { if ($userin == 1) { # redirect pagina ws $_SESSION['userin'] = $userin; #salva in sessione # se area riservata $_SESSION['username'] = $username; #echo "email " . $username . "workshop " . $userin; #echo "password " . $password; #echo "password sha1 " . $pas_verifica; } #else { #echo "
#

L'utenza che hai inserito non è valida o è inesistente. Riprova.

#
"; #} } } function verifica_esiste($username) { $sql_conta = "select count(*) from tbl_anag where anag_email=\"$username\""; $query_conta = mysql_query($sql_conta) or die ("non riesco ad eseguire la query $sql_conta"); $righe_conta=mysql_fetch_array($query_conta); $numrows=$righe_conta["count(*)"]; # if ($numrows>0) { $esiste = 1; } else { $esiste = 0; } return $esiste; } function verifica_esiste_ws($username, $ws_num_ws) { $sql_conta = "select count(*) from tbl_wshop where ws_email=\"$username\" and ws_num_ws = $ws_num_ws"; $query_conta = mysql_query($sql_conta) or die ("non riesco ad eseguire la query $sql_conta"); $righe_conta=mysql_fetch_array($query_conta); $numrows=$righe_conta["count(*)"]; # if ($numrows>0) { $esiste = 1; } else { $esiste = 0; } return $esiste; } function recupera_nome($username, $passwd) { $sql_anag = "select anag_nome from tbl_anag where anag_email=\"$username\" and anag_word=\"$passwd\""; $query_anag = mysql_query($sql_anag) or die ("non riesco ad eseguire la query $sql_anag"); $righe_anag=mysql_fetch_array($query_anag); $anag_nome = $righe_anag["anag_nome"]; #echo "anag_nome " . $anag_nome; return $anag_nome; } function recupera_anag($username) { $sql_anag = "select * from tbl_anag where anag_email=\"$username\""; $query_anag = mysql_query($sql_anag) or die ("non riesco ad eseguire la query $sql_anag"); while ($righe_anag=mysql_fetch_array($query_anag)){ $anag_nome = $righe_anag["anag_nome"]; $anag_cognome = $righe_anag["anag_cognome"]; $anag_data = $righe_anag["anag_data"]; $anag_ind = $righe_anag["anag_ind"]; $anag_citta = $righe_anag["anag_citta"]; $anag_prov = $righe_anag["anag_prov"]; $anag_cap = $righe_anag["anag_cap"]; $anag_tel = $righe_anag["anag_tel"]; $array_out[] = $anag_nome; $array_out[] = $anag_cognome; $array_out[] = $anag_data; $array_out[] = $anag_ind; $array_out[] = $anag_citta; $array_out[] = $anag_prov; $array_out[] = $anag_cap; $array_out[] = $anag_tel; } return $array_out; } function verifica_anag($username, $passwd) { $sql_conta = "select count(*) from tbl_anag where anag_email=\"$username\" and anag_pass=\"$passwd\""; $query_conta = mysql_query($sql_conta) or die ("non riesco ad eseguire la query $sql_conta"); $righe_conta=mysql_fetch_array($query_conta); $numrows=$righe_conta["count(*)"]; # if ($numrows>0) { $userin = 1; } else { $userin = 0; } return $userin; } function clean_query_login($string) #Preventing SQL Injection { if(get_magic_quotes_gpc()) // prevents duplicate backslashes { $string = stripslashes($string); } if (phpversion() >= '4.3.0') { $string = mysql_real_escape_string($string); } else { $string = mysql_escape_string($string); } return $string; } /* fino a qui funzioni form iscrizione e workshop */ ##########FIND_CATEG: TEST SULLE CATEGORIE DI NOTIZIE #funzione che carica l'immagine su header o sulla parte contenuti della sezione o dove si voglia venga caricata. function carica_immagine_sezione ($idsez) { $config4 = accesso_ro9_key_item("config", "ita", 4); $img_default = $config4[0]; $sql_img = "select immagine, alt_immagine from tbl_sezioni where idsezione=".$idsez; $query_img = mysql_query($sql_img) or die ("non riesco ad eseguire la query $sql_img"); $valori_img = mysql_fetch_array($query_img); $immagine = $valori_img["immagine"]; $immagine_alt = $valori_img["alt_immagine"]; if ($immagine == ""){ $immagine = $img_default; } $carica_immagine[] = $immagine; $carica_immagine[] = $immagine_alt; return $carica_immagine; } ###############carica notizie############## ###############carica l'elenco delle notizie############## function form_rich_contatti($fnome, $fcognome, $femail, $foggetto, $fmessage, $mylingua) { //echo "femail" . $femail; $ro9_desc = accesso_ro9_key_item("config", $mylingua, 0); $oggetto_mail = "Nuova richiesta di contatto dal sito $ro9_desc[0]"; $msg = "Questa e-mail è stata recapitata tramite il form \"contatti\" del sito " . $ro9_desc[0]."." . "\n"."\n"; $msg = $msg.''. "Oggetto: ". $foggetto ."\n\n"; $msg = $msg.''. "Nome: ". $fnome ."\n"; $msg = $msg.''. "Cognome: ". $fcognome ."\n"; $msg = $msg.''. "E-mail mittente: ". $femail ."\n"; $msg = $msg.''. "Messaggio: ". $fmessage ."\n\n"; #VIENE SPEDITA COPIA ANCHE ALL'UTENTE $headers = "From: " . $femail . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=utf-8\r\n"; $headers .= "Content-Transfer-Encoding: 8bit"; # $headers .= "Cc: " . $email . "\r\n"; /* $headers .= "Bcc: ...@gmail.com, ...@gmail.com" . "\r\n";*/ /* $destinatari = "info@***.***" . ", ";*/ //$destinatari = "info@artemisiassociazione.it"; $destinatari = "marco.bardella@gmail.com"; mail($destinatari, $oggetto_mail, $msg, $headers); } ###############carica notizie############## ###############carica l'elenco delle notizie############## function carica_news ($z_desc, $idpag, $offset, $limit) { #questo switch vale "si" se si è in produzione; altrimenti vale "no" #global $sw_produzione; $php_self = $_SERVER["PHP_SELF"]; $server = get_path_info(); $img_dir = $_SESSION['img_dir_abs']; $mylingua = $_SESSION['mylingua']; //recupero padre $sql_news="select pagina from tbl_pagine_new where idpagina=$idpag"; $valori_news=Database::fetchAll($sql_news); foreach ($valori_news as $valori_pagina) { $pagina_news = $valori_pagina["pagina"]; } #questa variabile verrà restituita alla funzione chiamante; #viene inizializzata a "no" #nel caso al suo ritorno valga "si" verrà richiamata anche la funz. di paginazione $sw_paginazione = "no"; if (empty($offset)) { $offset=1; } $offset2=$offset-1; /*echo "z_desc " . $z_desc; echo "idpag " . $idpag; echo "offset " . $offset; echo "limit " . $limit; */ $sql_news2="select * from tbl_pagine_new where flag_attributo = $idpag and flag_news > 0 and view = 1 order by data desc, idpagina desc limit $offset2,$limit"; $query2 = mysql_query ($sql_news2) or die ("Non riesco ad eseguire la richiesta sql_news2: $sql_news2"); $numrows=conta_news($idpag); //echo "numrows " . $numrows; if (mysql_num_rows($query2) == 0){ switch ($mylingua) { case 'deu': echo "

Es gibt Berichte in der Kategorie angewendet.

"; break; case 'esp': echo "

Existen informes en la categoría deseada.

"; break; case 'eng': echo "

There are no news in the category applied.

"; break; case 'fra': echo "

Il n'ya pas de nouvelles dans la catégorie demandée.

"; break; default: echo "

Non esistono notizie nella categoria richiesta.

"; break; } } else { $sw_paginazione = "si"; $i=1; while ($valori = mysql_fetch_array ($query2)){ $datasql = $valori ["data"]; $data = mysql_ita($datasql); $anteprima = $valori["anteprima"]; $anteprima_clean = strip_tags($anteprima); $antep = contaparole($anteprima_clean,80); $idpagina = $valori [ "idpagina"]; $pagina = $valori [ "pagina"]; $idsez = $valori [ "idsezione"]; $flag_news = $valori [ "flag_news"]; $flag_home = $valori [ "flag_home"]; $titolo = $valori [ "titolo"]; $autore = $valori [ "autore"]; $testo = $valori [ "paragrafo"]; //$lungtesto = strlen($testo); $anteimg = $valori [ "immagine2"]; $link = $valori [ "file"]; $etichetta = $valori [ "etichetta_file"]; $scheda = ""; #SE NON è STATA SALVATA UN'IMMAGINE, METTE PER DEFAULT "IMMAGINE NON DISPONIBILE" #(CHE E' DIVERSA SE SI TRATTA DI TIPO "ELENCOSTRUTTURE" -flag_news 3) #POICHE' ARUBA PERMETTE DI SALVARE IN UNA SOLA CARTELLA "PUBLIC" QUESTI TEST ANDRANNO SOSTITUITI!!!! if ($anteimg=="") { #if ($flag_news > 0) { # if ($flag_news == 2) { # $anteimg="noPhotoStrutture.gif"; #} else { $anteimg="noPhotoNews.gif"; # $anteimg="noPhoto.gif"; # } $anteimg = $img_dir."/".$anteimg; #cartella public # $anteimg = $def_img_dir."/"."imm-default.png"; #cartella img } else { $anteimg = $img_dir."/".$anteimg; #cartella public } $a_href = $server."/".$pagina_news."/".$pagina; ######>>>> QUI PREPARA IL LAYOUT DELLA SEZIONE NEWS # idparag è diverso da zero solo se all'interno di una scheda news #(serve quindi per estrarre la descrizione giusta della scheda) #$outsez=determina_outsez_url($idsez, $idparag); #echo "flag_news " . $flag_news; #$titolo = "

$titolo

"; #
$data
"; #echo "flag_news " . $flag_news; if ($flag_news > 3) { #tipo news per streaming, con o senza anteprima, si data, no immagine anteprima $scheda = "
  • " . $titolo . "

    " . $anteprima; } elseif ($flag_news == 3) { $scheda = "
  • " . $titolo . "

    $data \"$titolo\"" . "
    " . $anteprima . "
    "; } elseif ($flag_news == 2) { $scheda = "
  • " . $titolo . "

    " . $anteprima; } else { $scheda="??"; } if ($i==5) { //riparte con un'altra riga echo "
    "; }#fine "if flag_news == 1" if ($anteprima <> "") { switch ($flag_news) { case 1: echo "$scheda $scheda_a"; break; case 2: echo "$scheda $scheda_a
  • "; break; case 3: echo "$scheda $scheda_a"; break; case 4: echo "$scheda"; break; } } else { #anteprima = "" if ($flag_news == 1){ if ($link<>"") { if ($etichetta == ""){ $etichetta = $link; } $testo = $testo . "

    »$etichetta«

    "; } } else { } #fine "if flag_news == 1" echo "$scheda$testo$scheda_c"; } #fine "if anteprima.." $i++; } ####CHIUSO IL WHILE!!!! }// chiuso test sul numero di righe ritornate #echo ""; $array_per_paginazione[] = $numrows; $array_per_paginazione[] = $sw_paginazione; $array_per_paginazione[] = $offset; return $array_per_paginazione; } #############carica il dettaglio della notizia############## function carica_scheda_news ($idpag_news,$flag_attributo,$offset){ $php_self = $_SERVER["PHP_SELF"]; $img_dir_abs = $_SESSION['img_dir_abs']; $server = get_path_info(); #echo "img_dir " . $img_dir; $mylingua = $_SESSION['mylingua']; # idparag è diverso da zero solo se all'interno di una scheda news #(serve quindi per estrarre la descrizione giusta della scheda) $outsez=""; $backto = "«"; $sql_news3 = "select * from tbl_pagine_new where idpagina=$idpag_news"; $query = mysql_query($sql_news3) or die ("non riesco ad eseguire la query $sql_news3"); $valori = mysql_fetch_array ($query); $flag_news = $valori ["flag_news"]; $flag_home = $valori ["flag_home"]; $pagina = $valori ["pagina"]; $idsez = $valori ["idsezione"]; $titolo = $valori ["titolo"]; $datasql = $valori [ "data"]; $data = mysql_ita ($datasql); $autore = $valori ["autore"]; $anteprima = $valori ["anteprima"]; $testo = $valori ["paragrafo"]; $foto = $valori ["immagine1"]; $foto_dir = $img_dir_abs."/".$foto; $link = $valori ["file"]; $anteimg = $valori [ "immagine2"]; $etichetta = $valori ["etichetta_file"]; $attributo = $valori ["flag_attributo"]; $sql_torna = "select idsezione, idpagina, pagina, flag_home from tbl_pagine_new where idpagina=$attributo"; $query_torna = mysql_query($sql_torna) or die ("non riesco ad eseguire la query $sql_torna"); $valori = mysql_fetch_array ($query_torna); $idsezione_torna = $valori ["idsezione"]; $pagina_torna = $valori ["pagina"]; $flag_home_torna = $valori ["flag_home"]; if ($flag_home_torna == 0) { $sql_torna_home = "select idpagina, pagina from tbl_pagine_new where idsezione=$idsezione_torna and flag_home = 1"; $query_torna_home = mysql_query($sql_torna_home) or die ("non riesco ad eseguire la query $sql_torna_home"); $valori_torna_home = mysql_fetch_array ($query_torna_home); $pagina_torna_home = $valori_torna_home ["pagina"]; $pagina_torna_home = "/".$pagina_torna_home; $pagina_id_torna_home = $valori_torna_home ["idpagina"]; } # ulteriore contenitore per le schede delle news $out = "
    "; $out .= "

    $titolo

    "; # etichetta per posizionamento corretto dopo anteprima if ($anteprima <> "") { $anteprima = $anteprima . ""; } # non viene rimostrata l'anteprima $anteprima = ""; if ($foto<>"") { $sql_gal= "select idgallery from tbl_gallery where nome_gallery = \"$foto\""; $query_gal = mysql_query($sql_gal) or die ("non riesco ad eseguire la query $sql_gal"); $valori_gal = mysql_fetch_array($query_gal); $idgallery = $valori_gal["idgallery"]; #echo "idgallery " . $idgallery; $html_gallery = code_gallery($idgallery,$tipo_gallery=1,$img_dir_abs); } $out .= "$html_gallery $anteprima $testo"; # ------------- $explode_link = explode(".",$link); $estensione_link = $explode_link[1]; switch (strtolower($estensione_link)) { case 'jpg': $alleg_css = "alleg_jpg"; break; case 'gif': $alleg_css = "alleg_gif"; break; case 'pdf': $alleg_css = "alleg_pdf"; break; } # ------------- if ($etichetta <> "") { $link = $img_dir ."/". $link; $out = $out . ""; } #commenti #$out = $out . carica_commenti($idpag_news, $desc_tipo_news, $idparag, $data, $php_self); $attr_url=determina_attr_url($idsez); #echo "attr_url " . $attr_url; if (substr($attr_url,0,1)<>"#") { $attr_url=""; } #fine cont-dx-scheda $out = $out . "
    "; if ($idpag_news <> "") { $out = $out . ""; } else { # niente torna elenco // $out = $out . ""; } echo $out; } function ritorna_giorni ($data) { #estrae stringa con mese data giorno $data_expl = explode("/", $data, 3); #ricava timestamp notizia $times_notizia = mktime(0,0,0,$data_expl[1],$data_expl[0],$data_expl[2]); #ricava timestamp attuale $time_now = time(0,0,0); #calcola i giorni di differenza $diff = $time_now - $times_notizia; $numerogiorni=floor($diff / (60*60*24)); #echo 'numero giorni ' . $numerogiorni; return $numerogiorni; } // Funzione per la gestione degli errori function errgest($messaggio, $sql = false){ if($sql){ die("Errore:
    ".$messaggio."
    ".mysql_error()); } else { die("Errore:
    ".$messaggio); } } ######################################################## function new_mostra_titolo ($idpag, $idsez) { # cerca la pagina: una volta era la home, ora la home per le news è diventata la descrizione della pagina (desc-tipo-news). if ($idpag=="") { $sql="select idpagina, flag_news, attributo from tbl_pagine_new where idsezione=".$idsez." and flag_home=1"; $quer1=mysql_query($sql) or die ("non riesco ad eseguire la quer1 $sql"); $valori = mysql_fetch_array($quer1); $idpag = $valori["idpagina"]; #$flag_news = $valori["flag_news"]; } if ($idpag<>"") { $sql2="select * from tbl_pagine_new where idpagina = $idpag order by ordine"; $result = mysql_query($sql2) or die(mysql_error()); if(mysql_num_rows($result) > 0) { $valori=mysql_fetch_array($result); $titolo=$valori["titolo"]; return $titolo; } else { echo "

    Pagina non inserita!

    "; } } else { echo "

    Pagina non trovata!

    "; } } function new_mostra_categoria ($idsez) { # cerca la categoria principale if ($idsez!="") { $sql="select sezione from tbl_sezioni where idsezione=".$idsez.""; $quer1=mysql_query($sql) or die ("non riesco ad eseguire la quer1 $sql"); $valori = mysql_fetch_array($quer1); $sezione = $valori["sezione"]; #$flag_news = $valori["flag_news"]; return $sezione; } } ######################################################## function new_mostra_paragrafo($idpag) { $php_self = $_SERVER["PHP_SELF"]; $pag_per_blocco = $_SESSION['pag_per_blocco']; $_SESSION['mylingua']; $f = $_SESSION['f']; $offset = $f; $img_dir = $_SESSION['img_dir']; $img_dir_da_admin = $_SESSION['img_dir_da_admin']; $mylingua = $_SESSION['mylingua']; $dir_filez = $img_dir; # cerca la pagina: una volta era la home, ora la home per le news è diventata la descrizione della pagina (desc-tipo-news). $sql="select idsezione, flag_news, flag_home, flag_attributo from tbl_pagine_new where idpagina=$idpag"; $valori=Database::fetchrow($sql); //paolo //$db = Database::getInstance(); //$quer1=mysql_query($sql) or die ("non riesco ad eseguire la quer1 $sql"); //$count = mysql_num_rows($quer1); //$count = $stmt->rowCount(); #echo "conteggio pagine non news " . $count; //paolo if(mysql_num_rows($quer1) > 0) { //se esiste qualcosa con idpag //penso sia la stessa cosa if($count > 0) { //se esiste qualcosa con idpag if(isset($valori["idsezione"])) { //$valori = $stmt->fetch(PDO::FETCH_ASSOC); //finepaolo //$valori = mysql_fetch_array($quer1); $idsez = $valori["idsezione"]; $flag_news = $valori["flag_news"]; $flag_home = $valori["flag_home"]; $flag_attributo = $valori["flag_attributo"]; #trova numero di notizie per pagina in base a $limit $limit = accesso_ro9_key_item_real2("modello", "all", $flag_news); //echo "limit " . $limit . " flag_news " . $flag_news; if (($flag_news > 0) && ($flag_attributo > 0)) { //scheda news //echo "carica_scheda_news"; carica_scheda_news ($idpag,$flag_attributo,$offset); #Se non è scheda è pagina (news o noramle) } else { //pagina normale o news #da qui inizia a caricare la pagina, più sotto carica le news (carica_news) - si accede per idsezione, per trovare tutte #le pagine facenti capo a quella sezione. //paolo: io poi metterei questa in una funzione $sql="select * from tbl_pagine_new where idpagina = $idpag order by ordine"; //$handl = Database::fetchrow(sql); //paolo: $query=mysql_query($sql) or die (mysql_error()); //$valori=mysql_fetch_array($query); $valori=Database::fetchrow($sql); $paragrafo=$valori["paragrafo"]; $anteprima=$valori["anteprima"]; $z_desc=$valori["pagina"]; $img1=$valori["immagine1"]; $img2=$valori["immagine2"]; $file=$valori["file"]; $etichetta_file=$valori["etichetta_file"]; $attributo_descr=$valori["attributo"]; $attributo_parag=$valori["flag_attributo"]; # preparazione allegati if ($file<>""){ $explode_file = explode(".",$file); $estensione_file = $explode_file[1]; switch (strtolower($estensione_file)) { case 'jpg': $alleg_css = "alleg_jpg"; break; case 'gif': $alleg_css = "alleg_gif"; break; case 'pdf': $alleg_css = "alleg_pdf"; break; } $out = $out . ""; if ($etichetta_file<>""){ $paragrafo_allegato = ""; } else { $paragrafo_allegato = ""; } #chiuso if etichetta_file<> ... } else { $paragrafo_allegato =""; }#chiuso if file<> ... # $paragrafo contiene il testo del paragrafo # test per verificare se è diverso da space if ($paragrafo <> "") { # contenitore per le schede dei paragrafi/news (qui paragrafi) #$paragrafo = $titolo . "$paragrafo" . $paragrafo_allegato; $paragrafo = $paragrafo . $paragrafo_allegato; } else { #$paragrafo = $titolo. "$paragrafo" . $paragrafo_allegato; $paragrafo = $paragrafo . $paragrafo_allegato; } # wk-flag-news arriva da tbl_pagine, flag_news da paragrafi (possono essere diversi) if ($flag_news > 0) { #echo "
    "; # imposta elenchi per news if ($flag_news == 1) { echo "
      "; } elseif ($flag_news == 2) { echo "
        "; } elseif ($flag_news == 3) { echo "
          "; } elseif ($flag_news == 4) { echo "
            "; } #la funzione carica_news oltre a scrivere in output l'elenco delle notizie mi restituisce 3 variabili #1) la variabile numrows, che serve per calcolare il numero di pagine #2) lo switch paginazione si/no #3) l'offset list($paginaz_numrows,$sw_paginaz,$paginaz_offset) = carica_news ($z_desc, $idpag, $offset, $limit); if ($flag_news == 1) { echo "
          "; } else { echo "
        "; #chiude struttura news } $array_out[] = $sw_paginaz; if ($sw_paginaz == "si") { $array_out[] = carica_paginazione ( $idsez, $idpag, $paginaz_offset, $paginaz_numrows,$limit,$pag_per_blocco); } else { #fine "if wk_flag_news > 0" echo "
        $anteprima$paragrafo"; echo "
        "; $array_out[] =""; } } else { #fine "if wk_flag_news > 0" echo "
        $anteprima$paragrafo"; echo "
        "; $array_out[] =""; } } } else { echo "

        Pagina non trovata!
        Puoi selezionare una pagina dal menu sopra

        "; } # -------------> SPOSTANDO LA FUNZIONE CARICA NEWS QUI PERMETTE ALLE SEZIONI NEWS DI AVERE UN PARAGRAFO (O PIU) IN TESTA #if ($tipo_pag == 1 or $tipo_pag == 2) { #qui carica le news return $array_out; } ### end function ######## function prepara_oggetto_contatti($linguaform){ $ogg_out = ""; $config1 = accesso_ro9_key_item("config", $linguaform, 1); if ($linguaform == "ita"){ $ogg_out = $config1[0] . " - Richiesta informazioni"; } else { $ogg_out = $config1[0] . " - Request information"; } return $ogg_out; } function carica_menu_pers ($tipo_menu,$visibile,$idsezione_now,$ord_min=0,$ord_max=99999) { $php_self = $_SERVER["PHP_SELF"]; $server = get_path_info(); #il flag view vale # 0 per le sezioni invisibili # 1 per le sezioni del menu orizzontale #il flag tipo vale # o per orizzontale # v per verticale $img_dir = $_SESSION['img_dir']; $riga_out = ""; # echo "tipo_menu " . $tipo_menu; if ($ord_max<>99999) $sql_sezioni="select * from tbl_sezioni where view=$visibile and tipo = \"$tipo_menu\" and ordine between $ord_min and $ord_max order by ordine"; else $sql_sezioni="select * from tbl_sezioni where view=$visibile and tipo = \"$tipo_menu\" order by ordine"; //$query_sezioni=mysql_query($sql_sezioni) or die ("non riesco ad eseguire la query $sql_sezioni"); $valori=Database::fetchAll($sql_sezioni); //while ($valori_sezioni=mysql_fetch_array($query_sezioni)) { foreach ($valori as $valori_sezioni) { $idsezione = $valori_sezioni["idsezione"]; $sezione = $valori_sezioni["sezione"]; $sezione_down = strtolower($sezione); $z_desc = $valori_sezioni["sezione_url"]; #$outsezione = strip_url($sezione_down); $outsezione = ""; $attr = $valori_sezioni["attributo"]; $link = $valori_sezioni["link"]; $imm = $valori_sezioni["immagine"]; $imm_alt = $valori_sezioni["alt_immagine"]; //qui trova la pagina padre per costruzione url $sql_torna_home = "select pagina from tbl_pagine_new where idsezione=$idsezione and flag_home = 1"; $query_torna_home = mysql_query($sql_torna_home) or die ("non riesco ad eseguire la query $sql_torna_home"); $valori_torna_home = mysql_fetch_array ($query_torna_home); $pagina_torna_home = $valori_torna_home ["pagina"]; $pagina_torna_home = "/".$pagina_torna_home; //echo "torna_home " . $pagina_torna_home; if (substr($tipo_menu,0,1) == "O") { $sezione_up = $sezione; } else { $sezione_up = ucfirst($sezione); } // echo " sezioni> " . $sezione_up; #echo "substr" . substr($attr,0,1); $sql_pagina="select anteprima, pagina, flag_news, flag_home, flag_attributo from tbl_pagine_new where idsezione=$idsezione and flag_home = 1"; $valori_pag=Database::fetchAll($sql_pagina); foreach ($valori_pag as $valori_pagina) { $sottotitolo = $valori_pagina["anteprima"]; $pagina = $valori_pagina["pagina"]; $flag_news = $valori_pagina["flag_news"]; $flag_home = $valori_pagina["flag_home"]; $flag_attributo = $valori_pagina["flag_attributo"]; #cerca la categoria news per l'url - per univocità links da menu $altropezzourl = ""; # becca flag_news della pagina e idpag della news //list($wk_flag_news,$g) = verifica_pagina_news(0, $idsezione); $href=""; $a_href=""; $class=""; if ( ($attr != "nolink") && ($attr != "link") ) { $href = "href=$server/$pagina$altropezzourl"; //$canonic = "$server$pagina_torna_home/$pagina_torna/$pagina"; #brdx-canonical } else { if ($attr == "nolink"){ $class = " puntatore"; } if ($attr == "link"){ $href = "href=$link"; } } #function sottomenu spostato qui $count = 0; #non carica la pagina "home" della sezione perché è già "compresa" nel link della sezione medesima $sql_sottomenu = "select * from tbl_pagine_new where idsezione=$idsezione and flag_home = 0 and ((flag_news > 0 and flag_news < 3) or flag_attributo = 0) and view = 1 order by ordine"; $query_sottomenu = mysql_query($sql_sottomenu) or die ("non riesco ad eseguire la query $sql_sottomenu"); $count = mysql_num_rows($query_sottomenu); $a_href_s = ""; if ($count > 0) { if ($idsezione == $idsezione_now) { $a_href = "
      • $sezione_up"; } else { $a_href = "
      • $sezione_up"; } // $a_href_s = " "; # $sottomenu = carica_sottomenu($idsezione,substr($tipo_menu,0,2)); # $riga_out = $riga_out . $sottomenu; # } } } return $riga_out; } ###################funzione caricamento notizie eventi su colonne a dx####################### function carica_latest_news ($fl_attr, $tipo_news, $idnews_now){ $server = get_path_info(); $img_dir_abs = $_SESSION['img_dir_abs']; $img_dir = $_SESSION['img_dir']; if ($idnews_now == 0) { $limit= 12; //personalizz per home page } else { $limit = accesso_ro9_key_item_real2("modello", "all", $tipo_news); } //$sezione_delle_news = ricerca_sez_news($tipo_news); $pagina_delle_news = $tipo_news; #conta le news con funzione #$numrows = conta_news($fl_attr); #echo "num rows " . $numrows; //echo "limit " . $limit; $i=0; #brdx_razionalizzazione $sql_news="select * from tbl_pagine_new where flag_attributo = $fl_attr order by data desc limit 0,$limit"; $query_news=mysql_query($sql_news) or die ("non riesco ad eseguire la query $sql_news"); $out = ""; $trio = 0; while ($valori_news=mysql_fetch_array($query_news)){ $idnews=$valori_news["idpagina"]; $data_usa = $valori_news["data"]; $data_ita = mysql_ita($data_usa); $pagina = $valori_news["pagina"]; $titolo = $valori_news["titolo"]; $anteprima = $valori_news["anteprima"]; $anteprima_clean = strip_tags($anteprima); $antep = contaparole($anteprima_clean,120); $anteimg = $valori_news["immagine2"]; $sql_torna = "select idsezione, pagina, flag_home from tbl_pagine_new where idpagina=$idnews"; $query_torna = mysql_query($sql_torna) or die ("non riesco ad eseguire la query $sql_torna"); $valori = mysql_fetch_array ($query_torna); $idsezione_torna = $valori ["idsezione"]; //$pagina_torna = $valori ["pagina"]; $flag_home_torna = $valori ["flag_home"]; if ($flag_home_torna == 0) { // queste sono news //trova pagina home $sql_torna_home = "select pagina from tbl_pagine_new where idsezione=$idsezione_torna and flag_home = 1"; $query_torna_home = mysql_query($sql_torna_home) or die ("non riesco ad eseguire la query $sql_torna_home"); $valori_torna_home = mysql_fetch_array ($query_torna_home); $pagina_torna_home = $valori_torna_home ["pagina"]; $titolo_cat = $valori_torna_home ["pagina"]; $pagina_torna_home = "/".$pagina_torna_home; } $trio = $trio + 1; if ($trio == 4) { $trio = 1; } $trio_cl = "trio".$trio."n"; #$outsez = determina_outsez_url($sezione_delle_news, $idnews); #echo "outsez " . $outsez; #$canonic = "$_SERVER[PHP_SELF]?z=$sezione_delle_news&g=$tipo_news&i=$idnews&f=$i2"; #brdx-canonical $canonic = "$server$pagina_torna_home/$pagina"; #brdx-canonical #$anteimg = ""; if ($idnews == $idnews_now) { $selected = "selected"; $hrefs = "#"; $icn_more = ""; } else { $selected = ""; $hrefs = $canonic; $icn_more = ""; } #se non c'è un'immagine associata, in hp andrà SOLO la notizia senza alcuna immagine if ($anteimg == ""){ if ($data_ita==true) { $out = $out . "
        \"$titolo\"

        $titolo

        $data_ita

        $antep

        "; } else { $out = $out . "
        \"$titolo\"

        $titolo

        $antep

        "; } } else { $anteimg = $img_dir_abs."/".$anteimg; if ($data_ita==true) { $out = $out . "
        \"$titolo\"

        $titolo

        $data_ita

        $antep

        "; } else { $out = $out . "
        \"$titolo\"

        $titolo

        $antep

        "; } } } #chiuso while sql # $out = "
          " . $out . "
        "; return $out; } ?>