News utilizzando phpBB

Per prima cosa vado nel pannello di amministrazione di phpBB e creo un nuovo forum intitolato News.
Fatto questo procedo con lo script.

Anche qui solito problema fra phpBB2 e phpBB3, saranno necessari due script diversi per i due sistemi, contenenti le istruzioni necessarie.
A differenza dei codici che ho creato per gli ultimi messaggi qui ho inserito in fondo due bottoni per potersi muovere fra le news.

Attenzione alla query principale e il nome del forum, devono corrispondere esattamente!

 
<?php
/////////////////////////////////////////////////////////////////////
// Mario Santagiuliana
// script per l'estrazione delle news da un forum phpBB2
// su database postgresql
/////////////////////////////////////////////////////////////////////
 
//limite di news da visualizzare
$limit=5;
//------------------------------
 
if($_POST['prima'])
  $prima=$_POST['prima'];
else
  $prima=0;
 
// file di configurazione di phpBB
// cambiare la patch se non corrisponde
include('forum/config.php'); 
 
$connessione = pg_connect("host=$dbhost dbname=$dbname user=$dbuser password=$dbpasswd");
if (!$connessione)
{
die("Impossibile connettersi al database");
}
 
// Controllo array POST per vedere se spostarsi nelle news
// e query principale per fare la richiesta delle news
// ATTENZIONE il nome del forum deve essere "News"
if($_POST){
  if($_POST['prec'] == "prec")
     $prima=$prima-$limit;
  elseif($_POST['succ'] == "succ")
     $prima=$prima+$limit;
  $sql="SELECT * FROM phpbb_posts_text NATURAL JOIN phpbb_forums NATURAL JOIN phpbb_topics NATURAL JOIN phpbb_posts WHERE forum_name='News' ORDER BY post_time DESC LIMIT $limit OFFSET $prima";
}
else
  $sql="SELECT * FROM phpbb_posts_text NATURAL JOIN phpbb_forums NATURAL JOIN phpbb_topics NATURAL JOIN phpbb_posts WHERE forum_name='News' ORDER BY post_time DESC LIMIT $limit";
$risultati=pg_query($connessione, $sql); 
 
//-----
 
while($riga = pg_fetch_array($risultati)) { 
   $titolo = $riga["post_subject"];
   if(substr($titolo, 0, 4) != "Re: "){
     $numero_topic = $riga["topic_id"]; 
     $testo_post = $riga["post_text"];
     $data = $riga["post_time"];
     $posterid = $riga["poster_id"];
 
     //richiedo il nome di chi ha scritto la news
     $richiesta="SELECT username FROM phpbb_users WHERE user_id = $posterid";
     $username=pg_fetch_row(pg_query($connessione, $richiesta));
 
     echo"\n<div style=\"border: 1px dotted; padding: 3px; margin-top:5px; margin-bottom:5px;\">\n";
     echo"<a href=\"forum/viewtopic.php?t=$numero_topic\" title=\"\" style=\"color: blue; font-weight: bold;\">$titolo</a>\n";
     echo"<div style=\"font-size: 10px; padding-left: 5px;\">by $username[0] ".date('d M Y - H:i', $data);
     echo"</div>\n";
     //se il testo del messaggio è troppo lungo lo taglio
     if(strlen($testo_post)<100)
          echo"<p style=\"border-top: 1px dotted; margin-top: 2px; padding-top: 2px;\">$testo_post</p>\n";
     else
          echo"<p style=\"border-top: 1px dotted; margin-top: 2px; padding-top: 2px;\">".substr($testo_post,0,100)."...</p>\n";
     echo"</div>\n";
   }
}//Fine del while 
 
// qui inserico il form con i due bottoni che tramite metodo POST invia i dati su come
// muoversi all'interno delle news
echo"\n<form method=\"post\" action=\"\" style=\"text-align: center;\">\n";
echo"<div>\n";
echo"<input type=\"hidden\" name=\"prima\" value=\"$prima\" />";
echo"<input type=\"submit\" value=\"prec\" name=\"prec\" />   ----   <input type=\"submit\" value=\"succ\" name=\"succ\" />\n";
echo"</div>\n";
echo"</form>\n";
 
// chiusura connessione database
pg_close($connessione);
?>

e questo era lo script per le news con phpBB2.

Questa voce è stata pubblicata in PHP e contrassegnata con , , , , , , , , , . Contrassegna il permalink.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>