2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 01/28/2004 *
4 * =================== Last change: 06/10/2004 *
6 * -------------------------------------------------------------------- *
7 * File : what-list_refs.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Show all referals made by a member *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Alle generierten Refs eines Mitgliedes anzeigen *
12 * -------------------------------------------------------------------- *
14 * Mod created by : Lars Moehlenbruch ( http://www.surfo.net ) *
16 * -------------------------------------------------------------------- *
18 * Highly modified by Roland Haeder *
20 * -------------------------------------------------------------------- *
21 * Copyright (c) 2003 - 2009 by Roland Haeder *
22 * Copyright (c) 2009, 2010 by Mailer Developer Team *
23 * For more information visit: http://www.mxchange.org *
25 * This program is free software; you can redistribute it and/or modify *
26 * it under the terms of the GNU General Public License as published by *
27 * the Free Software Foundation; either version 2 of the License, or *
28 * (at your option) any later version. *
30 * This program is distributed in the hope that it will be useful, *
31 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
32 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
33 * GNU General Public License for more details. *
35 * You should have received a copy of the GNU General Public License *
36 * along with this program; if not, write to the Free Software *
37 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
39 ************************************************************************/
41 // Some security stuff...
42 if ((!defined('__SECURITY')) || (!isAdmin())) {
46 // Add description as navigation point
47 addMenuDescription('admin', __FILE__);
49 if (isGetRequestParameterSet('userid')) {
51 $userid = bigintval(getRequestParameter('userid'));
53 // Fix missing variable
54 $result_levels = false;
57 if (fetchUserData($userid)) {
59 $menge = countSumTotalData($userid, 'user_data', 'userid', 'refid', true);
60 $menge_lck = countSumTotalData($userid, 'user_data', 'userid', 'refid', true, " AND `status` != 'CONFIRMED'");
62 // Output info message
63 loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), generateUserProfileLink(getRequestParameter('userid')), $menge, $menge_lck));
65 // Load all referal levels
66 $result_levels = SQL_QUERY("SELECT
69 `{?_MYSQL_PREFIX?}_refdepths`
73 `level` ASC", __FILE__, __LINE__);
75 // Are there some levels (VERY BAD IF NONE!)
76 if (SQL_NUMROWS($result_levels) > 0) {
77 // List all ref levels or entries if no refback is installed
79 while ($levels = SQL_FETCHARRAY($result_levels)) {
83 // Is the refback still active? ;-)
84 if (isExtensionActive('refback')) {
85 // Load all refs of this user
86 $result_refs = SQL_QUERY_ESC("SELECT `refid` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `level`='%s' ORDER BY refid ASC",
87 array($userid, $levels['level']), __FILE__, __LINE__);
88 //* DEBUG: */ outputHtml($userid.'/'.$levels['level'].'/'.SQL_NUMROWS($result_refs)."<br />");
91 if (SQL_NUMROWS($result_refs) > 0) {
93 $menge = countSumTotalData($userid, 'user_data', 'userid', 'refid', true);
94 $menge_lck = countSumTotalData($userid, 'user_data', 'userid', 'refid', true, " AND `status` != 'CONFIRMED'");
96 // Output info message
97 $levels['info'] = getMaskedMessage('ADMIN_USER_TOTAL_REFS', generateUserProfileLink($userid), $menge, $menge_lck);
100 $OUT_REFS = ''; $SW = 2;
103 while ($content = SQL_FETCHARRAY($result_refs)) {
104 // Is the data there?
105 if (fetchUserData($content['refid'])) {
106 // Check for referals
107 $refs_cnt = countSumTotalData(getUserData('userid'), 'user_refs', 'id', 'userid', true);
109 // Prepare data for the template
112 'u_link' => generateUserProfileLink(getUserData('userid')),
113 'gender' => translateGender(getUserData('gender')),
115 'surname' => getUserData('surname'),
116 'family' => getUserData('family'),
117 'email' => "[<a href=\"".generateEmailLink(getUserData('email'), 'user_data')."\">".getUserData('email')."</a>]",
118 'status' => translateUserStatus(getUserData('status')),
119 'registered' => generateDateTime(getUserData('joined'), 3),
122 // Check if referal count is larger 0 and update link
123 if ($refs_cnt > 0) $content['refs_link'] = generateUserProfileLink(getUserData('userid'), $refs_cnt, "list_refs");
125 // Load template for level one
126 $OUT_REFS .= loadTemplate('admin_list_refs_row', true, $content);
129 $OUT_REFS = loadTemplate('admin_list_refs_nodata', true, $content);
133 $levels['rows'] = $OUT_REFS;
139 // Output info message
140 $levels['info'] = sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), generateUserProfileLink($userid), 0, 0);
143 $levels['rows'] = loadTemplate('admin_list_refs_norefs', true, array('userid' => $userid));
147 SQL_FREERESULT($result_refs);
149 // Load level template
150 $OUT .= loadTemplate('admin_list_refs_level', true, $levels);
152 // Check for referals
153 $refs_cnt = countSumTotalData($levels['userid'], 'user_data', 'userid', 'refid', true);
155 // Prepare data for the template
158 'u_link' => generateUserProfileLink($levels['userid']),
159 'gender' => translateGender($levels['gender']),
161 'surname' => $levels['surname'],
162 'family' => $levels['family'],
163 'email' => "[<a href=\"".generateEmailLink($levels['email'], 'user_data')."\">".$levels['email']."</a>]",
164 'status' => translateUserStatus($levels['status']),
165 'registered' => generateDateTime($levels['joined'], 3),
168 // Check if referal count is larger 0 and update link
169 if ($refs_cnt > 0) $content['refs_link'] = generateUserProfileLink($levels['userid'], $refs_cnt, 'list_refs');
171 // Load template for level one
172 $OUT .= loadTemplate('admin_list_refs_row', true, $content);
182 'userid' => generateUserProfileLink(getRequestParameter('userid'))
185 // Load main template
186 if (isExtensionActive('refback')) {
187 loadTemplate('admin_list_refs2', false, $content);
189 loadTemplate('admin_list_refs', false, $content);
191 } elseif (isExtensionActive('refback')) {
192 // No levels found, very bad!
193 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_REF_LEVELS'));
195 // No refs made so far
196 loadTemplate('admin_settings_saved', false, getMessage('USER_REF_404'));
200 SQL_FREERESULT($result_levels);
203 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_MEMBER_404', getRequestParameter('userid')));
206 // Output selection form with all confirmed user accounts listed
207 addMemberSelectionBox();