Copyright updated
[mailer.git] / 0.2.1 / inc / modules / admin / what-list_norefs.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 01/19/2006 *\r
4  * ================                             Last change: 01/19/2006 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-list_norefs.php                             *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Show all members w/o a referral                  *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Alle Mitgliederaccounts ohne Werber auflisten    *\r
12  * -------------------------------------------------------------------- *\r
13  *                                                                      *\r
14  * -------------------------------------------------------------------- *\r
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *\r
16  * For more information visit: http://www.mxchange.org                  *\r
17  *                                                                      *\r
18  * This program is free software; you can redistribute it and/or modify *\r
19  * it under the terms of the GNU General Public License as published by *\r
20  * the Free Software Foundation; either version 2 of the License, or    *\r
21  * (at your option) any later version.                                  *\r
22  *                                                                      *\r
23  * This program is distributed in the hope that it will be useful,      *\r
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *\r
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *\r
26  * GNU General Public License for more details.                         *\r
27  *                                                                      *\r
28  * You should have received a copy of the GNU General Public License    *\r
29  * along with this program; if not, write to the Free Software          *\r
30  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *\r
31  * MA  02110-1301  USA                                                  *\r
32  ************************************************************************/\r
33 \r
34 // Some security stuff...\r
35 if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) {\r
36         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";\r
37         require($INC);\r
38 } elseif ((!EXT_IS_ACTIVE("user")) || (GET_EXT_VERSION("user") == "")) {\r
39         // Not active!\r
40         ADD_FATAL(sprintf(EXTENSION_PROBLEM_NOT_INSTALLED, "user"));\r
41         return;\r
42 }\r
43 \r
44 // Add description as navigation point\r
45 ADD_DESCR("admin", basename(__FILE__));\r
46 \r
47 OPEN_TABLE("100%", "admin_content admin_content_align", "");\r
48 \r
49 $MORE = ", userid"; $colspan = "4"; //                 27\r
50 if (EXT_IS_ACTIVE("nickname")) { $MORE = ", nickname"; }\r
51 \r
52 if (empty($_GET['letter'])) { $_GET['letter'] = _ALL2;    }\r
53 if (empty($_GET['sortby'])) { $_GET['sortby'] = "userid"; }\r
54 if (empty($_GET['page']))   { $_GET['page']   = "1";      }\r
55 \r
56 // Set base URL\r
57 $BASE = "<A href=\"".URL."/modules.php?module=admin";\r
58 \r
59 $WHERE = " WHERE refid='0'";\r
60 if (($_GET['letter'] != _ALL2) && ($_GET['letter'] != _OTHERS) && (!empty($_GET['letter'])))\r
61 {\r
62         // List only persons w\r
63         $WHERE = " WHERE refid='0' AND family LIKE '".$_GET['letter']."%'";\r
64 }\r
65 if ($_GET['sortby'] == "family_name") $_GET['sortby'] = "family";\r
66 $SQL = "SELECT userid, sex, surname, family, email, REMOTE_ADDR, refid, status".$MORE." FROM "._MYSQL_PREFIX."_user_data".$WHERE." ORDER BY ".$_GET['sortby'];\r
67 $result_master = SQL_QUERY($SQL, __FILE__, __LINE__);\r
68 \r
69 // Calculate page count (0.5 fixes a bug with page count)\r
70 $PAGES = round(SQL_NUMROWS($result_master) / $CONFIG['user_limit'] + 0.5);\r
71 \r
72 if (empty($_GET['page']))   $_GET['page']   = "1";\r
73 if (empty($_GET['offset'])) $_GET['offset'] = $CONFIG['user_limit'];\r
74 \r
75 // Add limitation to SQL string and run him again\r
76 $SQL .= " LIMIT ".($_GET['offset'] * $_GET['page'] - $_GET['offset']).", ".$_GET['offset'];\r
77 $result = SQL_QUERY($SQL, __FILE__, __LINE__);\r
78 \r
79 $result_user = SQL_QUERY("SELECT emails_sent FROM "._MYSQL_PREFIX."_user_data WHERE status='CONFIRMED'", __FILE__, __LINE__);\r
80 $user_count = SQL_NUMROWS($result_user);\r
81 SQL_FREERESULT($result_user);\r
82 \r
83 if (SQL_NUMROWS($result_master) > 0)\r
84 {\r
85         // Free memory\r
86         SQL_FREERESULT($result_master);\r
87 \r
88         // We have some (new?) registrations!\r
89         define('__COLSPAN1'  , $colspan);\r
90         define('__COLSPAN2'  , ($colspan + 2));\r
91         define('__USER_CNT'  , $user_count);\r
92         define('__ALPHA_SORT', alpha($_GET['sortby'], $colspan, true));\r
93         define('__SORT_LINKS', SortLinks($_GET['letter'], $_GET['sortby'], $colspan, true));\r
94         if ($PAGES > 1)\r
95         {\r
96                 define('__PAGE_NAV', ADD_PAGENAV($PAGES, $CONFIG['user_limit'], true, $colspan, true));\r
97         }\r
98          else\r
99         {\r
100                 // No page navigation is required\r
101                 define('__PAGE_NAV', "");\r
102         }\r
103 \r
104         // Column with nickname when nickname extension is present\r
105         if (EXT_IS_ACTIVE("nickname"))\r
106         {\r
107                 // Nickname extension found\r
108                 define('__NICKNAME_TH', "  <TD class=\"admin_title bottom2\" align=\"center\">".NICKNAME."</TD>");\r
109         }\r
110          else\r
111         {\r
112                 // Not found\r
113                 define('__NICKNAME_TH', "");\r
114         }\r
115 \r
116         $SW = 2; $OUT = "";\r
117         while (list($uid, $sex, $sname, $fname, $email, $IP, $ref, $status, $nick) = SQL_FETCHROW($result))\r
118         {\r
119                 if ($ref > 0) $ref = ADMIN_USER_PROFILE_LINK($ref);\r
120                 $LINKS = TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_links", "id", "userid", true));\r
121                 if ($LINKS > 0) $LINKS = $BASE."&amp;what=list_links&amp;u_id=".$uid."\">".$LINKS."</A>";\r
122 \r
123                 // Add nickname\r
124                 if ((empty($nick)) || ($uid == $nick)) $nick = "---";\r
125 \r
126                 // Transfer data to array\r
127                 $content = array(\r
128                         'sw'     => $SW,\r
129                         'uid'    => ADMIN_USER_PROFILE_LINK($uid),\r
130                         'sex'    => TRANSLATE_SEX($sex),\r
131                         'sname'  => $sname,\r
132                         'fname'  => $fname,\r
133                         'email'  => "<A href=\"".CREATE_EMAIL_LINK($email, "user_data")."\">".stripslashes($email)."</A>",\r
134                         'addr'   => $IP,\r
135                         'ref'    => $ref,\r
136                         'status' => TRANSLATE_STATUS($status),\r
137                         'links'  => $LINKS,\r
138                         'nick'   => $nick\r
139                 );\r
140 \r
141                 // Load row template and switch colors\r
142                 $OUT .= LOAD_TEMPLATE("admin_list_user_row", true, $content);\r
143                 $SW = 3 - $SW;\r
144         }\r
145 \r
146         // Free memory\r
147         SQL_FREERESULT($result);\r
148 \r
149         define('__USER_ROWS', $OUT);\r
150 \r
151         // Load main template\r
152         LOAD_TEMPLATE("admin_list_user");\r
153 \r
154         // Free some memory\r
155         SQL_FREERESULT($result_master);\r
156 }\r
157  else\r
158 {\r
159         // No one as registered so far! :-(\r
160         LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ACCOUNT_NOREFS_404);\r
161 }\r
162 \r
163 CLOSE_TABLE();\r
164 //\r
165 ?>\r