Index du forum »»  Questions »» Les dix derniers posts affichés en accueil.

Nouveau sujet
 Les dix derniers posts affichés en accueil.#21018Répondre

11Contributeur(s)
Isabelle83reef-passionFiaschiFURAX69leloup31dechoimdeveloppeurla_marquisegilbauJireck
3 Modérateur(s)
developpeurjpbJireck
leloup31 leloup31icon_post
sur le site reef-passion il les prends en compte. :-?
oim oimicon_post
T'en es sur :-o
Et pourquoi ca "where forum_id!=13" dans la requête.
----
J'ai vérifié avec le bloc forum intégré qui lui fonctionne !
Y'a un truc que je pige pas dans ce meta comment il peut prendre en cpte les groupes alors qu'il n'y a aucune requête pour cela :-?
leloup31 leloup31icon_post
Je pense que reef-passion pourra donner plus de renseignements.
Il y a aussi un autre meta ici: http://modules.npds.org/viewtopic.php?topic=2155&forum=47
oim oimicon_post
Slt, c'est le même :-D
reef-passion reef-passionicon_post
Non en fait sur passion ce n'est pas la prise en compte d'un groupe c'est c'imple la requête qui exclue l'ID d'un forum (en l'occurence le 13 de mémoire sur passion) raison toute bête il n'est visible que pour le groupe des bons :lol: or le meta !last_forums n'en tenait pas compte

c'est cette ligne qui est modifiée il suffit juste de mettre le bon ID du forum à exclure


$result = mysql_query("select distinct topic_id from posts where forum_id!=13 order by post_id desc limit $maxcount");

Pour le non php men or girls cela signifie "où le forum _id est différent de"
Voili voilou on peut mettre autant de forum que l'on veut
oim oimicon_post
Slt, j'essaye de modifier le meta mais c compliqué vu le nbres de tables qu'utilisent les forums.
reef-passion reef-passionicon_post
tu veux en faire quoi?
oim oimicon_post
Slt, qu'il prenne en compte les groupes !
oim oimicon_post
Slt, le code prend en cpte les groupes et la couleur des dossiers, on peut le mettre dans un fichier qu'on appelle dans un bloc, ou remplacer la fonction RecentForumPosts dans powerpack_f.php et l'appeler function#RecentForumPosts. Si c'est un fichier remplacer boxstuff par des echo.
//Par contre il doit être vérifié par programmeur parce que c'est moi qui l'est fait :-D (...et c'est pas gagné)//


    global $cookie,$parse, $user, $bgcolor1, $bgcolor2, $bgcolor3,$bgcolor4, $bgcolor5, $bgcolor6;

    $maxcount=10;//Nbre de messages
    $mbid = mysql_fetch_row(mysql_query("SELECT uid FROM users WHERE uname='$cookie[1]'"));
    $rowcolor=tablos();
$boxstuff="<table cellspacing=\"3\" cellpadding=\"1\" class=\"cadre_mi\" width=\"100%\" border=\"0\"><tr align=\"center\" bgcolor=$bgcolor4>" ;
$boxstuff.="<td><b>Etat</b></td><td width=\"15%\"><b>Forum</b></td><td width=\"55%\"><b>Sujet</b></td><td width=\"20%\"><b>Date</b></td><td width=\"25%\"><b>Dernier Auteur</b></td></tr>";
    $result = mysql_query("select distinct topic_id from posts order by post_id desc limit $maxcount");
    if (!$count) $count = mysql_num_rows($result);
    if ($count>$maxcount)$count=$maxcount;
    $ibid=0;
    $forum_limit=0;
    while ($forum_limit<$count){
    $classe = tablos();
       list($topic_id) = mysql_fetch_row($result);
       list($post_id, $forum_id, $poster_id, $time) = mysql_fetch_row(mysql_query("select post_id, forum_id, poster_id, post_time from posts where topic_id = $topic_id order by post_id desc limit 1"));
    $forum_limit++;
    if ($topic_id!=0) list($topic_title) = mysql_fetch_row(mysql_query("select topic_title,forum_id from forumtopics where topic_id=$topic_id"));
    if ($forum_id!=0) list($forum_name,$forum_type,$forum_pass) = mysql_fetch_row(mysql_query("select forum_name,forum_type,forum_pass from forums where forum_id=$forum_id"));
       if (($forum_type == "5") or ($forum_type == "7")) {
          $ok_affich=false;
          $tab_groupe=valid_group($user);
          $ok_affich=groupe_forum($forum_pass, $tab_groupe);
       } else {
          $ok_affich=true;
       }
       if ($ok_affich) {
     if ($poster_id!=0) list($uname) = mysql_fetch_row(mysql_query("select uname from users where uid=$poster_id"));
$boxstuff.="<tr $rowcolor>";

   if ($ibid=theme_image("forum/icons/hot_red_folder.gif")) {$imgtmpHR=$ibid;} else {$imgtmpHR="images/forum/icons/hot_red_folder.gif";}
   if ($ibid=theme_image("forum/icons/hot_folder.gif")) {$imgtmpH=$ibid;} else {$imgtmpH="images/forum/icons/hot_folder.gif";}
   if ($ibid=theme_image("forum/icons/red_folder.gif")) {$imgtmpR=$ibid;} else {$imgtmpR="images/forum/icons/red_folder.gif";}
   if ($ibid=theme_image("forum/icons/folder.gif")) {$imgtmpF=$ibid;} else {$imgtmpF="images/forum/icons/folder.gif";};

   $sqlR = "SELECT rid FROM forum_read WHERE topicid='$topic_id' and uid='$mbid[0]' and topicid='$topic_id' and status!='0'";
   $TableRep=mysql_query("SELECT * FROM posts WHERE topic_id='$topic_id'");
   $replys=mysql_NumRows($TableRep);
   $hot_threshold=10;//Nbres sujets chauds
            if ($replys >= $hot_threshold) {
               if (mysql_num_rows(mysql_query($sqlR))==0)
                 $image = $imgtmpHR;
               else
                 $image = $imgtmpH;
            } else {
                if (mysql_num_rows(mysql_query($sqlR))==0)
                   $image = $imgtmpR;
               else
                  $image = $imgtmpF;
            }

            if ($myrow[topic_status]!=0)
               $image = $imgtmpL;
$boxstuff.="<td align=\"center\"><img src=\"$image\"></td><td>$forum_name</td><td align=\"left\">";
$boxstuff.="<a href=\"viewtopic.php?topic=$topic_id&forum=$forum_id\">$topic_title</a></td>";
$boxstuff.="<td align=\"center\">$time</td> " ;
$boxstuff.="<td><a href=\"user.php?op=userinfo&uname=$uname\">$uname</a></td>\n";
    }
   }
$boxstuff.="</tr></table>";
    return ($boxstuff);


P.S. : Je n'ai fait des tests quand local, vous aussi...
oim oimicon_post
Slt, si le titre est trop long ou pour ne pas qu'il déborde remplacer la ligne "td.. topic_title" par :


   $max_caracteres=30;//Nbres de caractères pour le titre
       if (strlen($topic_title)>$max_caracteres)
       {
       $topic_title = substr($topic_title, 0, $max_caracteres);
       $topic_title = $topic_title."...";
       }
$boxstuff.="<a href=\"viewtopic.php?topic=$topic_id&amp;forum=$forum_id\">$topic_title</a></td>";

developpeur developpeuricon_post
j'ai lu assez rapidement mais ca me semble logique. Joli travail :-)
la_marquise la_marquiseicon_post
Bonjour,

j'ai beaucoup épuré npds pour l'esthétique de mon site, le système lastforum fonctionne nickel, bravo à ses concepteurs, mais je souhaiterais retirer les icônes devant les sujets.

Pouvez vous m'indiquer les lignes à supprimer/modifier dans mon code pour qu'aucune icône n'apparaisse ?




#autodoc !lastforums! : Affiche les X derniers posts des forums avec un icone correspondant à lu/non-lu
$maxcount = "15"; //Remplacez le nombre par le nombre de sujets que vous voulez afficher
$meta_mot="!lastforums!";
global $cookie;
$mbid = mysql_fetch_row(mysql_query("SELECT uid FROM users WHERE uname='$cookie[1]'"));
$corps = "<table width=\"100%\" border=1 bordercolor=$bgcolor4 cellpadding=2 cellspacing=0 bgcolor=$bgcolorblock><tr align=center bgcolor=$bgcolor2>" ;
$corps .= "<td></td><td width=55%><font size=2><b>Sujet</b></font></td><td width=20%><font size=2><b>Date</b></font></td><td width=25%><font size=2><b>Auteur</b></font></td></tr>";
$result = mysql_query("select distinct topic_id from posts where forum_id!=99 order by post_id desc limit $maxcount");
if (!$count) $count = mysql_num_rows($result);
if ($count>$maxcount)$count=$maxcount;
$ibid=0;
$forum_limit=0;
while ($forum_limit<$count){
list($topic_id) = mysql_fetch_row($result);
list($post_id, $forum_id, $poster_id, $time) = mysql_fetch_row(mysql_query("select post_id, forum_id, poster_id, post_time from posts where topic_id = $topic_id order by post_id desc limit 1"));
$forum_limit++;
if ($topic_id!=0) list($topic_title) = mysql_fetch_row(mysql_query("select topic_title from forumtopics where topic_id=$topic_id"));
if ($poster_id!=0) list($uname) = mysql_fetch_row(mysql_query("select uname from users where uid=$poster_id"));
if ($ibid==0) {
$ibid=1;
$bcolor=$bgcolor1;
} else {
$ibid=0;
$bcolor=$bgcolor3;
}
$corps .= "<tr align=center bgcolor=$bcolor>" ;
$p="ph";
$h="p";
$sqlR = "SELECT rid FROM forum_read WHERE topicid='$topic_id' and uid='$mbid[0]'";
if ($replys >= $hot_threshold) {
if ((mysql_num_rows(mysql_query($sqlR))== 0)) { $image = "images/forum/icons/hot_red_folder.gif"; }
else { $image = "images/forum/icons/hot_folder.gif"; }
} else {
if (mysql_num_rows(mysql_query($sqlR))==0) { $image = "images/forum/icons/red_folder.gif"; }
else { $image = "images/forum/icons/folder.gif"; }
if ($myrow[topic_status] == 1) { $image = "images/forum/icons/lock.gif"; }
}
$corps .= "<td><img src=\"$image\"><td align=left><font size=2 face=\"tahoma,$site_font\" color=$textcolor1>";
$corps .= " <a href=\"viewtopic.".$p.$h."?topic=$topic_id&forum=$forum_id\"> $topic_title</ a></font></td>";
$corps .= "<td align=center><font size=1 face=\"tahoma,$site_font\" color=$textcolor1>$time</font></td> " ;
$corps .= "<td><font size=2 face=\"tahoma,$site_font\" color=$textcolor1><a href=\"user.".$p.$h."?op=userinfo&uname=$uname\">$uname</a></fo nt> </td></font></tr>";
}
$corps .="</table>";
$Xcontent=extend_meta_mot($Xcontent,$meta_mot,$corps);

?>



Merci beaucoup :=!

http://effetmer.free.fr
gilbau gilbauicon_post
Est ce que ce metamot lastforum peut fonctionner sous revoltion W11 ?
ou existe il un équivallent qui tourne sur revolution
Jireck Jireckicon_post
oui il fonctionne et trouvable sur module.
gilbau gilbauicon_post
Merci sauf que je ne vois pas comment l'installer puisque d'apres ce que je comprends il fait parti des anciens meta-mots npds et que maintenant le code est dans la table metalang sauf justement pour les anciens qui ont des ! avant et après le meta-mot dont le code n'est pas dans la base de données et que je ne le trouve pas ailleurs