[INFO] sur l'utilisation des sessions de phpBB3 sur son site

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans ce forum.

Modérateur: Equipe

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 17 Nov 2008 à 11:17

Je te remercie encore une fois, je vais commencer à être pénible :p

mais rien ne s'affiche dorénavant..

Code: Tout sélectionner
    <?php
    define('IN_PHPBB', true);
    $phpbb_root_path =  './../phpBB3/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    $forum_id = 35;
$where = ($forum_id) ? " WHERE t.forum_id=$forum_id" : '';
$sql = 'SELECT t.forum_id,t.topic_id, t.topic_time, t.topic_title, t.topic_replies, t.topic_poster, t.topic_first_poster_name, t.topic_first_poster_colour, p.post_text, p.bbcode_bitfield, p.bbcode_uid
       FROM ' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE . ' p ON p.topic_id = t.topic_first_post_id ' .
          $where .
          ' ORDER BY topic_time DESC ' .
          ' LIMIT 0 , 10 ';


    $result = $db->sql_query($sql);
    ?>
    <html>
    <head>
       <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
       <title>Les dernières news</title>
       <style type="text/css">
          th{
             background-color: #0066FF;
             color: #FFFF99;
          }
       </style>
    </head>
    <body>
    <?php
    $i=0;
    while($row = $db->sql_fetchrow($result))
    {
       $topic_id = $row['t.topic_id'];
       $view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['t.forum_id']) ? $row['t.forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
       $row_colour = ($i % 2) ? '#FFFFCC' : '#99FFFF';
       echo '' . $row_colour .'';
       echo '<a href="' . $view_topic_url . '">' . censor_text($row['t.topic_title']) . '</a><br />';
       echo $user->lang['POST_BY_AUTHOR'] . '&nbsp;' . get_username_string('full', $row['t.topic_poster'], $row['t.topic_first_poster_name'], $row['t.topic_first_poster_colour']);
       echo '&nbsp;' . $user->lang['POSTED_ON_DATE'] . '&nbsp;' . $user->format_date($row['t.topic_time']) . '';
       echo '<br />' . $row['t.topic_replies'] . '';
       echo '<br />';
      echo '' . $row['p.post_text'] . '';
       $i++;
    }
 

    ?>
    </body>
    </html>


Encore désolé ça doit être embêtant pour toi
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar spitfire pat » 17 Nov 2008 à 14:14

hu quand je mets
Code: Tout sélectionner
SELECT t.forum_id
, t représente un alias qui désigne la table phpbb_topics, pour bien différencier ce champ de ceux qui viennent de phpbb_posts, mais le nom du champ reste forum_id, on le retrouve donc par $row['forum_id'] et non par $row['t.forum_id']
enlève donc tous les t. ou p. qui se trouvent après $row[
par ailleurs comme tu n'utilises pas de table, l'emploi de $row_colour ne sert à rien, il était utilisé dans cette ligne
Code: Tout sélectionner
echo'<tr bgcolor="$row_colour">';


PS il faut ajouter
Code: Tout sélectionner
 GROUP BY t.topic_id
avant ORDER BY, sinon ce seront les 10 premiers posts du même topic qui s'afficheront

EDIT et j'ai écrit une bêtise, c'est
Code: Tout sélectionner
ON p.post_id=t.topic_first_post_id
qu'il faut écrire et non
Code: Tout sélectionner
ON p.topic_id=t.topic_first_post_id
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 17 Nov 2008 à 14:58

je te remercie ça marche parfaitement (d'ailleurs tu peux aller voir)
Par contre, hum, il m'affiche un texte "brut" et les balises img etc ne sont pas affiché, je pense que c'est à cause du bbcode hmm... As tu une idée ?
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar spitfire pat » 17 Nov 2008 à 15:30

GhostKiller a écrit:je te remercie ça marche parfaitement (d'ailleurs tu peux aller voir)
Par contre, hum, il m'affiche un texte "brut" et les balises img etc ne sont pas affiché, je pense que c'est à cause du bbcode hmm... As tu une idée ?

bien sûr, je préférais que vous procédiez par étapes afin de constater de visu le problème ce qui est mieux pour la compréhension, plutôt que vous livrer le code intégral à copier-coller 8)
d'abord il convient de mettre en début de fichier
Code: Tout sélectionner
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);


ensuite, dans la boucle de lecture des résultats de la requête
Code: Tout sélectionner
$message = $row['post_text'];

si on a censuré des mots, c'est à remplacer par
Code: Tout sélectionner
$message = censor_text($row['post_text']);


ensuite on décode les bbcodes
Code: Tout sélectionner
$bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);


on gère les sauts de ligne
Code: Tout sélectionner
$message = bbcode_nl2br($message);


et enfin on décode les smilies
Code: Tout sélectionner
$message = smiley_text($message);
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 17 Nov 2008 à 16:36

Code: Tout sélectionner
    <?php
    define('IN_PHPBB', true);
    $phpbb_root_path =  './../phpBB3/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    $forum_id = 35;
$where = ($forum_id) ? " WHERE t.forum_id=$forum_id" : '';
$sql = 'SELECT t.forum_id,t.topic_id, t.topic_time, t.topic_title, t.topic_replies, t.topic_poster, t.topic_first_poster_name, t.topic_first_poster_colour, p.post_text, p.bbcode_bitfield, p.bbcode_uid
       FROM ' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id ' .
          $where .
        ' GROUP BY t.topic_id ';
          ' ORDER BY topic_time DESC ' .
          ' LIMIT 0 , 10 ';


    $result = $db->sql_query($sql);
    ?>
    <html>
    <head>
       <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
       <title>Les dernières news</title>
       <style type="text/css">
          th{
             background-color: #0066FF;
             color: #FFFF99;
          }
       </style>
    </head>
    <body>
    <?php
    $i=0;
    while($row = $db->sql_fetchrow($result))
    {
      $message = $row['post_text'];
      $bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
   $message = bbcode_nl2br($message);
   $message = smiley_text($message);
       $topic_id = $row['topic_id'];
       $view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
       $row_colour = ($i % 2) ? '#FFFFCC' : '#99FFFF';
       echo 'Titre: <a href="' . $view_topic_url . '">' . censor_text($row['topic_title']) . '</a><br />';
       echo $user->lang['POST_BY_AUTHOR'] . '&nbsp;' . get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']);
       echo '&nbsp;' . $user->lang['POSTED_ON_DATE'] . '&nbsp;' . $user->format_date($row['topic_time']) . '';
       echo '<br />' . $row['topic_replies'] . ' commentaires';
       echo '<br />';
      echo 'Sujet:' . $row['post_text'] . '<br /><br /><br />';
       $i++;
    }
 

    ?>
    </body>
    </html>


Encore merci
Modification apporté, voici l'érreur :s

http://www.wakfu-france.fr/wakfu-france/news.php
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar spitfire pat » 17 Nov 2008 à 17:34

oups, j'ai oublié une ligne
Code: Tout sélectionner
$bbcode = new bbcode(base64_encode($row['bbcode_bitfield']));
à mettre après
Code: Tout sélectionner
$message = $row['post_text'];

quant à cette erreur
[phpBB Debug] PHP Notice: in file /includes/session.php on line 990: Cannot modify header information - headers already sent by (output started at /homez.59/wakfufra/www/wakfu-france/news.php:1)
elle vient de ce que tu as du texte avant <?php (en tous cas, il y a 4 espaces avant le <?php dans les lignes que tu as mises)
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 17 Nov 2008 à 17:56

Merci,

Toujours du texte brut :p

Code: Tout sélectionner
<?php
    define('IN_PHPBB', true);
    $phpbb_root_path =  './../phpBB3/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    $forum_id = 35;
$where = ($forum_id) ? " WHERE t.forum_id=$forum_id" : '';
$sql = 'SELECT t.forum_id,t.topic_id, t.topic_time, t.topic_title, t.topic_replies, t.topic_poster, t.topic_first_poster_name, t.topic_first_poster_colour, p.post_text, p.bbcode_bitfield, p.bbcode_uid
       FROM ' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id ' .
          $where .
        ' GROUP BY t.topic_id ';
          ' ORDER BY topic_time DESC ' .
          ' LIMIT 0 , 10 ';


    $result = $db->sql_query($sql);
    ?>
    <html>
    <head>
       <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
       <title>Les dernières news</title>
       <style type="text/css">
          th{
             background-color: #0066FF;
             color: #FFFF99;
          }
       </style>
    </head>
    <body>
    <?php
    $i=0;
    while($row = $db->sql_fetchrow($result))
    {
      $message = $row['post_text'];
      $bbcode = new bbcode(base64_encode($row['bbcode_bitfield']));
      $bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
   $message = bbcode_nl2br($message);
   $message = smiley_text($message);
       $topic_id = $row['topic_id'];
       $view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
       $row_colour = ($i % 2) ? '#FFFFCC' : '#99FFFF';
       echo 'Titre: <a href="' . $view_topic_url . '">' . censor_text($row['topic_title']) . '</a><br />';
       echo $user->lang['POST_BY_AUTHOR'] . '&nbsp;' . get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']);
       echo '&nbsp;' . $user->lang['POSTED_ON_DATE'] . '&nbsp;' . $user->format_date($row['topic_time']) . '';
       echo '<br />' . $row['topic_replies'] . ' commentaires';
       echo '<br />';
      echo 'Sujet:' . $row['post_text'] . '<br /><br /><br />';
       $i++;
    }
 

    ?>
    </body>
    </html>


http://www.wakfu-france.fr/wakfu-france/news.php
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar spitfire pat » 17 Nov 2008 à 18:38

tsk, tsk, tsk, un peu de réflexion que diable 8)
tu me vois faire des transformations de $row['post_text'] vers une variable $message
Code: Tout sélectionner
$message = $row['post_text'];
      $bbcode = new bbcode(base64_encode($row['bbcode_bitfield']));
      $bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
   $message = bbcode_nl2br($message);
   $message = smiley_text($message);

et tu n'as pas eu l'idée de te dire que le contenu du post c'était désormais $message ? et qu'il fallait remplacer
Code: Tout sélectionner
echo 'Sujet:' . $row['post_text'] . '<br /><br /><br />';
par
Code: Tout sélectionner
echo 'Sujet:' . $message . '<br /><br /><br />';
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 17 Nov 2008 à 18:57

Ah oui, en effet j'ai pas fais attention, :oops:

A vrai dire je commence à m'y perdre. Sinon c'est vraiment parfais :D
Est il possible de générer un lien, pour afficher les anciennes news, si elles dépassent 10 sur la page ? :o

Edit; Que faut il déclarer pour afficher l'avatar de celui qui poste ? :o

Code: Tout sélectionner
<?php
    define('IN_PHPBB', true);
    $phpbb_root_path =  './../phpBB3/';
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    $forum_id = 35;
$where = ($forum_id) ? " WHERE t.forum_id=$forum_id" : '';
$sql = 'SELECT t.forum_id,t.topic_id, t.topic_time, t.topic_title, t.topic_replies, t.topic_poster, t.topic_first_poster_name, t.topic_first_poster_colour, p.post_text, p.bbcode_bitfield, p.bbcode_uid, u.user_avatar
       FROM ' . TOPICS_TABLE . ' t JOIN ' . USERS_TABLE . ' u JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id ' .
          $where .
        ' GROUP BY t.topic_id ';
          ' ORDER BY topic_time DESC ' .
          ' LIMIT 0 , 10 ';


    $result = $db->sql_query($sql);
    ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
   <title>Wakfu France</title>
   <meta name="description" content="Wakfu le nouveau MMORPG tactique d'Ankama Games. Wakfu France, toute l'actualité de Wakfu. Retrouvez toutes les classes, le bestiaire, les recettes de craft de Wakfu." />
   <meta name="keywords" content="Wakfu, Dofus, ankama" />
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="alternate stylesheet" media="screen" type="text/css" title="Wakfu Sombre" href="img/wakfunoir/css.css" />
<link rel="stylesheet" media="screen" type="text/css" title="Wakfu Clair" href="img/wakfublanc/css.css" />
   </head>
<body id="top">
<form method="POST" action="" name="nav">   
   <div style="border-bottom: 1px solid rgb(142, 128, 128); margin: 0px; padding: 0px; position: absolute; top: 0px; left: 0px; z-index: 9; height: 32px; width: 100%; background-color: rgb(0, 0, 0); background-image: url(/taverne_wakfu/themes/sram/images/quickjump_background_black.jpg); background-repeat: repeat-x;">
      <div style="float: right; padding-top: 7px; color:#FFFFFF;">
<?php
// Enregistrons les informations de date dans des variables

$jour = date("d");
$mois = date("m");
$annee = date("Y");

$heure = date("H");
$minute = date("i");

// Maintenant on peut afficher ce qu'on a recueilli
echo "Bonjour ! Nous sommes le $jour/$mois/$annee et il est $heure h $minute.";
?>
   <select name="SelectURL" onchange="document.location.href=document.nav.SelectURL.options[document.nav.SelectURL.selectedIndex].value" style="background-color: rgb(206, 188, 119) none repeat scroll 0%; color: rgb(56, 56, 56); font-size: 9pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" size="1">
      <option>Liens utiles</option>
      <option value="../">Portail</option>
      <option value="../wakfu-france/">WF Accueil</option>
      <option value="../wakfu-tv/">W-TV Acceuil</option>
      <option value="../phpBB3/">Forum</option>
   </select>
   &nbsp;&nbsp;&nbsp;
</div>
</div>
</form>
<!-- /*************** Header *************/ -->
<div id="header">
</div>

<!-- /*************** Sous Header *************/ -->

<div id="sousheader1">
</div>

<a id="sousheader" href="index.php">
<div id="sousheader2">
</div>
</a>

<a id="sousheader" href="../phpBB3/index.php">
<div id="sousheader3">
</div>
</a>

<a id="sousheader" href="chat.php">
<div id="sousheader4">
</div>
</a>

<a id="sousheader" href="contact.php">
<div id="sousheader5">
</div>
</a>

<div id="sousheader6">
</div>

<!-- /*************** PageJPG *************/ -->
<div id="page">
<!-- /*************** mise en page a gauche du menu *************/ -->
<div id="gauche">
<div id="menu_wakfu">
<a title="RSS Feed" href="http://www.wakfu-france.fr/cutenews/rss.php?number=10">
<img style="border: 0; margin-left: 20px; margin-top: 20px;" src="http://www.wakfu-france.fr/wakfu-france/cutenews/skins/images/rss.jpg"/>
</a>
</div>
<div id="menu">
   <ul>
   <li><a href="http://www.wakfu-france.fr">Retour au Portail</a></li><br />
      <li><a href="index.php">Accueil</a></li>
      <li><a href="../phpBB3/index.php">Forum</a></li>   
      <li><a href="chat.php">Chat</a></li>   
      <li><a href="contact.php">Contact</a></li>   
   </ul>
</div>
<div id="menu_bas"></div>

<div id="menu_jeu"></div>
<div id="menu">
<ul>
      <li style="margin-left: 20px";>La Légende</li>
      <li><a href="ogrest.php">Ogrest</a></li>
      <li><a href="lesdofus.php">Les six Dofus</a></li>   
      <br /><li style="margin-left: 30px";>Wakfu</li>
      <li><a href="lemondedewakfu.php">Le Monde De Wakfu</a></li>
      <li><a href="lesfactions.php">Les Factions</a></li>
      <li><a href="lescombats.php">Les combats</a></li>
      <li><a href="ecosysteme.php">L'écosystème</a></li>
</ul>
</div>
<div id="menu_bas"></div>

<div id="menu_database"></div>
<div id="menu">
   <ul>
      <li><a href="classes.php">Les Classes</a></li>
      <li><a href="#">Le Bestiaire</a></li>   
   </ul>
</div>
<div id="menu_bas"></div>

<div id="menu_media"></div>
<div id="menu">
   <ul>
      <li><a href="screenshots.php">Screenshots</a></li>
   </ul>
</div>
<div id="menu_bas"></div>

<div id="menu_partenaire"></div>
<div id="menu">
<a href="http://www.taverne-wakfu.com/" target="_blank" title="Taverne_Wakfu">
    <img style="margin: 10px 0 0 45px;" src="http://www.taverne-wakfu.com/wakfu_image/taverne_wakfu_partenaire.gif" /></a>
   <a href="http://www.jeuxvideopc.com/" target="_blank" title="Taverne_Wakfu">
    <img style="margin: 10px 0 0 45px;" src="http://img.jeuxvideopc.com/images/bannieres/dusite/88x31-01.gif" /></a>
</div>
<div id="menu_bas"></div>

</div>
<!-- /*************** FERMETURE GAUCHE ET MENE *************/ -->
<!-- /*************** Contenue de la page *************/ -->
   <div class="global">
    <?php
    $i=0;
    while($row = $db->sql_fetchrow($result))
    {
      $message = $row['post_text'];
      $bbcode = new bbcode(base64_encode($row['bbcode_bitfield']));
      $bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
   $message = bbcode_nl2br($message);
   $message = smiley_text($message);
       $topic_id = $row['topic_id'];
       $view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
       $row_colour = ($i % 2) ? '#FFFFCC' : '#99FFFF';
       echo '<div class="contenu_haut"><a href="' . $view_topic_url . '">' . censor_text($row['topic_title']) . '</a></div>';
      echo '<div class="contenu"><p style="margin-top: 0px;">' . $message . '<br /></p></div><div class="contenu_bas"><p style="float: left; display:online; margin-left: 20px; margin-top: 0px;">';
       echo $user->lang['POST_BY_AUTHOR'] . '&nbsp;' . get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']);
       echo '&nbsp;' . $user->lang['POSTED_ON_DATE'] . '&nbsp;' . $user->format_date($row['topic_time']) . '';
       echo '</p><p style="float: right; display:online; margin-right: 20px; margin-top: 0px;"><a href="' . $view_topic_url . '">' . $row['topic_replies'] . ' commentaires</a></div>';
       echo '' . $row['user_avatar'] . '';
      $i++;
    }

    ?>

</div></div> <!-- /*************** fermeture de la page  et global*************/ -->
   <div id="pagebas"></div>
   <!-- /*************** fermeture de la page *************/ -->
   
<div id="footer"><p>Copyright: Wakfu-France - Tous droits reservés - Toute reproduction est formellement interdite<br />
<a href="http://www.wakfu.com"><b>Wakfu est un MMORPG</b></a> édité par <a href="http://www.ankama-games.com">Ankama</a>.<br/><br /> <b>" Wakfu France " est un site non-officiel</b> sans aucun lien avec Ankama.
<br />News Powered by <a style='font-size: 9px' href="http://cutephp.com/cutenews/" target="_blank">CuteNews</a><br />
<a href="http://validator.w3.org/check?uri=referer">:: xhtml ::</a>
<a href="http://jigsaw.w3.org/css-validator/check/referer">:: css2 ::</a><br />
<a href="index.php">www.Wakfu-France.fr</a></p></div>
 
</body>
</html>


Voila ce que j'ai essayer pour générer l'avatar de celui qui a poster le topic
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 19 Nov 2008 à 22:05

Excusez moi, personne a une idée ? :s
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar spitfire pat » 20 Nov 2008 à 03:18

GhostKiller
jette donc un oeil dans viewtopic.php pour y voire la méthode utilisée pour afficher l'avatar
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 20 Nov 2008 à 09:46

c'est exactement ce que j'ai fais :o ...

Ok dans un premier temps j'ai charger le contenue de la base sql. Dit moi si c'est bon

Code: Tout sélectionner
$sql = 'SELECT t.forum_id,t.topic_id, t.topic_time, t.topic_title, t.topic_replies, t.topic_poster, t.topic_first_poster_name, t.topic_first_poster_colour, p.post_text, p.bbcode_bitfield, p.bbcode_uid, u.user_avatar
       FROM ' . TOPICS_TABLE . ' t JOIN ' . USERS_TABLE . ' u JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id ' .


Donc la j'ai mit u.user_avatar
Et la par contre pour dire que U c'est users_table j'ai mit
Code: Tout sélectionner
       FROM ' . TOPICS_TABLE . ' t JOIN ' . USERS_TABLE . ' u JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id ' .
c'est juste?

Après dans viewtopic je trouve :
Code: Tout sélectionner
      'POSTER_AVATAR'      => $user_cache[$poster_id]['avatar'],

et
Code: Tout sélectionner
            'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',


(sachant que j'ai pas besoin de récupérer la taille, elle est fixe pour tous les posteurs de news)
alors moi j'ai mit sur mon code :
Code: Tout sélectionner
echo '' . $row['user_avatar'] . '';

m'enfin ça ne marche pas mais déja je pense que dans quand j'arrive même pas à récupérer la donnée u.user_avatar
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar spitfire pat » 20 Nov 2008 à 10:56

GhostKiller a écrit:Et la par contre pour dire que U c'est users_table j'ai mit
Code: Tout sélectionner
       FROM ' . TOPICS_TABLE . ' t JOIN ' . USERS_TABLE . ' u JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id ' .
c'est juste?
non, tu explicites la jointure entre phpbb_posts et phpbb_topics par
Code: Tout sélectionner
ON p.post_id=t.topic_first_post_id
mais la jointure avec phpbb_users n'est pas explicitée. Et puis, avec php5, l'utilisation de parenthèses est préférable:
Code: Tout sélectionner
       FROM ((' . TOPICS_TABLE . ' t JOIN ' . POSTS_TABLE . ' p ON p.post_id=t.topic_first_post_id) JOIN ' . USERS_TABLE . ' u ON p.poster_id=u.user_id '


Après dans viewtopic je trouve :
Code: Tout sélectionner
            'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',

c'est la fonction à utiliser, mais ça suppose que tu récupères dans la requête sql les champs u.user_avatar_type, u.user_avatar_width et u.user_avatar_height

(sachant que j'ai pas besoin de récupérer la taille, elle est fixe pour tous les posteurs de news)
peut_être mais si tu ne récupères pas ces champs, tu ne pourras pas utiliser la fonction get_user_avatar

alors moi j'ai mit sur mon code :
Code: Tout sélectionner
echo '' . $row['user_avatar'] . '';

m'enfin ça ne marche pas mais déja je pense que dans quand j'arrive même pas à récupérer la donnée u.user_avatar

tu n'arrives par à récupéere ce champ, parce que ta jointure n'était pas correcte
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar GhostKiller » 20 Nov 2008 à 11:25

Bonjour et merci, j'ai apporté les modifications et une erreur

http://www.wakfu-france.fr/news.php

en ce qui concerne la fonction
Code: Tout sélectionner
                'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',


la je ne fais que la déclarer ?
Il me faudra mettre
Code: Tout sélectionner
$poster_id['avatar'],
pour l'afficher ?
Image
GhostKiller
Posteur néophyte
Posteur néophyte
 
Messages: 52
Inscription: 18 Avr 2007 à 20:16

Re: [INFO] sur l'utilisation des sessions de phpBB3 sur son site

Messagepar spitfire pat » 20 Nov 2008 à 12:19

nan, la ligne en question assigne une variable template
si ton script n'est pas templaté, alors tu fais
Code: Tout sélectionner
echo ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '';

ou bien
Code: Tout sélectionner
$avatar_img = ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '';
echo $avatar_img;

tu n'as pas besoin de préparer un <img src="..........." />, la fonction s'en occupe
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

PrécédenteSuivante

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot] et 2 invités

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant