X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-points.php;h=b476f08b1c65fb37314b44cd1b5aa7442b97307d;hp=5c7f34e643e3946a9c387f549b533f9f9d7496b3;hb=a18efdcd57ba91893f0958a457b5c58639b135c3;hpb=c3b4eaf29946349ff058691db2dcb615a5379bb2 diff --git a/inc/modules/member/what-points.php b/inc/modules/member/what-points.php index 5c7f34e643..b476f08b1c 100644 --- a/inc/modules/member/what-points.php +++ b/inc/modules/member/what-points.php @@ -17,7 +17,7 @@ * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -45,8 +45,8 @@ if (!defined('__SECURITY')) { // Add description as navigation point addYouAreHereLink('member', __FILE__); -// Query for referal levels and percents -$result_depths = SQL_QUERY("SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` ORDER BY `level` ASC", __FILE__, __LINE__); +// Query for referral levels and percents +$result_depths = SQL_QUERY('SELECT `level`,`percents` FROM `{?_MYSQL_PREFIX?}_refdepths` ORDER BY `level` ASC', __FILE__, __LINE__); // Get total depths $numDepths = SQL_NUMROWS($result_depths); @@ -60,27 +60,55 @@ if (isExtensionInstalledAndNewer('bonus', '0.4.4')) $numDepths += 4; // Remember row count in constant $content['rowspan'] = ($numDepths * 2 + 15); -// Init some vars... -$content['total_points'] = '0'; -$content['total_referals'] = '0'; -$content['total_locked'] = '0'; +// Initialize array elements +$content['part_points'] = '0.00000'; +$content['part_referrals'] = '0'; +$content['part_locked'] = '0.00000'; +$content['part_order'] = '0.00000'; +$content['part_locked_order'] = '0.00000'; + +// And output variable $OUT = ''; // Load ref levels while ($data = SQL_FETCHARRAY($result_depths)) { + // Init points and counter here + $content['counter'] = '0'; + $content['points'] = '0.00000'; + $content['order_points'] = '0.00000'; + $content['locked_points'] = '0.00000'; + $content['locked_order_points'] = '0.00000'; + // Merge it together $content = merge_array($content, $data); - // Initialize array elements - $content['counter'] = '0'; - $content['points'] = '0.00000'; - $content['locked_points'] = '0.00000'; + // Default for referral level > 0 + $depth = 'p.`ref_depth`=%s'; + if (is_null($content['level'])) { + $depth = 'p.`ref_depth` IS NULL'; + } // END - if - // Load referal points - $result_points = SQL_QUERY_ESC("SELECT `points`, `locked_points` FROM `{?_MYSQL_PREFIX?}_user_points` WHERE `userid`=%s AND `ref_depth`='%s' LIMIT 1", + // Load referral points + $result_points = SQL_QUERY_ESC("SELECT + p.`points`, + p.`order_points`, + p.`locked_points`, + p.`locked_order_points`, + r.`counter` +FROM + `{?_MYSQL_PREFIX?}_user_points` AS p +LEFT JOIN + `{?_MYSQL_PREFIX?}_refsystem` AS r +ON + p.`userid`=r.`userid` AND + p.`ref_depth`=r.`level` +WHERE + p.`userid`=%s AND + ".$depth." +LIMIT 1", array( getMemberId(), - bigintval($content['level']) + makeZeroToNull($content['level']) ), __FILE__, __LINE__); // Do we have an entry? @@ -88,33 +116,17 @@ while ($data = SQL_FETCHARRAY($result_depths)) { // Load data $content = merge_array($content, SQL_FETCHARRAY($result_points)); - // Add both points - $content['total_points'] += $content['points']; - $content['total_locked'] += $content['locked_points']; + // Add all entries + $content['part_points'] += $content['points']; + $content['part_order'] += $content['order_points']; + $content['part_locked'] += $content['locked_points']; + $content['part_locked_order'] += $content['locked_order_points']; + $content['part_referrals'] += $content['counter']; } // END - if // Free result SQL_FREERESULT($result_points); - // Load referal counts - $result_refs = SQL_QUERY_ESC("SELECT `counter` FROM `{?_MYSQL_PREFIX?}_refsystem` WHERE `userid`=%s AND `level`='%s' LIMIT 1", - array( - getMemberId(), - bigintval($content['level']) - ), __FILE__, __LINE__); - - // Do we have an entry? - if (SQL_NUMROWS($result_refs) == 1) { - // Load data - $content = merge_array($content, SQL_FETCHARRAY($result_refs)); - - // Add them to total refs - $content['total_referals'] += $content['counter']; - } // END - if - - // Free result - SQL_FREERESULT($result_refs); - // Output row $OUT .= loadTemplate('member_points_row', true, $content); } // END - while @@ -122,14 +134,16 @@ while ($data = SQL_FETCHARRAY($result_depths)) { // Free memory SQL_FREERESULT($result_depths); +// Add userid +$content['userid'] = getMemberId(); + // Put rows to constant for the main template $content['rows'] = $OUT; -// Remember several values in constants -$content['total_points'] = ($content['total_points'] - getUserData('used_points')); - // Fixes a bug when there is no bonus extension installed -if (isExtensionInstalledAndOlder('bonus', '0.4.4')) setConfigEntry('bonus_active', 'X'); +if (isExtensionInstalledAndOlder('bonus', '0.4.4')) { + setConfigEntry('bonus_active', 'X'); +} // END - if // Members shall see no special rows here $content['special_rows'] = ''; @@ -137,14 +151,14 @@ $content['special_rows'] = ''; // Display login bonus and turbo-click bonus if ((isExtensionInstalledAndNewer('bonus', '0.2.2')) && (isExtensionActive('bonus')) && (isBonusRallyeActive())) { // Total bonus points - $content['total'] = getUserData('turbo_bonus') + getUserData('login_bonus') + getUserData('bonus_ref') + getUserData('bonus_order') + getUserData('bonus_stats'); + $content['bonus_total_points'] = getUserData('turbo_bonus') + getUserData('login_bonus') + getUserData('bonus_ref') + getUserData('bonus_order') + getUserData('bonus_stats'); // Output rows $content['special_rows'] = loadTemplate('member_points_bonus_rows', true, $content); } elseif ((isExtensionActive('bonus')) && (!isBonusRallyeActive())) { // Bonus active rallye deactivated $content['special_rows'] = loadTemplate('member_points_bonus_disabled', true); -} elseif ((isAdmin()) && (isExtensionOlder('bonus', '0.2.2')) && (isExtensionActive('bonus'))) { +} elseif ((isAdmin()) && (isExtensionInstalledAndOlder('bonus', '0.2.2')) && (isExtensionActive('bonus'))) { // Please upgrade your bonus extension to v0.2.2 or newer! $content['special_rows'] = loadTemplate('member_points_upgrade'); } @@ -155,15 +169,15 @@ if (isExtensionActive('user')) { loadTemplate('member_points', false, $content); } elseif (isAdmin()) { // Missing extension - loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('user')); + displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=user%}'); } else { // Message for user - loadTemplate('admin_settings_saved', false, '{--PROBLEM_POINTS_OVERVIEW_UNAVAILABLE--}'); + displayMessage('{--PROBLEM_POINTS_OVERVIEW_UNAVAILABLE--}'); } if (isExtensionActive('payout')) { // Payput extension is installed and active so we can check if the user has enougth points - outputPayoutList($content['total_points'] - getUserData('used_points')); + outputPayoutList($content['part_points'] - getUserData('used_points')); } // END - if // [EOF]