X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_refs.php;h=8783448eb4f6fb090cba6329a9d67ea629539723;hp=83b1760ceda9d482c048b26ac55c90a120ee923f;hb=a7bd70212a1db7a61e0b1b695de9d7068b502c31;hpb=f7f6e55ee0d90558ad773ce6168767c0af816696 diff --git a/inc/modules/admin/what-list_refs.php b/inc/modules/admin/what-list_refs.php index 83b1760ced..8783448eb4 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,72 +38,190 @@ ************************************************************************/ // Some security stuff... -if ((!defined('__SECURITY')) || (!IS_ADMIN())) { - $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; - require($INC); +if ((!defined('__SECURITY')) || (!isAdmin())) { + die(); } // Add description as navigation point -ADD_DESCR("admin", basename(__FILE__)); +addMenuDescription('admin', __FILE__); + +if (isGetRequestElementSet('userid')) { + // Secure userid + $userid = bigintval(getRequestElement('userid')); -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) { + $result_user = SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1", + array($userid), __FILE__, __LINE__); + + // Fix missing variable + $result_levels = false; + + // User found? + if (SQL_NUMROWS($result_user) == 1) { + // 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_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_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 - $OUT = ""; $SW = 2; + // 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 (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)) { + // 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 + $refs_cnt = countSumTotalData($data['userid'], 'refsystem', 'counter'); + + // Prepare data for the template + $content = array( + 'sw' => $SW, + 'u_link' => generateUserProfileLink($data['userid']), + 'gender' => translateGender($data['gender']), + 'refs_link' => 0, + 'surname' => $data['surname'], + 'family' => $data['family'], + 'email' => "[".$data['email']."]", + 'status' => translateUserStatus($data['status']), + 'registered' => generateDateTime($data['joined'], 3), + ); + + // Check if referal count is larger 0 and update link + if ($refs_cnt > 0) $content['refs_link'] = generateUserProfileLink($data['userid'], $refs_cnt, "list_refs"); - // Switch colors - $SW = 3 - $SW; - } // 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); + } + + // 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'), 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' => 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 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); + + // Switch colors + $SW = 3 - $SW; + } + } // END - while // Prepare content $content = array( 'rows' => $OUT, - 'uid' => ADMIN_USER_PROFILE_LINK($_GET['u_id']) + 'userid' => generateUserProfileLink(getRequestElement('userid')) ); - // Load mein template - LOAD_TEMPLATE("admin_list_refs", false, $content); - } else { + // 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! - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_NO_REF_LEVELS); + 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')); } // Free result SQL_FREERESULT($result_levels); } else { // User not found - LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_MEMBER_404, $_GET['u_id'])); + loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_MEMBER_404'), getRequestElement('userid'))); } // Free memory - SQL_FREERESULT($result); + SQL_FREERESULT($result_user); } else { // Output selection form with all confirmed user accounts listed - ADD_MEMBER_SELECTION_BOX(); + addMemberSelectionBox(); } -// +// [EOF] ?>