X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmonthly%2Fmonthly_beg.php;h=172d4427e63dd5d09476888c185821172599f8f8;hb=e937b6540b932d537f72e827de76dd5be4aefe48;hp=579f4de62ca258f352794929a404ad0aedcf6ec3;hpb=c45b1827a16928c65ecc1aea6a9d7a504c4874d4;p=mailer.git diff --git a/inc/monthly/monthly_beg.php b/inc/monthly/monthly_beg.php index 579f4de62c..172d4427e6 100644 --- a/inc/monthly/monthly_beg.php +++ b/inc/monthly/monthly_beg.php @@ -1,7 +1,7 @@ 0) && ($_CONFIG['beg_ranks'] > 0) && ($CSS != 1)) -{ - // Extension "autopurge" is inactive or purging of inactive accounts is deactivated - $whereStatement1 = ""; - $whereStatement2 = 0; - $whereStatement3 = bigintval($_CONFIG['beg_ranks']); +if ((getBegRanks() > 0) && (!isCssOutputMode())) { + // Extension 'autopurge' is inactive or purging of inactive accounts is deactivated + $whereStatement = ''; - // Let's check if there are some points left we can "pay"... - 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")) - { - // Okay, include last online timestamp - $whereStatement1 = "AND last_online >="; - $whereStatement2 = bigintval(time() - $_CONFIG['ap_in_since']); - $whereStatement3 = bigintval($_CONFIG['beg_ranks']); - } - } + // Shall we exclude webmaster's own userid? + if ((!isBegIncludeOwnEnabled()) && (isValidUserId(getBegUserid()))) { + // Exclude it + $whereStatement .= ' AND `userid` != {?beg_userid?}'; + } // END - if + + // Let's check if there are some points left we can pay... + if ((isExtensionActive('autopurge')) && (isBegActiveEnabled()) && ((getApInactiveSince() > 0))) { + // Okay, include last online timestamp + $whereStatement .= ' AND (UNIX_TIMESTAMP() - `last_online`) < {?ap_inactive_since?}'; + } // 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' ".$whereStatement1." %s AND beg_points > 0 ORDER BY beg_points DESC, userid LIMIT %s", - array($whereStatement2, $whereStatement3), __FILE__, __LINE__); + $result_main = SQL_QUERY("SELECT + `userid`, + `beg_points` +FROM + `{?_MYSQL_PREFIX?}_user_data` +WHERE + `status`='CONFIRMED' + " . $whereStatement . " + " . runFilterChain('user_exclusion_sql', ' ') . " AND + `beg_points` > 0 +ORDER BY + `beg_points` DESC, + `userid` ASC +LIMIT {?beg_ranks?}", __FILE__, __LINE__); - if (SQL_NUMROWS($result_main) > 0) - { + if (!SQL_HASZERONUMS($result_main)) { // 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=%s LIMIT 1", - array($points, bigintval($uid)), __FILE__, __LINE__); - - // Update mediadata as well - if (GET_EXT_VERSION("mediadata") >= "0.0.4") - { - // Update database - MEDIA_UPDATE_ENTRY(array("total_points"), "add", $points); - } + initReferralSystem(); + addPointsThroughReferralSystem('monthly_beg', $content['userid'], $content['beg_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"; + $message = loadEmailTemplate('member_beg', $content, bigintval($content['userid'])); + sendEmail($content['userid'], '{--BEG_MONTHLY_RALLYE--}', $message); + } // 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 + +// Debug line +//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Monthly reset ended.'); -// +// [EOF] ?>