logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
27 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 108 452 301

  • Nb. de membres 8 693
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

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
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
Jireck Jireckicon_post
Oui il faut partie des anciens métas car au changement de version il a été catégorisé comme cela.

MAIS, c'est une erreur je pense, il n'y a aucun retour sur le sujet. pour moi, il fonctionne.

Pour information, il est un meta standard donc a ajouté via le meta administrator...

gilbau gilbauicon_post
Oui ca marche donc pour forumL et forumP (je ne vois pas la différence entre les 2) mais en fait je parlais lastforums qui est andien et ne marche pas mais comme les autres fonctionent c'est bon

J'ai mis aussi celui de hotfirenet "dernierCommentaires" et j'aimerais bien qu'il affiche tout simplement une liste de derniers commentaires caratères gras ni puce de numerotation, ni noms d'utilisateur, ni indications de signature


son code c'est


function MM_dernierCommentaires($nbCommentaire = 10, $maLimite = 80) {
    global $NPDS_Prefix;
    $nbCommentaire = arg_filter($nbCommentaire);
    $maLimite = arg_filter($maLimite);
    $sqlSelect = 'SELECT '.$NPDS_Prefix.'posts.topic_id, '.$NPDS_Prefix.'posts.poster_id, '.$NPDS_Prefix.'posts.post_text, '.$NPDS_Prefix.'users.name, '.$NPDS_Prefix.'stories.title
                    FROM '.$NPDS_Prefix.'posts
                        INNER JOIN '.$NPDS_Prefix.'users ON '.$NPDS_Prefix.'posts.poster_id = '.$NPDS_Prefix.'users.uid
                        INNER JOIN '.$NPDS_Prefix.'stories ON '.$NPDS_Prefix.'posts.topic_id = '.$NPDS_Prefix.'stories.sid
                        WHERE forum_id = -1
                            ORDER BY post_id DESC
                            LIMIT '.$nbCommentaire;
    $execSqlSelect = sql_query($sqlSelect);
    $content .= '<ul id="dernierCommentaire">';
    while($dernierCommentaires = sql_fetch_row($execSqlSelect)) {
        $dernierComment = strip_tags($dernierCommentaires[2]);
        if(strlen($dernierComment) >= $maLimite) {
            while($dernierComment[$maLimite - 1] != " ") {
                $maLimite++;
            }
            $dernierComment = substr($dernierComment, 0, $maLimite);
            $dernierComment .= ' ...';
        }
        $remplaceNPDS = str_replace('NPDS', 'npds', $dernierCommentaires[4]);
        $content .= $dernierCommentaires[1] == 1 ? '<li>Anonyme : <a title="'.stripslashes($remplaceNPDS).'" href="article.php?sid='.$dernierCommentaires[0].'">'.stripslashes($dernierComment).'</a></li>' : '<li><a href="user.php?op=userinfo&uname='.$dernierCommentaires[3].'">'.stripslashes($dernierCommentaires[3]).'</a> : <a title="'.stripslashes($remplaceNPDS).'" href="article.php?sid='.$dernierCommentaires[0].'">'.stripslashes($dernierComment).'</a></li>';
    }
    $content .= '</ul>';
    return($content);
}