Salut à tous, Je suis un p'tit nouveau sur cette communauté et j'y suis arrivé car je cherchais un script rapide pour faire le display de news sur mon site à partir du PHPBB.
Alors pour expliquer mon problème: j'ai installé recement un forum PHPBB2 mais suite à de nombreux spam j'ai décidé de passer à la version 3.0 un peu plus sécurisée.
J'ai installé le script de PHPBB-News sur mon ancien forum et il marche très bien. Par contre quand j'essaie de le passer dans la nouvelle version ben rien ne s'affiche.
Je touche un peu le PHP depuis quelques années mais n'ai pas envie de me lancer dans un reverse engineering de PHPBB3 pour voir d'ou vient le prob.
Voici les principales modif que j'ai faite (PHPBB2)
**:**
> define('IN_PHPBB', true);
$phpbb_root_path = 'forums/';
$theme = 'subSilver';
include_once($phpbb_root_path.'includes/template.php');
include($phpbb_root_path.'includes/functions.php');
$template = new Template($phpbb_root_path.'templates/'.$theme);
include_once($phpbb_root_path.'includes/bbcode.php');
$host = 'localhost';
$user = 'xxx';
$pass = 'xxx';
$bdd = 'xxx'; // votre base de donnée
mysql_connect($host, $user, $pass);
mysql_select_db($bdd) or die('Impossible de se connecter');
$table_prefix = 'phpbb_';
$sql = "SELECT t.topic_id, t.forum_id, t.topic_title, t.topic_time, t.topic_replies, t.topic_last_post_id, t.topic_views, t.topic_vote, u.username, u.user_id, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid
FROM " . $table_prefix. "forums f, " . $table_prefix. "topics t, " . $table_prefix. "posts p, " . $table_prefix. "users u, " . $table_prefix. "posts_text pt
WHERE f.forum_news = '" . TRUE . "'
AND t.forum_id = f.forum_id
AND p.topic_id = t.topic_id
AND p.post_id = t.topic_first_post_id
AND pt.post_id = p.post_id
AND u.user_id = p.poster_id
AND t.topic_type = '0'
ORDER BY topic_time DESC";
Version PHPBB3
**:**
> define('IN_PHPBB', true);
$phpbb_root_path = 'phpbb3/';
$theme = 'subSilver2';
include_once($phpbb_root_path.'includes/template.php');
include($phpbb_root_path.'includes/functions.php');
$template = new Template($phpbb_root_path.'styles/'.$theme.'template/');
include_once($phpbb_root_path.'includes/bbcode.php');
$host = 'localhost';
$user = 'xxx';
$pass = 'xxx';
$bdd = 'xxx'; // votre base de donnée
mysql_connect($host, $user, $pass);
mysql_select_db($bdd) or die('Impossible de se connecter');
$table_prefix = 'phpbb3_';
$sql = "SELECT t.topic_id, t.forum_id, t.topic_title, t.topic_time, t.topic_replies, t.topic_last_post_id, t.topic_views, t.topic_vote, u.username, u.user_id, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid
FROM " . $table_prefix. "forums f, " . $table_prefix. "topics t, " . $table_prefix. "posts p, " . $table_prefix. "users u, " . $table_prefix. "posts_text pt
WHERE f.forum_news = '" . TRUE . "'
AND t.forum_id = f.forum_id
AND p.topic_id = t.topic_id
AND p.post_id = t.topic_first_post_id
AND pt.post_id = p.post_id
AND u.user_id = p.poster_id
AND t.topic_type = '0'
ORDER BY topic_time DESC";
Apparement les tables n'ont pas réellement changé car la requête ne retourne aucune erreur, mais le système de template quand à lui oui, donc finalement rien ne s'affiche.
Si quelqu'un a une piste ou une solution, je suis très intéressé.