home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 March / PCWorld_2001-03_cd.bin / KOMUNIK / progweb / progweb.exe / phpnuke / html / memberslist.php < prev    next >
PHP Script  |  2000-12-05  |  6KB  |  160 lines

  1. <?php
  2.  
  3. ######################################################################
  4. # PHP-NUKE: Web Portal System
  5. # ===========================
  6. #
  7. # Copyright (c) 2000 by Francisco Burzi (fburzi@ncc.org.ve)
  8. # http://phpnuke.org
  9. #
  10. # This modules is to have a list of registered users
  11. #
  12. # This program is free software. You can redistribute it and/or modify
  13. # it under the terms of the GNU General Public License as published by
  14. # the Free Software Foundation; either version 2 of the License.
  15. ######################################################################
  16.  
  17. /* Some code taken from MemberList coded by Paul Joseph Thompson */
  18. /* of www.slug.okstate.edu                                       */
  19. /* In memoriam of Members List War ;)                            */
  20.  
  21. if (!IsSet($mainfile)) { include("mainfile.php"); }
  22.  
  23. function alpha() {
  24.     global $sortby;
  25.     $alphabet = 
  26.         array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N",
  27.                "O","P","Q","R","S","T","U","V","W","X","Y","Z","Other");
  28.     echo "[ ";
  29.     while (list(, $ltr) = each($alphabet)) {
  30.     echo "<a href=memberslist.php?op=ListMembers&letter=$ltr&sortby=$sortby>$ltr</a>";
  31.     echo ($ltr != "Other" ? " | " : "");
  32.     }
  33.     echo " ]<br><br>";
  34. }
  35.  
  36. function SortLinks($letter) {
  37.     global $sortby;
  38.     echo "Sort by: ";
  39.     if ($sortby == "uname" OR !$sortby) {
  40.     echo "".translate("nickname")." | ";
  41.     } else {
  42.     echo "<a href=memberslist.php?op=ListMembers&letter=$letter&sortby=uname>".translate("nickname")."</a> | ";
  43.     }
  44.     if ($sortby == "name") {
  45.     echo "".translate("real name")." | ";
  46.     } else {
  47.     echo "<a href=memberslist.php?op=ListMembers&letter=$letter&sortby=name>".translate("real name")."</a> | ";
  48.     }
  49.     if ($sortby == "femail") {
  50.     echo "".translate("fake email")." | ";
  51.     } else {
  52.     echo "<a href=memberslist.php?op=ListMembers&letter=$letter&sortby=femail>".translate("fake email")."</a> | ";
  53.     }
  54.     if ($sortby == "url") {
  55.     echo "".translate("url")." | ";
  56.     } else {
  57.     echo "<a href=memberslist.php?op=ListMembers&letter=$letter&sortby=url>".translate("url")."</a><br><br>";
  58.     }
  59. }
  60.  
  61. function isAlpha($character) {
  62.     $c = Ord($character);
  63.     return ((($c >= 64) && ($c <= 90)) || (($c >= 97) && ($c <= 122)));
  64. }
  65.  
  66. function ListMembers($letter, $sortby) {
  67.     include("header.php");
  68.     global $user;
  69.     if (!$letter) {
  70.     $letter = "A";
  71.     }
  72.     if (!$sortby) {
  73.     $sortby = "uname";
  74.     }
  75.     $result = mysql_query("select uname from users order by uid DESC limit 0,1");
  76.     list($lastuser) = mysql_fetch_row($result);
  77.     echo "<table border=0 width=100% cellpadding=0 cellspacing=1 bgcolor=000000><tr><td>";
  78.     echo "<table border=0 width=100% cellpadding=5 cellspacing=1 bgcolor=FFFFFF><tr><td>";
  79.     echo "<center><b>".translate("Welcome to")." $sitename ".translate("Members List")."</b><br><br>";
  80.     echo "".translate("Greetings to our latest registered user:")." <a href=user.php?op=userinfo&uname=$lastuser>$lastuser</a><br>";
  81.     $result = mysql_query("select name, uname, femail, url from users order by $sortby");
  82.     $numrows = mysql_num_rows($result);
  83.     if ($user) {
  84.     $result2 = mysql_query("SELECT username FROM session where guest=0");
  85.     $member_online_num = mysql_num_rows($result2);
  86.         $who_online = "<CENTER><b>".translate("Current Online Registered Users:")."</b><br><br>";
  87.     $i = 1;
  88.     while ($session = mysql_fetch_array($result2)) {
  89.             if ($session[guest] == 0) {
  90.         $who_online .= "<a href=user.php?op=userinfo&uname=$session[username]>$session[username]</a>";
  91.         $who_online .= ($i != $member_online_num ? " - " : "");
  92.         $i++;
  93.             }
  94.     }
  95.     echo "".translate("We have")." <b>$numrows</b> ".translate("registered users so far. There are")." <b>$member_online_num</b> ".translate("registered user(s) online right now.")."<br><br>";
  96.     echo "<table border=0 cellpadding=0 cellspacing=1 bgcolor=000000><tr><td>";
  97.     echo "<table border=0 width=100% cellpadding=5 cellspacing=1 bgcolor=FFFFFF><tr><td>";
  98.     echo "$who_online</CENTER>";
  99.     echo "</td></tr></table></td></tr></table><br>";
  100.     } else {
  101.         echo "".translate("We have")." <b>$numrows</b> ".translate("registered users so far.")."<br><br>";
  102.     }
  103.     while(list($name, $uname, $femail, $url) = mysql_fetch_row($result)) {
  104.         $cur_letter = ucfirst(substr($uname, 0, 1));
  105.         $cur_isAlpha = isAlpha($cur_letter);
  106.         $alpha_found[$cur_isAlpha ? $cur_letter : "Other"] = true;
  107.     if (($letter == $cur_letter) || (!$cur_isAlpha && ($letter == "Other"))) {
  108.             $current_users[] = array(
  109.                 "name" => $name, "uname" => $uname,
  110.                 "femail" => $femail, "url" => $url );
  111.         }
  112.     }
  113.     alpha();
  114.     SortLinks($letter);
  115.     echo "<br>";
  116.     echo "<table width=100% border=0 cellspacing=0><tr>";
  117.     echo "<td bgcolor=006699><center><font color=White><b>".translate("Nickname")."</b></td>";
  118.     echo "<td bgcolor=006699><center><font color=White><b>".translate("Real Name")."</b></td>";
  119.     echo "<td bgcolor=006699><center><font color=White><b>".translate("Fake Email")."</b></td>";
  120.     echo "<td bgcolor=006699><center><font color=White><b>".translate("URL")."</b></td><tr>";
  121.     $a = 0;
  122.     $dcolor_A = "FFFFFF";
  123.     $dcolor_B = "CCCCCC";
  124.     if (count($current_users)) {
  125.         while (list(, $user) = each ($current_users)) {
  126.             $dcolor = ($a == 0 ? $dcolor_A : $dcolor_B);
  127.             echo "<td bgcolor=$dcolor><a href=\"user.php?op=userinfo&uname=$user[uname]\">$user[uname]</a></td>";
  128.             echo "<td bgcolor=$dcolor> $user[name]</td>";
  129.             echo "<td bgcolor=$dcolor> $user[femail]</td>";
  130.             echo "<td bgcolor=$dcolor> <a href=\"$user[url]\" target=new>$user[url]</a></td><tr>";
  131.             $a = ($dcolor == $dcolor_A ? 1 : 0);
  132.         }
  133.     } else {
  134.         echo "<td bgcolor=$dcolor_A colspan=4 align=center><br>";
  135.         echo "<b>".translate("No Members Found for")." $letter</b>";
  136.         echo "<br></td>";
  137.     }
  138.     echo "</tr></table><br>";
  139.     echo "<table width=100% border=0 cellspacing=0><tr><td><center>";
  140.     alpha();
  141.     SortLinks($letter);
  142.     echo "<br>";
  143.     echo "</td></tr></table>";
  144.     echo "</td></tr></table></td></tr></table>";
  145.     include("footer.php");
  146.  
  147. }
  148.  
  149. switch(op) {
  150.  
  151.     case "ListMembers":
  152.     ListMembers($letter, $sortby);
  153.     break;
  154.  
  155.     default:
  156.     ListMembers($letter, $sortby);
  157.     break;
  158. }
  159.  
  160. ?>