0 ORDER BY $tab_art_pag.art_pagina"); $pagine = mysql_num_rows($query_art); $array = mysql_fetch_assoc($query_art); //controllo veloce if (empty($array["idart"])) { header("Location: error.php?error=no_art"); exit(); } //aggiorno le stampe @mysql_query("UPDATE $tab_art SET art_stampa = art_stampa + 1 WHERE idart = '$array[idart]'"); //codice per vedere se la categoria di appartenenza della subcat visibile o no if ($array["subcat"] != 0) { $query_catmadre = @mysql_query("SELECT cat_datacrea, cat_mostra FROM $tab_cat WHERE idcat = '$array[subcat]'"); @extract(mysql_fetch_assoc($query_catmadre)); if ($cat_datacrea > $now || $cat_mostra == "n") { header("Location: error.php?error=no_art"); exit(); } } //dichiaro un po' di variabili che mi serviranno se non c' il corrispettivo valore $sottotitolo = "
"; $poster = ""; $voti_stat = ""; $download_stat = ""; $mostra_logo = ""; $div_interruzione = ""; $resources = ""; //indice per la paginazione (mi serve nel ciclo while in fondo) $ind = 1; #============ LAVORO SULLE VARIABILI =============# //formatto i campi $array["art_titolo"] = formatta($array["art_titolo"],"n"); $array["cat_nome"] = formatta($array["cat_nome"],"n"); $array["art_sottotitolo"] = formatta(vbparse_print($array["art_sottotitolo"],$array["art_html"])); $titolo_art_header = formatta_header($array["art_titolo"]); $data = formatta_data_ora($array["art_datauscita"], $data_type); $visite =& $array["art_visite"]; $stampa =& $array["art_stampa"]; //adesso vedo se selezionare il logo if (trim($array["art_immagine"]) != "") { $query_logo = @mysql_query("SELECT idlogo, logo_width, logo_height FROM $tab_loghi WHERE logo_nome = '$array[art_immagine]'"); $array_logo = mysql_fetch_assoc($query_logo); if (isset($array_logo["idlogo"])) { $mostra_logo = "\"\""; } } //adesso vedo se includere i download if ($permit_download == "y") { $download_stat = "| Download: $array[art_download]"; } //adesso vedo se includere i voti if ($permit_vote == "y") { //controllo sul voto if ($array["totale_voti"] == 0) { $perc_up = 0; } else { $perc_up = $array["votoup"] / $array["totale_voti"] * 100; $perc_up = floor($perc_up); } $voti_stat = "| Voti: $perc_up% ($array[totale_voti] tot.)"; } //adesso vedo se mostrare l'autore dell'articolo if ($view_poster == "y") { // se trovo almeno un risultato if (!empty($array["autore"])) { if ($array["public_email"] == "y") { //encodo l'email $email = mail_encode($array["autore_email"]); $poster = WRITE_BY." $array[autore] [$email]"; } else { $poster = WRITE_BY." $array[autore]"; } } else { $poster = WRITE_BY." ".DEFAULT_WRITER.""; } } //adesso vedo se c' il sottotitolo if (trim($array["art_sottotitolo"]) != "") { ob_start(); $sottotitolo = eval("printtemp(\"".gettemp("$pub_tempdir/div_sottotitolo_print.php")."\");"); $sottotitolo = ob_get_contents(); ob_end_clean(); } # ================================================ # # === adesso vedo se ci sono risorse correlate === # # ================================================ # //SE NON CI SONO ART CORRELATI MA CI SONO LINK UTILI if (trim($array["art_correlati"]) == "" && trim($array["art_linkutili"]) != "") { ob_start(); $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_risorse_print_start.php")."\");"); //esplodo i link utili $link_uti = explode("*",$array["art_linkutili"]); //per ogni link li stampo foreach ($link_uti as $link) { if (strstr($link,"http://")) { $link = preg_replace( "/(\[)(url)(=)(['\"]?)((http|ftp|https):\/\/)([^\"']*)(\\4])(.*)(\[\/url\])/siU", "\\9 [ \\5\\7 ]",$link); $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_linkutili_printzip.php")."\");"); } } //fine foreach $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_risorse_printzip_end.php")."\");"); $resources .= ob_get_contents(); ob_end_clean(); //SE CI SONO ART CORRELATI MA NON LINK UTILI } elseif (trim($array["art_correlati"]) != "" && trim($array["art_linkutili"]) == "") { //levo l'ultima virgola che altrimenti mi d problemi $idart_corr = substr($array["art_correlati"],0,-1); //preparo la variabile degli id delle categorie utili $catutili = 0; //seleziono le categorie che sono valide... in questo caso mi sarebbe piaciuto sfruttare le subquery... $query_catutili = @mysql_query("SELECT idcat FROM $tab_cat WHERE cat_mostra = 'y' AND cat_datacrea <= '$now' AND subcat = '0'"); while ($array_catutili = mysql_fetch_assoc($query_catutili)) { $catutili .= ",".$array_catutili["idcat"]; } //query dinamica $query_corr = @mysql_query (" SELECT $tab_art.idart, $tab_art.art_titolo, $tab_art.art_sottotitolo, $tab_art.art_datauscita, COUNT($tab_art_pag.idart_pag) AS totale_pagine FROM $tab_art LEFT JOIN $tab_art_pag ON $tab_art.idart = $tab_art_pag.idart LEFT JOIN $tab_cat ON $tab_art.idcat = $tab_cat.idcat WHERE $tab_art.idart IN($idart_corr) AND $tab_cat.cat_mostra = 'y' AND $tab_cat.cat_datacrea <= '$now' AND $tab_art.art_mostra = 'y' AND $tab_art.art_datauscita <= '$now' AND ($tab_cat.idcat IN($catutili) OR $tab_cat.subcat IN($catutili)) GROUP BY $tab_art.idart HAVING totale_pagine > '0' ORDER BY $tab_art.art_datauscita DESC"); $result_corr = mysql_num_rows($query_corr); if ($result_corr != 0) { ob_start(); $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_risorse_print_start.php")."\");"); while ($array_corr = mysql_fetch_assoc($query_corr)) { foreach ($array_corr AS $key => $value) { $array_corr[$key] = formatta($array_corr[$key],"n"); $link = "$array_corr[art_titolo] [ $url_sito/viewart.php?idart=$array_corr[idart] ]"; } $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_correlati_printzip.php")."\");"); } //fine while $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_risorse_printzip_end.php")."\");"); $resources .= ob_get_contents(); ob_end_clean(); } //SE CI SONO ART CORRELATI E CI SONO LINK UTILI } elseif (trim($array["art_correlati"]) != "" && trim($array["art_linkutili"]) != "") { ob_start(); $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_risorse_print_start.php")."\");"); //levo l'ultima virgola che altrimenti mi d problemi $idart_corr = substr($array["art_correlati"],0,-1); //preparo la variabile degli id delle categorie utili $catutili = 0; //seleziono le categorie che sono valide... in questo caso mi sarebbe piaciuto sfruttare le subquery... $query_catutili = @mysql_query("SELECT idcat FROM $tab_cat WHERE cat_mostra = 'y' AND cat_datacrea <= '$now' AND subcat = '0'"); while ($array_catutili = mysql_fetch_assoc($query_catutili)) { $catutili .= ",".$array_catutili["idcat"]; } //query dinamica $query_corr = @mysql_query (" SELECT $tab_art.idart, $tab_art.art_titolo, $tab_art.art_sottotitolo, $tab_art.art_datauscita, COUNT($tab_art_pag.idart_pag) AS totale_pagine FROM $tab_art LEFT JOIN $tab_art_pag ON $tab_art.idart = $tab_art_pag.idart LEFT JOIN $tab_cat ON $tab_art.idcat = $tab_cat.idcat WHERE $tab_art.idart IN($idart_corr) AND $tab_cat.cat_mostra = 'y' AND $tab_cat.cat_datacrea <= '$now' AND $tab_art.art_mostra = 'y' AND $tab_art.art_datauscita <= '$now' AND ($tab_cat.idcat IN($catutili) OR $tab_cat.subcat IN($catutili)) GROUP BY $tab_art.idart HAVING totale_pagine > '0' ORDER BY $tab_art.art_datauscita DESC"); $result_corr = mysql_num_rows($query_corr); if ($result_corr != 0) { while ($array_corr = mysql_fetch_assoc($query_corr)) { foreach ($array_corr AS $key => $value) { $array_corr[$key] = formatta($array_corr[$key],"n"); $link = "$array_corr[art_titolo] [ $url_sito/viewart.php?idart=$array_corr[idart] ]"; } $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_correlati_printzip.php")."\");"); } //fine while } //fine $result_corr //esplodo i link utili $link_uti = explode("*",$array["art_linkutili"]); //per ogni link li stampo foreach ($link_uti as $link) { if (strstr($link,"http://")) { $link = preg_replace( "/(\[)(url)(=)(['\"]?)((http|ftp|https):\/\/)([^\"']*)(\\4])(.*)(\[\/url\])/siU", "\\9 [ \\5\\7 ]",$link); $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_linkutili_printzip.php")."\");"); } } //fine foreach $resources .= eval("printtemp(\"".gettemp("$pub_tempdir/div_risorse_printzip_end.php")."\");"); $resources .= ob_get_contents(); ob_end_clean(); } #============ FINE LAVORO SULLE VARIABILI ========# //parte iniziale dell'articolo eval("printtemp(\"".gettemp("$pub_tempdir/div_printart_start.php")."\");"); //se c' pi di una pagina faccio il ciclo..altrimenti no if ($pagine > 1) { //riavvolgo l'array per la parte centrale @mysql_data_seek($query_art,0); while ($array = mysql_fetch_assoc($query_art)) { //formatto il corpo $array["art_corpo"] = formatta(vbparse_print($array["art_corpo"],$array["art_html"])); //inserisco l'interruzione di stampa solo se non l'ultima pagina $interruzione_stampa = ($ind != $pagine) ? "page-break-after:always;" : ""; //div di interruzione stampa $div_interruzione = <<< STAMPA
[fine pagina $ind]
STAMPA; //template eval("printtemp(\"".gettemp("$pub_tempdir/div_printzip_corpo.php")."\");"); $ind++; } //fine while } else { //formatto il corpo $array["art_corpo"] = formatta(vbparse_print($array["art_corpo"],$array["art_html"])); $div_interruzione = "

"; //template eval("printtemp(\"".gettemp("$pub_tempdir/div_printzip_corpo.php")."\");"); } //parte finale eval("printtemp(\"".gettemp("$pub_tempdir/div_printzip_end.php")."\");"); //chiudo mysql_close($db_accesso); ?>