X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fdaily%2Fdaily_user.php;h=e09ff4213f5163857b0b97666df4f9ec39157036;hp=99211777ba14add8af3f1fc25f1e283d42320cee;hb=49acdb7a7adbcf25a8e8683b5581bfcec72b23bd;hpb=93eeb9837b0c73e3e91276a2375aabe82a82ad2d diff --git a/inc/daily/daily_user.php b/inc/daily/daily_user.php index 99211777ba..e09ff4213f 100644 --- a/inc/daily/daily_user.php +++ b/inc/daily/daily_user.php @@ -10,14 +10,9 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Dinge, die beim taeglichen Reset erledigt werden * * -------------------------------------------------------------------- * - * $Revision:: $ * - * $Date:: $ * - * $Tag:: 0.2.1-FINAL $ * - * $Author:: $ * - * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2015 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 * @@ -38,11 +33,11 @@ // Some security stuff... if (!defined('__SECURITY')) { die(); -} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) { - // Do not execute when script is in CSS mode or no daily reset +} elseif ((!isHtmlOutputMode()) || (!isDailyResetEnabled())) { + // Do not execute when script is in non-HTML mode or no daily reset return; } elseif ((!isExtensionActive('sql_patches')) || (!isExtensionActive('user'))) { - logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension(s) disabled.'); + if (isDebugModeEnabled()) logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension(s) ext-sql_patches/ext-user disabled.'); return; } @@ -52,95 +47,131 @@ if (!defined('__SECURITY')) { // Update user profiles if (isExtensionInstalledAndNewer('order', '0.1.1')) { // Latest version - SQL_QUERY('UPDATE + sqlQuery('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `receive_mails`=`max_mails`, `mail_orders`=0 WHERE - `receive_mails` != `max_mails`', __FILE__, __LINE__); + `receive_mails` != `max_mails` + ' . runFilterChain('user_exclusion_sql', ' ') . '', __FILE__, __LINE__); } else { // Obsolete version - SQL_QUERY('UPDATE + sqlQuery('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `receive_mails`=`max_mails` WHERE - `receive_mails` != `max_mails`', __FILE__, __LINE__); + `receive_mails` != `max_mails` + ' . runFilterChain('user_exclusion_sql', ' ') . '', __FILE__, __LINE__); } // Transfer points from locked_points to points -$result_daily = SQL_QUERY("SELECT +$result_daily = sqlQuery("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `ref_payout`=0 AND `status`='CONFIRMED' + " . runFilterChain('user_exclusion_sql', ' ') . " ORDER BY `userid` ASC", __FILE__, __LINE__); -//* DEBUG: */ debugOutput(basename(__FILE__) . ':payout=0;daily|numRows=' . SQL_NUMROWS($result_daily)); -if (!SQL_HASZERONUMS($result_daily)) { +//* DEBUG: */ debugOutput(basename(__FILE__) . ':payout=0;daily|numRows=' . sqlNumRows($result_daily)); +if (!ifSqlHasZeroNumRows($result_daily)) { // Init SQLs initSqls(); - // Start checking accounts which are on 0 confirmed-to-go mails - while ($content = SQL_FETCHARRAY($result_daily)) { - //* DEBUG: */ debugOutput(basename(__FILE__) . ':' . $content['userid']); - $result_points = SQL_QUERY_ESC("SELECT + // Run through all 'locked_(foo)_points columsn + foreach (runFilterChain('locked_points_columns_array', array('points')) as $columnName) { + // Start checking accounts which are on 0 confirmed-to-go mails + while ($content = sqlFetchArray($result_daily)) { + //* DEBUG: */ debugOutput(basename(__FILE__) . ':' . $content['userid']); + $result_points = sqlQueryEscaped("SELECT `ref_depth`, - `locked_points` + `locked_%s` FROM `{?_MYSQL_PREFIX?}_user_points` WHERE `userid`=%s AND - `locked_points` > 0.00000 + `locked_%s` > 0.00000 ORDER BY `ref_depth` ASC", - array(bigintval($content['userid'])), __FILE__, __LINE__); + array( + $columnName, + bigintval($content['userid']), + $columnName + ), __FILE__, __LINE__); - //* DEBUG: */ debugOutput(basename(__FILE__) . ':payout=0;points|numRows=' . SQL_NUMROWS($result_points)); - if (!SQL_HASZERONUMS($result_points)) { - // Ok transfer points - while ($content2 = SQL_FETCHARRAY($result_points)) { - // Merge both arrays - $content = merge_array($content, $content2); + //* DEBUG: */ debugOutput(basename(__FILE__) . ':payout=0;points|numRows=' . sqlNumRows($result_points)); + if (!ifSqlHasZeroNumRows($result_points)) { + // Ok transfer points + while ($content2 = sqlFetchArray($result_points)) { + // Merge both arrays + $content = merge_array($content, $content2); - //* DEBUG: */ debugOutput(basename(__FILE__) . ':userid=' . $content['userid'].',depth='.$content['ref_depth'].',locked='.$content['locked_points']); - addSql(SQL_QUERY_ESC("UPDATE + //* DEBUG: */ debugOutput(basename(__FILE__) . ':userid=' . $content['userid'].',depth='.$content['ref_depth'].',columnName=' . $columnName . ',locked='.$content['locked_' . $columnName]); + if ($content['ref_depth'] > 0) { + // Level 1+ + addSql(sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_points` SET - `points`=`points`+%s, - `locked_points`=0.00000 + `%s`=`%s`+%s, + `locked_%s`=0.00000 WHERE `userid`=%s AND `ref_depth`=%s LIMIT 1", - array( - $content['locked_points'], - bigintval($content['userid']), - $content['ref_depth'] - ), __FILE__, __LINE__, false)); + array( + $columnName, + $columnName, + $content['locked_' . $columnName], + $columnName, + bigintval($content['userid']), + $content['ref_depth'] + ), __FILE__, __LINE__, FALSE) + ); + } else { + // Level zero + addSql(sqlQueryEscaped("UPDATE + `{?_MYSQL_PREFIX?}_user_points` +SET + `%s`=`%s`+%s, + `locked_%s`=0.00000 +WHERE + `userid`=%s AND + `ref_depth` IS NULL +LIMIT 1", + array( + $columnName, + $columnName, + $content['locked_' . $columnName], + $columnName, + bigintval($content['userid']) + ), __FILE__, __LINE__, FALSE) + ); + } - // Update mediadata as well - if (isExtensionInstalledAndNewer('mediadata', '0.0.4')) { - // Update database - updateMediadataEntry(array('total_points'), 'add', $content['locked_points']); - } // END - if - } // END - while - } // END - if + // Update mediadata as well + if (isExtensionInstalledAndNewer('mediadata', '0.0.4')) { + // Update database + updateMediadataEntry(array('total_points'), 'add', $content['locked_' . $columnName]); + } // END - if + } // END - while + } // END - if - // Free memory - SQL_FREERESULT($result_points); - } // END - while + // Free memory + sqlFreeResult($result_points); + } // END - while + } // END - foreach // Run all SQLs runFilterChain('run_sqls'); } // END - if // Free memory -SQL_FREERESULT($result_daily); +sqlFreeResult($result_daily); // Debug line //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Daily reset ended.');