-ADD_DESCR("admin", basename(__FILE__));
-
-if (!empty($_GET['u_id']))
-{
- // Check if the user already exists
- $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 1)
- {
- // Free memory
- SQL_FREERESULT($result);
-
- // Loads surname, family's name and the email address
- $result = SQL_QUERY_ESC("SELECT COUNT(*) FROM "._MYSQL_PREFIX."_user_data WHERE refid=%s",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
- $result_lck = SQL_QUERY_ESC("SELECT COUNT(*) FROM "._MYSQL_PREFIX."_user_data WHERE refid=%s AND status != 'CONFIRMED' ORDER BY userid",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
- $menge = SQL_RESULT($result , 0, 0);
- $menge_lck = SQL_RESULT($result_lck, 0, 0);
-
- // Free memory
- SQL_FREERESULT($result);
- SQL_FREERESULT($result_lck);
-
- $result = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email, status, joined FROM "._MYSQL_PREFIX."_user_data WHERE refid=%s ORDER BY userid",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
-
- OUTPUT_HTML(ADMIN_TOTAL_REFS_1."".ADMIN_USER_PROFILE_LINK($_GET['u_id'])."".ADMIN_TOTAL_REFS_2.$menge.ADMIN_TOTAL_REFS_3.$menge_lck.ADMIN_TOTAL_REFS_4."<br /><br />");
- if ($result)
- {
- $rows = SQL_NUMROWS($result);
- if ($rows > 0)
- {
- // Load all referrals
- $SW = "2"; $OUT = "";
- while ($row = SQL_FETCHROW($result))
- {
- // Check for referrals
- $result_refs = SQL_QUERY_ESC("SELECT COUNT(userid) FROM "._MYSQL_PREFIX."_user_data WHERE refid=%s",
- array(bigintval($row[0])), __FILE__, __LINE__);
- $refs_cnt = SQL_RESULT($result_refs, 0, 0);
- SQL_FREERESULT($result_refs);
-
- // Prepare data for the template
- $content = array(
- 'sw' => $SW,
- 'u_link' => ADMIN_USER_PROFILE_LINK($row[0]),
- 'gender' => TRANSLATE_GENDER($row[1]),
- 'refs_link' => "0",
- 'surname' => $row[2],
- 'family' => $row[3],
- 'email' => "<A href=\"".CREATE_EMAIL_LINK($row[4], "user_data")."\">".$row[4]."</A>",
- 'status' => TRANSLATE_STATUS($row[5]),
- 'registered' => MAKE_DATETIME($row[6], "3"),
- );
-
- // Check if referral count is larger 0 and update link
- if ($refs_cnt > 0) $content['refs_link'] = ADMIN_USER_PROFILE_LINK($row[0], $refs_cnt, "list_refs");
-
- // Load row template and switch color
- $OUT .= LOAD_TEMPLATE("admin_list_refs_row", true, $content);
- $SW = 3 - $SW;
+addYouAreHereLink('admin', __FILE__);
+
+if (isGetRequestElementSet('userid')) {
+ // Secure userid
+ $userid = bigintval(getRequestElement('userid'));
+
+ // Fix missing variable
+ $result_levels = false;
+
+ // User found?
+ if (fetchUserData($userid)) {
+ // Get total refs
+ $totalReferrals = getUsersTotalReferrals($userid);
+ $totalLockedReferrals = getUsersTotalLockedReferrals($userid);
+
+ // Output info message
+ displayMessage(sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), generateUserProfileLink(getRequestElement('userid')), $totalReferrals, $totalLockedReferrals));
+
+ // Load all referral levels
+ $result_levels = SQL_QUERY("SELECT
+ `level`,
+ `percents`
+FROM
+ `{?_MYSQL_PREFIX?}_refdepths`
+WHERE
+ `level` > 0
+ORDER BY
+ `level` ASC", __FILE__, __LINE__);
+
+ // Are there some levels (VERY BAD IF NONE!)
+ if (!SQL_HASZERONUMS($result_levels)) {
+ // List all ref levels or entries if no refback is installed
+ $OUT = '';
+ while ($levels = SQL_FETCHARRAY($result_levels)) {
+ // Load all refs of this user
+ $result_refs = SQL_QUERY_ESC("SELECT `refid` FROM `{?_MYSQL_PREFIX?}_user_refs` WHERE `userid`=%s AND `level`=%s ORDER BY `refid` ASC",
+ array(
+ $userid,
+ $levels['level']
+ ), __FILE__, __LINE__);
+ //* DEBUG: */ debugOutput($userid.'/'.$levels['level'].'/'.SQL_NUMROWS($result_refs));
+
+ // Is there levels?
+ if (!SQL_HASZERONUMS($result_refs)) {
+ // Count entries
+ $totalReferrals = getUsersTotalReferrals($userid, $levels['level']);
+ $totalLockedReferrals = getUsersTotalLockedReferrals($userid, $levels['level']);
+
+ // Output info message
+ $levels['info'] = sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), generateUserProfileLink($userid), $totalReferrals, $totalLockedReferrals);
+
+ // Init variables
+ $OUT_REFS = '';
+
+ // Load all refs
+ while ($content = SQL_FETCHARRAY($result_refs)) {
+ // Is the data there?
+ if (fetchUserData($content['refid'])) {
+ // Check for referrals
+ $refs_cnt = countSumTotalData(getUserData('userid'), 'user_refs', 'id', 'userid', true);
+
+ // Prepare data for the template
+ // @TODO Try to rewrite some to EL
+ $content = array(
+ 'userid' => getUserData('userid'),
+ 'refs_link' => '0',
+ 'email' => '[<a href="' . generateEmailLink(getUserData('email'), 'user_data') . '">' . getUserData('email') . '</a>]',
+ 'registered' => generateDateTime(getUserData('joined'), 3),
+ );
+
+ // Check if referral count is larger 0 and update link
+ if ($refs_cnt > 0) {
+ $content['refs_link'] = generateUserProfileLink(getUserData('userid'), $refs_cnt, 'list_refs');
+ } // END - if
+
+ // Load template for level one
+ $OUT_REFS .= loadTemplate('admin_list_refs_row', true, $content);
+ } else {
+ // No refs found
+ $OUT_REFS = loadTemplate('admin_list_refs_nodata', true, $content);
+ }
+
+ // Add content
+ $levels['rows'] = $OUT_REFS;
+ } // END - while
+ } else {
+ // Output info message
+ $levels['info'] = sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), generateUserProfileLink($userid), 0, 0);
+
+ // No refs found
+ $levels['rows'] = loadTemplate('admin_list_refs_norefs', true, array('userid' => $userid));