X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_refs.php;h=ad5d80972773a0a6fa8999385ff804b5a0c51129;hp=83b1760ceda9d482c048b26ac55c90a120ee923f;hb=fad1ea280c27f9ba8ae818b87b0ba29d2c113b1b;hpb=7f104f6fe558bb56b4205241435a2357c2feece1 diff --git a/inc/modules/admin/what-list_refs.php b/inc/modules/admin/what-list_refs.php index 83b1760ced..ad5d809727 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 * * -------------------------------------------------------------------- * @@ -44,62 +44,207 @@ if ((!defined('__SECURITY')) || (!IS_ADMIN())) { } // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); +ADD_DESCR("admin", __FILE__); + +if (REQUEST_ISSET_GET(('uid'))) { + // Secure userid + $uid = bigintval(REQUEST_GET('uid')); -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) { - // Load all referal levels - $result_levels = SQL_QUERY_ESC("SELECT d.level, d.percents, r.counter -FROM "._MYSQL_PREFIX."_refdepths AS d -LEFT JOIN "._MYSQL_PREFIX."_refsystem AS r -ON d.level=r.level -WHERE r.userid=%s -ORDER BY d.level ASC", - array(bigintval($_GET['u_id'])), __FILE__, __LINE__); + $result_user = SQL_QUERY_ESC("SELECT userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", + array($uid), __FILE__, __LINE__); + + // User found? + if (SQL_NUMROWS($result_user) == 1) { + // Is the refback extension installed? + if (EXT_IS_ACTIVE("refback")) { + // Load all referal levels + $result_levels = SQL_QUERY("SELECT level, percents +FROM `{!_MYSQL_PREFIX!}_refdepths` +WHERE level > 0 +ORDER BY level ASC", __FILE__, __LINE__); + } else { + // Loads surname, family's name and the email address + $result = SQL_QUERY_ESC("SELECT COUNT(*) FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid=%s", + array($uid), __FILE__, __LINE__); + $result_lck = SQL_QUERY_ESC("SELECT COUNT(*) FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid=%s AND status != 'CONFIRMED' ORDER BY userid", + array($uid), __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); + + // Query for refs + $result_levels = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email, status, joined FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid=%s ORDER BY userid ASC", + array($uid), __FILE__, __LINE__); + + // Output info message + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), ADMIN_USER_PROFILE_LINK(REQUEST_GET('uid')), $menge, $menge_lck)); + } // Are there some levels (VERY BAD IF NONE!) if (SQL_NUMROWS($result_levels) > 0) { - // List all ref levels + // 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; - $levels['level'] = ($levels['level'] + 1); - // Load all refs of this user - //$result_refs = SQL_QUERY_ESC("SELECT - // Load level template - $OUT .= LOAD_TEMPLATE("admin_list_refs_level", true, $levels); + // Is the refback still active? ;-) + if (EXT_IS_ACTIVE("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($uid, $levels['level']), __FILE__, __LINE__); + //* DEBUG: */ echo $uid."/".$levels['level']."/".SQL_NUMROWS($result_refs)."
\n"; + + // Do we have levels? + if (SQL_NUMROWS($result_refs) > 0) { + // Loads surname, family's name and the email address + $result = SQL_QUERY_ESC("SELECT COUNT(*) FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid=%s", + array($uid), __FILE__, __LINE__); + $result_lck = SQL_QUERY_ESC("SELECT COUNT(*) FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid=%s AND status != 'CONFIRMED' ORDER BY userid", + array($uid), __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); + + // Output info message + $levels['info'] = sprintf(getMessage('ADMIN_USER_TOTAL_REFS'), ADMIN_USER_PROFILE_LINK($uid), $menge, $menge_lck); + + // Init variables + $OUT_REFS = ""; $SW = 2; + + // Load all refs + while ($content = SQL_FETCHARRAY($result_refs)) { + // Query for data + $result_user = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email, status, joined FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", + array($content['refid']), __FILE__, __LINE__); + + // Is the data there? + if (SQL_NUMROWS($result_user) == 1) { + // Load data + $data = SQL_FETCHARRAY($result_user); + + // Check for referals + $result_cnt = SQL_QUERY_ESC("SELECT COUNT(userid) FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid=%s", + array($content['refid']), __FILE__, __LINE__); + + // Load refs + $refs_cnt = SQL_RESULT($result_cnt, 0, 0); - // Switch colors - $SW = 3 - $SW; - } // END - if + // Free result + SQL_FREERESULT($result_cnt); + + // Prepare data for the template + $content = array( + 'sw' => $SW, + 'u_link' => ADMIN_USER_PROFILE_LINK($data['userid']), + 'gender' => TRANSLATE_GENDER($data['gender']), + 'refs_link' => "0", + 'surname' => $data['surname'], + 'family' => $data['family'], + 'email' => "[".$data['email']."]", + 'status' => TRANSLATE_STATUS($data['status']), + 'registered' => MAKE_DATETIME($data['joined'], "3"), + ); + + // Check if referal count is larger 0 and update link + if ($refs_cnt > 0) $content['refs_link'] = ADMIN_USER_PROFILE_LINK($data['userid'], $refs_cnt, "list_refs"); + + // Load template for level one + $OUT_REFS .= LOAD_TEMPLATE("admin_list_refs_row", true, $content); + } else { + // No refs found + $OUT_REFS = LOAD_TEMPLATE("admin_list_refs_nodata", true, $content['refid']); + } + + // Free result + SQL_FREERESULT($result_user); + + // 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'), ADMIN_USER_PROFILE_LINK($uid), "0", "0"); + + // No refs found + $levels['rows'] = LOAD_TEMPLATE("admin_list_refs_norefs", true, array('uid' => $uid)); + } + + // Free result + SQL_FREERESULT($result_refs); + + // Load level template + $OUT .= LOAD_TEMPLATE("admin_list_refs_level", true, $levels); + } else { + // Check for referals + $result_refs = SQL_QUERY_ESC("SELECT COUNT(userid) FROM `{!_MYSQL_PREFIX!}_user_data` WHERE refid=%s", + array(bigintval($levels['userid'])), __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($levels['userid']), + 'gender' => TRANSLATE_GENDER($levels['gender']), + 'refs_link' => "0", + 'surname' => $levels['surname'], + 'family' => $levels['family'], + 'email' => "[".$levels['email']."]", + 'status' => TRANSLATE_STATUS($levels['status']), + 'registered' => MAKE_DATETIME($levels['joined'], "3"), + ); + + // Check if referal count is larger 0 and update link + if ($refs_cnt > 0) $content['refs_link'] = ADMIN_USER_PROFILE_LINK($levels['userid'], $refs_cnt, "list_refs"); + + // Load template for level one + $OUT .= LOAD_TEMPLATE("admin_list_refs_row", true, $content); + + // Switch colors + $SW = 3 - $SW; + } + } // END - while // Prepare content $content = array( 'rows' => $OUT, - 'uid' => ADMIN_USER_PROFILE_LINK($_GET['u_id']) + 'uid' => ADMIN_USER_PROFILE_LINK(REQUEST_GET('uid')) ); - // Load mein template - LOAD_TEMPLATE("admin_list_refs", false, $content); - } else { + // Load main template + if (EXT_IS_ACTIVE("refback")) { + LOAD_TEMPLATE("admin_list_refs2", false, $content); + } else { + LOAD_TEMPLATE("admin_list_refs", false, $content); + } + } elseif (EXT_IS_ACTIVE("refback")) { // No levels found, very bad! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_REF_LEVELS); + LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_NO_REF_LEVELS')); + } else { + // No refs made so far + LOAD_TEMPLATE("admin_settings_saved", false, getMessage('USER_REF_404')); } // Free result SQL_FREERESULT($result_levels); } else { // User not found - LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_MEMBER_404, $_GET['u_id'])); + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_MEMBER_404'), REQUEST_GET('uid'))); } // Free memory - SQL_FREERESULT($result); + SQL_FREERESULT($result_user); } else { // Output selection form with all confirmed user accounts listed ADD_MEMBER_SELECTION_BOX();