X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_refs.php;h=7a80938a64205042b4d5a2089b55139947425fe4;hb=eb301334eb0960dd060cc0d59e6021260a41f835;hp=83b1760ceda9d482c048b26ac55c90a120ee923f;hpb=dbe56bb043ba16ca1ec1e9efa9effdc1f0612261;p=mailer.git
diff --git a/inc/modules/admin/what-list_refs.php b/inc/modules/admin/what-list_refs.php
index 83b1760ced..7a80938a64 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['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'), 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]
?>