J'aimerais modifier légérement cette fonction PHP, un peu d'aide svp

J'aimerais modifier légérement cette fonction PHP, un peu d'aide svp - PHP - Programmation

Marsh Posté le 20-09-2006 à 02:14:07    

c'est une fonction qui affiche les titres des 50 derniers messages d'un forum SMF, le probleme c'est que quand on répond a un topic, la réponse est considéré comme un nouveau topic  qui se up comme si c'était un vraie nouveau topic, du genre :" re : (nom du topic) - posté par foxus666" (donc il ne fait que rajouter "re : " devans le nom du topic, ce qui ne présente aucun interets, vous comprenez ?
comment supprimer ça ? empecher les réponse au topic de se upé de la sorte ?  
 
 
exemple concret de ce qu'affiche cette fonction :

Citation :


SGFE : c'est repartie ...
par: Red-Fox
Manifestation en France...
par: Red-Fox
Re : Armée : une libel... (ne plus affiché ça)
par: Red-Fox
un gros test
par: Red-Fox
Armée : une libellule ...
par: Red-Fox
Re : salut (ne plus affiché ça)
par: Red-Fox
salut
par: Red-Fox
Re : Bienvenue dans SMF !  (ne plus affiché ça)
par: Red-Fox
Bienvenue dans SMF !
par: Simple Machines


 
 
 
voici la fonction :
 

Code :
  1. function get_last_posts($by, $sdate)
  2.  {
  3.  global $DB, $mklib, $mkportals, $db_prefix, $user_info, $modSettings;
  4.  $limit = 50;
  5.  $taglio = 25;
  6.  $db_prefix = DBPREFIX;
  7.  $sql = "SELECT
  8.   m.posterTime, m.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG,
  9.   IFNULL(mem.realName, m.posterName) AS posterName, t.ID_BOARD, b.name AS bName,
  10.   m.body, m.smileysEnabled
  11.  FROM {$db_prefix}messages AS m, {$db_prefix}topics AS t, {$db_prefix}boards AS b
  12.   LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
  13.   WHERE t.ID_TOPIC = m.ID_TOPIC
  14.   AND b.ID_BOARD = t.ID_BOARD" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
  15.   AND b.ID_BOARD != $modSettings[recycle_board]" : '') . "
  16.   AND $user_info[query_see_board]
  17.  ORDER BY m.ID_MSG DESC
  18.  LIMIT $limit";
  19.  $DB->query($sql);
  20.  while ( $post = $DB->fetch_row() ) {
  21.     $title = strip_tags($post['subject']);
  22.  $title = str_replace( "!" , "!" ,$title );
  23.  $title = str_replace( """, "\"", $title );
  24.   if (strlen($title) > $taglio) {
  25.    $title = substr( $title,0,($taglio - 3) ) . "...";
  26.    $title = preg_replace( '/&(#(\d+;?)?)?(\.\.\.)?$/', '...',$title );
  27.   }
  28.   $date  = $mklib->create_date($post['posterTime']);
  29.  $tid = $post['ID_TOPIC'];
  30.  $mid = $post['ID_MEMBER'];
  31.  $mname = $post['posterName'];
  32.  $content .= "
  33.    <tr>
  34.      <td width=\"100%\" class=\"tdblock\">
  35.      <a class=\"uno\" href=\"$mkportals->forum_url/index.php?topic=$tid\"><font color=\"blue\">$title</font></a>
  36.      </td>
  37.    </tr>
  38.    <tr>
  39.      <td class=\"tdglobal\">
  40.      <a class=\"uno\" href=\"$mkportals->forum_url/index.php?action=profile;u=$mid\">$by: $mname</a>
  41.      </td>
  42.    </tr>
  43.  ";
  44.   }
  45.  return $content;
  46. }


 
 
Un gros merci par avance


Message édité par Foxus666 le 20-09-2006 à 02:15:02
Reply

Marsh Posté le 20-09-2006 à 02:14:07   

Reply

Marsh Posté le 20-09-2006 à 04:08:41    

ca vient de l'enregistrement du post, pas de cette fonction  [:spamafote]

Reply

Marsh Posté le 20-09-2006 à 15:40:49    

si si TheRom_s c'est bien cette fonction
 
personen peu m'indiquer une piste ?
 
merci beaucoup

Reply

Marsh Posté le 20-09-2006 à 17:02:48    

TheRom_s a raison : le "Re :" ne vient pas de cette fonction (la preuve, on ne trouve pas cette chaîne dans le code) mais de la fonction chargée de créer un nouveau topic. Maintenant, si tu le veux pas remonter ces topics, t'as qu'à filtrer sur tous les topics qui ne commencent par "Re : "

Reply

Marsh Posté le 20-09-2006 à 17:33:12    

ha ? mais dans cette fonction on vois comment se nomme l'autre fonction qui remonte les réponse ? car la je vois pas en faite...
 
oui j'aimerais filtrer a la limite, mais c'est pas facile nan ?

Reply

Marsh Posté le 20-09-2006 à 17:42:18    

filtrer, c'est facile avec la clause where. Par ex, tu peux rajouter dans le where un truc du genre AND m.subject NOT LIKE "Re : %".

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed