X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-points.php;h=f6f5d598404259c617a3f4b489532f8a994e187b;hp=9f4ffc049b4d8e7c097257192a7123e1a31616f7;hb=596c8ab32594401ca84abfbfe35513ddfff31bec;hpb=e45e218c4f629ec63f0788cab231bfc88b3fa46e diff --git a/inc/modules/member/what-points.php b/inc/modules/member/what-points.php index 9f4ffc049b..f6f5d59840 100644 --- a/inc/modules/member/what-points.php +++ b/inc/modules/member/what-points.php @@ -14,12 +14,10 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * 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 * @@ -39,195 +37,162 @@ // Some security stuff... if (!defined('__SECURITY')) { - die(); + exit(); } elseif (!isMember()) { redirectToIndexMemberOnlyModule(); } // Add description as navigation point -addMenuDescription('member', __FILE__); +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__); -$depths = SQL_NUMROWS($result_depths); +// Extension ext-user is highly required +if ((!isExtensionActive('user')) && (!isAdmin())) { + displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=user%}'); + return; +} // END - if + +// 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); // Add many more rows for the login/turbo/ref/order bonus // @TODO Should we rewrite this to a filter? -if (!isExtensionActive('bonus')) $depths += 1; -if (isExtensionInstalledAndNewer('bonus', '0.2.2')) $depths += 6; -if (isExtensionInstalledAndNewer('bonus', '0.4.4')) $depths += 4; +if (isExtensionActive('bonus')) { + // Extension ext-bonus is there, okay + if (isExtensionInstalledAndNewer('bonus', '0.2.2')) $numDepths += 6; + if (isExtensionInstalledAndNewer('bonus', '0.4.4')) $numDepths += 4; +} else { + // Not installed ext-bonus + $numDepths += 1; +} // Remember row count in constant -$content['rowspan'] = ($depths*2+15); +$content['rowspan'] = ($numDepths * 2 + 15); -// Init some vars... -$totalPoints = '0'; -$totalReferals = '0'; -$totalLocked = '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 + ' . getAllPointColumns('p.', ',') . ' + 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']) + convertZeroToNull($content['level']) ), __FILE__, __LINE__); - // Do we have an entry? + // Is there an entry? if (SQL_NUMROWS($result_points) == 1) { // Load data $content = merge_array($content, SQL_FETCHARRAY($result_points)); - // Add both points - $totalPoints += $content['points']; - $totalLocked += $content['locked_points']; - } // END - if - - // Free result - SQL_FREERESULT($result_points); + // Add locked-/points + $content['part_points'] += $content['points']; + $content['part_locked'] += $content['locked_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)); + // For these columns, ext-order must be installed as well + if (isExtensionInstalled('order')) { + $content['part_order'] += $content['order_points']; + $content['part_locked_order'] += $content['locked_order_points']; + } // END - if - // Add them to total refs - $totalReferals += $content['counter']; + // Add referral counter + $content['part_referrals'] += $content['counter']; } // END - if // Free result - SQL_FREERESULT($result_refs); - - // Transfer data to array for template - $row = array( - 'level' => $content['level'], - 'percents' => translateComma($content['percents']), - 'points' => translateComma($content['points']), - 'refs' => translateComma($content['counter']), - ); + SQL_FREERESULT($result_points); // Output row - $OUT .= loadTemplate('member_points_row', true, $row); + $OUT .= loadTemplate('member_points_row', TRUE, $content); } // END - while // Free memory SQL_FREERESULT($result_depths); +// Add userid +$content['userid'] = getMemberId(); + // Put rows to constant for the main template $content['rows'] = $OUT; -// Initialize variables -$CONFIRMED = '---'; $SENT = '---'; $RECEIVED = '---'; - -// Only user >= v0.1.2: Fetch confirmed mails counter -if (isExtensionInstalledAndNewer('user', '0.1.2')) { - $add = ''; - $CONFIRMED = getUserData('mails_confirmed'); - - if (isExtensionInstalledAndNewer('user', '0.1.4')) { - $SENT = getUserData('emails_sent'); - $RECEIVED = getUserData('emails_received'); - } // END - if - - // Please update the user extension if you see 3 dashes - if (empty($SENT)) $SENT = '---'; - if (empty($RECEIVED)) $RECEIVED = '---'; -} else { - // Please update! - $CONFIRMED = '---'; -} - -// If TLOCK is 0 add 3 zeros for floating -if ($totalLocked == '0') $totalLocked = '0.00000'; - -// Remember several values in constants -$content['sum'] = translateComma($totalPoints - getUserData('used_points'), false); -$content['tref'] = translateComma($totalReferals); -$content['tlock'] = translateComma($totalLocked); - // 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'] = ''; // Display login bonus and turbo-click bonus -if ((isExtensionInstalledAndNewer('bonus', '0.2.2')) && (isExtensionActive('bonus')) && (getConfig('bonus_active') == 'Y')) { - // Fetch some data and init others (to avoid a notice here) - $content['login'] = getUserData('login_bonus'); - $content['turbo'] = getUserData('turbo_bonus'); - $content['ref'] = '0.00000'; - $content['order'] = '0.00000'; - $content['stats'] = '0.00000'; - - // Get more data if ext-bonus is newer - if (isExtensionInstalledAndNewer('bonus', '0.4.4')) { - $content['ref'] = getUserData('bonus_ref'); - $content['order'] = getUserData('bonus_order'); - $content['stats'] = getUserData('bonus_stats'); - } // END - if - +if ((isExtensionInstalledAndNewer('bonus', '0.2.2')) && (isExtensionActive('bonus')) && (isBonusRallyeActive())) { // Total bonus points - $content['ttotal'] = translateComma($content['turbo'] + $content['login'] + $content['ref'] + $content['order'] + $content['stats'], false); - - // Translate more data - $content['turbo'] = translateComma($content['turbo']); - $content['login'] = translateComma($content['login']); - - if (isExtensionInstalledAndNewer('bonus', '0.4.4')) { - // Add referal, stats and order bonys - $content['ref'] = translateComma($content['ref']); - $content['order'] = translateComma($content['order']); - $content['stats'] = translateComma($content['stats']); - } // END - if + $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')) && (getConfig('bonus_active') != 'Y')) { + $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'))) { + $content['special_rows'] = loadTemplate('member_points_bonus_disabled', TRUE); +} 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'); } -// Remeber values for the final template -$content['receive'] = translateComma($RECEIVED); -$content['confirmed'] = translateComma($CONFIRMED); -$content['sent'] = translateComma($SENT); - // Load final template if (isExtensionActive('user')) { // Load template when required extension is there - loadTemplate('member_points', false, $content); + 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, getMessage('PROBLEM_POINTS_OVERVIEW_UNAVAILABLE')); + displayMessage('{--PROBLEM_POINTS_OVERVIEW_UNAVAILABLE--}'); } +// Is ext-payout installed? if (isExtensionActive('payout')) { // Payput extension is installed and active so we can check if the user has enougth points - outputPayoutList(convertCommaToDot(($totalPoints - getUserData('used_points')))); + outputPayoutList($content['part_points'] - getUserData('used_points')); } // END - if // [EOF]