X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmonthly%2Fmonthly_beg.php;h=17a38d2a8b69c10cdb168d03ffc86421271c92b9;hp=6576bd8819961e4cf22367bad47343d5aaf64392;hb=c47144dd555bbab4acdf9085e4623900dedb0e7c;hpb=e1653405d28923c78b2e292125306ccf61138f24 diff --git a/inc/monthly/monthly_beg.php b/inc/monthly/monthly_beg.php index 6576bd8819..17a38d2a8b 100644 --- a/inc/monthly/monthly_beg.php +++ b/inc/monthly/monthly_beg.php @@ -32,94 +32,71 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) -{ +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); -} - elseif ((!EXT_IS_ACTIVE("beg")) && (!IS_ADMIN())) -{ - ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "beg"); +} elseif (!EXT_IS_ACTIVE("beg")) { return; } // Do not execute when script is in CSS mode or no daily reset -if (($CSS == 1) || (!defined('__DAILY_RESET'))) return; +if (($CSS == 1) || (!defined('__DAILY_RESET')) || (getConfig('beg_rallye') == "N")) return; +//* DEBUG: */ echo basename(__FILE__)."
\n"; // Get current month (2 digits) $curr = date("m", time()); // Check if month is done -if (($curr != $CONFIG['beg_month']) && ($CONFIG['beg_month'] > 0) && ($CONFIG['beg_ranks'] > 0) && ($CSS != 1)) -{ +if (($curr != getConfig('last_month')) && (getConfig('last_month') > 0) && (getConfig('beg_ranks') > 0) && ($CSS != 1)) { // Extension "autopurge" is inactive or purging of inactive accounts is deactivated - $WHERE1 = ""; - $WHERE2 = 0; - $WHERE3 = bigintval($CONFIG['beg_ranks']); + $whereStatement1 = ""; + $whereStatement2 = bigintval(getConfig('beg_ranks')); + + // Shall we exclude webmaster's own userid? + if ((getConfig('beg_include_own') == "N") && (getConfig('beg_uid') > 0)) { + // Exclude it + $whereStatement1 = sprintf(" AND userid != %s", bigintval(getConfig('beg_uid'))); + } // END - if // Let's check if there are some points left we can "pay"... - if (EXT_IS_ACTIVE("autopurge")) - { + if (EXT_IS_ACTIVE("autopurge")) { // Use last online stamp only when autopurge for inactive members is activated - if (($CONFIG['ap_in_since'] > 0) && ($CONFIG['beg_active'] == 'Y')) - { + if ((getConfig('ap_inactive_since') > 0) && (getConfig('beg_active') == "Y")) { // Okay, include last online timestamp - $WHERE1 = "AND last_online >="; - $WHERE2 = bigintval(time() - $CONFIG['ap_in_since']); - $WHERE3 = bigintval($CONFIG['beg_ranks']); - } - } + $whereStatement1 .= sprintf(" AND last_online >= (UNIX_TIMESTAMP() - %s)", bigintval(getConfig('ap_inactive_since')));; + } // END - if + } // END - if // SQL string to check for accounts - $result_main = SQL_QUERY_ESC("SELECT userid, email, beg_points -FROM "._MYSQL_PREFIX."_user_data WHERE status='CONFIRMED' ".$WHERE1." %s AND beg_points > 0 ORDER BY beg_points DESC, userid LIMIT %s", - array($WHERE2, $WHERE3), __FILE__, __LINE__); + $result_main = SQL_QUERY_ESC("SELECT userid, email, gender, surname, family, beg_points AS points +FROM `{!_MYSQL_PREFIX!}_user_data` +WHERE `status`='CONFIRMED'".$whereStatement1." AND beg_points > 0 +ORDER BY beg_points DESC, userid +LIMIT %s", + array($whereStatement2), __FILE__, __LINE__); - if (SQL_NUMROWS($result_main) > 0) - { + if (SQL_NUMROWS($result_main) > 0) { // Load our winners... - $UIDs = ""; - while(list($uid, $email, $points) = SQL_FETCHROW($result_main)) - { + while ($content = SQL_FETCHARRAY($result_main)) { // Add points to user's account directly - $result_data = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points -SET points=points+%s WHERE ref_depth='0' AND userid=%d LIMIT 1", - array($points, bigintval($uid)), __FILE__, __LINE__); + ADD_POINTS_REFSYSTEM("monthly_beg", $content['userid'], $content['points'], false, "0", false, "direct"); - // Update mediadata as well - if (GET_EXT_VERSION("mediadata") >= "0.0.4") - { - // Update database - MEDIA_UPDATE_ENTRY(array("total_points"), "add", $points); - } + // Translate gender/points + $content['gender'] = TRANSLATE_GENDER($content['gender']); + $content['points'] = TRANSLATE_COMMA($content['points']); // Load email template and email it away - $msg = LOAD_EMAIL_TEMPLATE("member_beg", $points, bigintval($uid)); - SEND_EMAIL($email, BEG_MONTHLY_RALLYE, $msg); - } - - // Remove first commata - $UIDs = substr($UIDs, 1); - - // Get current month - $curr = date("m", time()); - if (strlen($curr) == 1) $curr = "0".$curr; - if ($curr == "00") $curr = "12"; + $msg = LOAD_EMAIL_TEMPLATE("member_beg", $content, bigintval($content['userid'])); + SEND_EMAIL($content['email'], BEG_MONTHLY_RALLYE, $msg); + } // END - while // Reset accounts - $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_user_data SET beg_points='0.00000' WHERE beg_points > 0", - __FILE__, __LINE__); - } + $result = SQL_QUERY("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET beg_points=0.00000 WHERE beg_points > 0", __FILE__, __LINE__); + } // END - if // Free memory SQL_FREERESULT($result_main); +} // END - if - // Finally update database and config array - $CONFIG['beg_month'] = $curr; - $result_update = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_config SET beg_month='%s' WHERE config='0' LIMIT 1", - array($curr), __FILE__, __LINE__); - - // Destroy cache -} // ?>