X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_refs.php;h=7f23f8b8812e21c2a9d9537d2da0f87d157836ff;hp=3ecc0c7e862ff653e282f052bb18b4c8a8d69f14;hb=a49d1f4613f3f7d47fb57d946e9f7f705bd34a9b;hpb=5ef6ed7373ae85e5635e39e2a0adf9496a8add05 diff --git a/inc/modules/admin/what-list_refs.php b/inc/modules/admin/what-list_refs.php index 3ecc0c7e86..7f23f8b881 100644 --- a/inc/modules/admin/what-list_refs.php +++ b/inc/modules/admin/what-list_refs.php @@ -6,7 +6,7 @@ * -------------------------------------------------------------------- * * File : what-list_refs.php * * -------------------------------------------------------------------- * - * Short description : Show all referrals made by a member * + * Short description : Show all referals made by a member * * -------------------------------------------------------------------- * * Kurzbeschreibung : Alle generierten Refs eines Mitgliedes anzeigen * * -------------------------------------------------------------------- * @@ -18,7 +18,7 @@ * Highly modified by Roland Haeder * * * * -------------------------------------------------------------------- * - * Copyright (c) 2003 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -38,104 +38,173 @@ ************************************************************************/ // Some security stuff... -if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) -{ - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); -} +if ((!defined('__SECURITY')) || (!isAdmin())) { + die(); +} // END - if // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); - -OPEN_TABLE("100%", "admin_content admin_content_align", ""); -if (!empty($_GET['u_id'])) -{ - // Check if the user already exists - $result = SQL_QUERY_ESC("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d 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=%d", - array(bigintval($_GET['u_id'])), __FILE__, __LINE__); - $result_lck = SQL_QUERY_ESC("SELECT COUNT(*) FROM "._MYSQL_PREFIX."_user_data WHERE refid=%d 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, sex, surname, family, email, status, joined FROM "._MYSQL_PREFIX."_user_data WHERE refid=%d 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."

"); - 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=%d", - array(bigintval($row[0])), __FILE__, __LINE__); - $refs_cnt = SQL_RESULT($result_refs, 0, 0); +addMenuDescription('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 + $menge = countSumTotalData($userid, 'user_data', 'userid', 'refid', true); + $menge_lck = countSumTotalData($userid, 'user_data', 'userid', 'refid', true, " AND `status` != 'CONFIRMED'"); + + // Output info message + loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), generateUserProfileLink(getRequestElement('userid')), $menge, $menge_lck)); + + // Load all referal 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_NUMROWS($result_levels) > 0) { + // List all ref levels or entries if no refback is installed + $OUT = ''; $SW = 2; + while ($levels = SQL_FETCHARRAY($result_levels)) { + // Insert more data + $levels['sw'] = $SW; + + // Is the refback still active? ;-) + if (isExtensionActive('refback')) { + // 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: */ outputHtml($userid.'/'.$levels['level'].'/'.SQL_NUMROWS($result_refs)."
"); + + // Do we have levels? + if (SQL_NUMROWS($result_refs) > 0) { + // Count entries + $menge = countSumTotalData($userid, 'user_data', 'userid', 'refid', true); + $menge_lck = countSumTotalData($userid, 'user_data', 'userid', 'refid', true, " AND `status` != 'CONFIRMED'"); + + // Output info message + $levels['info'] = sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), generateUserProfileLink($userid), $menge, $menge_lck); + + // Init variables + $OUT_REFS = ''; $SW = 2; + + // Load all refs + while ($content = SQL_FETCHARRAY($result_refs)) { + // Is the data there? + if (fetchUserData($content['refid'])) { + // Check for referals + $refs_cnt = countSumTotalData(getUserData('userid'), 'user_refs', 'id', 'userid', true); + + // Prepare data for the template + $content = array( + 'sw' => $SW, + 'u_link' => generateUserProfileLink(getUserData('userid')), + 'gender' => translateGender(getUserData('gender')), + 'refs_link' => 0, + 'surname' => getUserData('surname'), + 'family' => getUserData('family'), + 'email' => "[".getUserData('email')."]", + 'status' => translateUserStatus(getUserData('status')), + 'registered' => generateDateTime(getUserData('joined'), 3), + ); + + // Check if referal count is larger 0 and update link + if ($refs_cnt > 0) $content['refs_link'] = generateUserProfileLink(getUserData('userid'), $refs_cnt, "list_refs"); + + // 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; + + // Switch colors + $SW = 3 - $SW; + } // 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)); + } + + // Free result SQL_FREERESULT($result_refs); + // Load level template + $OUT .= loadTemplate('admin_list_refs_level', true, $levels); + } else { + // Check for referals + $refs_cnt = countSumTotalData($levels['userid'], 'user_data', 'userid', 'refid', true); + // Prepare data for the template $content = array( 'sw' => $SW, - 'u_link' => ADMIN_USER_PROFILE_LINK($row[0]), - 'salut' => TRANSLATE_SEX($row[1]), - 'refs_link' => "0", - 'surname' => $row[2], - 'family' => $row[3], - 'email' => "".$row[4]."", - 'status' => TRANSLATE_STATUS($row[5]), - 'registered' => MAKE_DATETIME($row[6], "3"), + 'u_link' => generateUserProfileLink($levels['userid']), + 'gender' => translateGender($levels['gender']), + 'refs_link' => 0, + 'surname' => $levels['surname'], + 'family' => $levels['family'], + 'email' => "[".$levels['email']."]", + 'status' => translateUserStatus($levels['status']), + 'registered' => generateDateTime($levels['joined'], 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"); + // Check if referal count is larger 0 and update link + if ($refs_cnt > 0) $content['refs_link'] = generateUserProfileLink($levels['userid'], $refs_cnt, 'list_refs'); + + // Load template for level one + $OUT .= loadTemplate('admin_list_refs_row', true, $content); - // Load row template and switch color - $OUT .= LOAD_TEMPLATE("admin_list_refs_row", true, $content); + // Switch colors $SW = 3 - $SW; } + } // END - while - // Free memory - SQL_FREERESULT($result); - define('__REF_ROWS', $OUT); + // Prepare content + $content = array( + 'rows' => $OUT, + 'userid' => generateUserProfileLink(getRequestElement('userid')) + ); - // Load main template - LOAD_TEMPLATE("admin_list_refs"); + // Load main template + if (isExtensionActive('refback')) { + loadTemplate('admin_list_refs2', false, $content); + } else { + loadTemplate('admin_list_refs', false, $content); } + } elseif (isExtensionActive('refback')) { + // No levels found, very bad! + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_REF_LEVELS')); + } else { + // No refs made so far + loadTemplate('admin_settings_saved', false, getMessage('USER_REF_404')); } - else - { - // No referrals made so far - LOAD_TEMPLATE("admin_settings_saved", false, USER_REF_404); - } - } - else - { + + // Free result + SQL_FREERESULT($result_levels); + } else { // User not found - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_MEMBER_404_1.$_GET['u_id'].ADMIN_MEMBER_404_2); + loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_MEMBER_404'), getRequestElement('userid'))); } -} - else -{ +} else { // Output selection form with all confirmed user accounts listed - ADD_MEMBER_SELECTION_BOX(); + addMemberSelectionBox(); } -CLOSE_TABLE(); -// +// [EOF] ?>