NPDS : Modification de memberslist.php
Posté le 27 octobre, 2008
FURAX69 sur les forums de NPDS, à posé la question de savoir comment rajouter une colonne dans le fichier memberslist.php contenant le nombre de posts du membre.
Ce ne fut pas trop difficile, une petite jointure et le tour fut joué …

Par l’inconveniant de ce champs est qu’il contient en plus des posts, les commentaires donc ce champs n’est pas fiable.
Voici le code pour rajouter ce champs :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | if (($cache_obj->genereting_output==1) or ($cache_obj->genereting_output==-1) or (!$SuperCache) or ($admin)) { alpha(); SortLinks($letter); $min = $pagesize * ($page - 1); $max = $pagesize; $count = "SELECT COUNT(uid) AS total FROM ".$NPDS_Prefix."users "; //Modif Hotfirenet /* Requete de Base $select = "select uid, name, uname, femail, url, user_regdate, user_from, email, is_visible, user_viewemail, user_avatar, mns from ".$NPDS_Prefix."users "; */ $select = "SELECT a.uid, a.name, a.uname, a.femail, a.url, a.user_regdate, a.user_from, a.email, a.is_visible, a.user_viewemail, a.user_avatar, a.mns, b.posts FROM ".$NPDS_Prefix."users AS a "; $select .= " INNER JOIN ".$NPDS_Prefix."users_status AS b ON a.uid = b.uid "; //Fin Modif Hotfirenet if ( ( $letter != "".translate("Other")."" ) AND ( $letter != "".translate("All")."" ) ) { $where = "WHERE uname LIKE '".$letter."%'"; } else if ( ( $letter == "".translate("Other")."" ) AND ( $letter != "".translate("All")."" ) ) { $where = "WHERE uname REGEXP \"^\[1-9]\" "; } else { $where = ""; } global $member_invisible; if ($member_invisible) { if ($admin) $and=""; else { if ($where) $and="AND is_visible=1 "; else $and="WHERE is_visible=1 "; } } else { $and=""; } $sort = "ORDER BY $sortby"; $limit = " LIMIT ".$min.", ".$max; $count_result = sql_query($count.$where); list($num_rows_per_order) = sql_fetch_row($count_result); $result = sql_query($select.$where.$and.$sort.$limit); echo "<br />"; if ( $letter != "front" ) { echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"1\" border=\"0\"><tr class=\"header\">\n"; echo "<td class=\"box\"><span style=\"font-size: 10px;\"><b>".translate("Nickname")."</b></span></td>\n"; echo "<td class=\"box\"> </td>\n"; echo "<td class=\"box\" align=\"center\"> </td>"; echo "<td class=\"box\" align=\"center\"> </td>"; echo "<td class=\"box\"><span style=\"font-size: 10px;\"><b>".translate("Real Name")."</b></span></td>\n"; if ($sortby!="user_from ASC") { echo "<td class=\"box\"><span style=\"font-size: 10px;\"><b>".translate("Email")."</b></span></td>\n"; } else { echo "<td class=\"box\"><span style=\"font-size: 10px;\"><b>".translate("Location")."</b></span></td>\n"; } echo "<td class=\"box\"><span style=\"font-size: 10px;\"><b>".translate("URL")."</b></span></td>\n"; $cols = 7; if ($admin) { $cols = 9; echo "<td class=\"box\" align=\"center\" width=\"12%\"><span style=\"font-size: 10px;\"><b>".translate("Functions")."</b></span></td><td class=\"box\"> </td>\n"; } //Modif Hotfirenet echo "<td class=\"box\">Nb de post</td>"; //Fin Modif Hotfirenet echo "</tr>"; $a = 0; $num_users = sql_num_rows($result); if ( $num_rows_per_order > 0 ) { global $anonymous, $user; while($temp_user = sql_fetch_assoc($result) ) { $rowcolor = tablos(); if ($temp_user[mns]) {$mns="<a href=\"minisite.php?op=$temp_user[uname]\" alt=\"\" title=\"".translate("Mini-Web site")."\" target=\"_blank\" class=\"heada\"><b>(w)</b></a>";} else {$mns="";} echo "<tr $rowcolor><td><a href=\"user.php?op=userinfo&uname=$temp_user[uname]\" alt=\"\" title=\"".date(translate("dateinternal"),$temp_user[user_regdate])."\" class=\"heada\">$temp_user[uname]</a> $mns</td>\n"; echo "<td valign=\"middle\">"; if ($ibid_avatar=avatar($temp_user[user_avatar])) echo "<img src=\"".$ibid_avatar."\" width=\"20\" height=\"20\" border=\"0\" alt=\"\" title=\"\" />"; else echo " "; echo "</td>"; if ($temp_user[uname]!=$anonymous) { if ($user) { if ($ibid=theme_image("forum/icons/posticon.gif")) {$imgtmp=$ibid;} else {$imgtmp="images/forum/icons/posticon.gif";} echo "<td><a href=\"replypmsg.php?send=".urlencode($temp_user[uname])."\"><img src=\"$imgtmp\" border=\"0\" alt=\"\" title=\"".translate("Send internal Message")."\" /></a></td>"; echo "<td align=\"center\">"; echo "<a href=\"memberslist.php?letter=$letter&sortby=$sortby&list=$list".urlencode($temp_user[uname]).",&page=$page\" class=\"heada\">"; echo "<b>+</b></a></td>"; } else { echo "<td> </td>"; echo "<td> </td>"; } } else { echo "<td> </td>"; echo "<td> </td>"; } echo "<td><span style=\"font-size: 10px;\">$temp_user[name]</span> </td>\n"; if ($sortby!="user_from ASC") { if ($admin) { echo "<td><a href=\"mailto:".anti_spam($temp_user[email])."\" class=\"noir\"><span style=\"font-size: 10px;\">".substr($temp_user[email],0,strpos($temp_user[email],"@"))."</span></a> </td>\n"; } else { if ($temp_user[user_viewemail]) { echo "<td><a href=\"mailto:".anti_spam($temp_user[email])."\" class=\"noir\"><span style=\"font-size: 10px;\">".substr($temp_user[email],0,strpos($temp_user[email],"@"))."</span></a> </td>\n"; } else { echo "<td><span style=\"font-size: 10px;\">".substr($temp_user[femail],0,strpos($temp_user[femail],"@"))."</span> </td>\n"; } } } else { echo "<td><span style=\"font-size: 10px;\">$temp_user[user_from]</span> </td>\n"; } echo "<td><a href=\"$temp_user[url]\" target=\"_blank\" class=\"noir\"><span style=\"font-size: 10px;\">$temp_user[url]</span></a> </td>\n"; if ($admin) { echo "<td align=\"right\"><table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tr><td align=\"left\" nowrap=\"nowrap\"><a href=\"admin.php?chng_uid=$temp_user[uid]&op=modifyUser\" class=\"noir\"><span style=\"font-size: 10px;\">".translate("Edit")."</span></a>\n"; echo " <a href=\"admin.php?op=delUser&chng_uid=$temp_user[uid]\" class=\"rouge\"><span style=\"font-size: 10px;\">".translate("Delete")."</span></a></td><td>\n"; $op_result = sql_query("select open from ".$NPDS_Prefix."users_status where uid='$temp_user[uid]'"); list($open_user) = sql_fetch_row($op_result); if ($open_user ==1) { echo "<span style=\"font-size: 10px;\">OK</span></td>"; } else { echo "<span style=\"font-size: 10px;\"><b>NOK</b></span></tr></table></td>"; } echo "</tr></table><td>"; if (!$temp_user[is_visible]) { echo "<span style=\"font-size: 10px;\"><b>[I]</b></span></td>"; } else { echo " "; } } //Modif Hotfirenet echo "<td>".$temp_user[posts]."</td>"; //Fin Modif Hotfirenet echo ""; } if ($user) { echo "<tr><td colspan=\"$cols\" align=\"left\">\n"; echo "<hr class=\"ongl\"/><li>".urldecode($list)."</li><br /><hr noshade class=\"ongl\"/>"; echo "[ <a href=\"memberslist.php?letter=$letter&sortby=$sortby&page=$page\" class=\"noir\">".translate("RAZ member's list")."</a> ]"; if ($list) { echo " - [ <a href=\"replypmsg.php?send=".substr($list,0,strlen($list)-3)."\" class=\"noir\">".translate("Write to the list")."</a> ]"; } } echo "</td></tr>\n<tr><td colspan=\"$cols\" align=\"right\">\n"; echo "<br />"; echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"4\" cols=\"3\" border=\"0\"><tr>"; if ( $num_rows_per_order > $pagesize ) { $total_pages = ceil($num_rows_per_order / $pagesize); // How many pages are we dealing with here ?? $prev_page = $page - 1; if ( $prev_page > 0 ) { echo "<td align=\"right\" width=\"15%\" class=\"header\"><a href=\"memberslist.php?letter=$letter&sortby=$sortby&list=$list&page=$prev_page\">"; if ($ibid=theme_image("download/left.gif")) {$imgtmp=$ibid;} else {$imgtmp="images/download/left.gif";} echo "<img src=\"$imgtmp\" border=\"0\" alt=\"".translate("Previous Page")." ($prev_page)\" /></a></td>"; } else { echo "<td width=\"15%\" class=\"header\"> </td>\n"; } echo "<td align=\"center\" width=\"70%\" class=\"header\">"; echo "$num_rows_per_order ".translate("users found for")." <b>$letter</b> ($total_pages ".translate("pages").", $num_users ".translate("users shown").")."; echo "</td>"; $next_page = $page + 1; if ( $next_page < = $total_pages ) { echo "<td align=\"left\" width=\"15%\" class=\"header\"><a href=\"memberslist.php?letter=$letter&sortby=$sortby&list=$list&page=$next_page\">"; if ($ibid=theme_image("download/right.gif")) {$imgtmp=$ibid;} else {$imgtmp="images/download/right.gif";} echo "<img src=\"$imgtmp\" border=\"0\" alt=\"".translate("Next Page")." ($next_page)\" /></a></tr></table></td>"; } else { echo "<td width=\"15%\" class=\"header\"> </td></tr>\n"; } echo "<tr><td colspan=\"3\" align=\"center\" class=\"header\">"; echo "[ "; for($n=1; $n < $total_pages; $n++) { if ($n == $page) { echo "<span class=\"rouge\">$n"; } else { echo "<a href=\"memberslist.php?letter=$letter&sortby=$sortby&list=$list&page=$n\" class=\"box\">$n</a>"; } if ($n >= 150) { // if more than 150 pages are required, break it at 150. $break = true; break; } else { echo " | "; } } if (!isset($break)) { if ($n == $page) { echo "<span class=\"rouge\">$n</span>"; } else { echo "<a href=\"memberslist.php?letter=$letter&sortby=$sortby&list=$list&page=$total_pages\" class=\"box\">$n</a>"; } } echo " ] "; echo "</td></tr>"; } else { echo "<td align=\"center\">"; echo "$num_rows_per_order ".translate("users found")."."; echo "</td>"; } echo "\n"; echo "\n"; } else { echo "<tr><td colspan=\"$cols\" align=\"center\"><br />\n"; echo "<b>".translate("No Members Found for")." $letter</b>\n"; echo "<br /></td></tr>\n"; } echo "\n\n"; } closetable(); } |
Aucun commentaire