X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=0.2.1%2Finc%2Fmonthly%2Fmonthly_beg.php;fp=0.2.1%2Finc%2Fmonthly%2Fmonthly_beg.php;h=7b5780dfb66df35169f5dfabd3ab80b9424fde24;hb=7bc25dd08431c94ce9edca131d56c1a36b13c28a;hp=a6a1ef17b540063abd9f3d36056d60e1a274a02f;hpb=157ee010917df5ca07e6d31b42f67417b2516d74;p=mailer.git diff --git a/0.2.1/inc/monthly/monthly_beg.php b/0.2.1/inc/monthly/monthly_beg.php index a6a1ef17b5..7b5780dfb6 100644 --- a/0.2.1/inc/monthly/monthly_beg.php +++ b/0.2.1/inc/monthly/monthly_beg.php @@ -1,125 +1,125 @@ - 0) && ($CONFIG['beg_ranks'] > 0) && ($CSS != 1)) -{ - // Extension "autopurge" is inactive or purging of inactive accounts is deactivated - $WHERE1 = ""; - $WHERE2 = 0; - $WHERE3 = bigintval($CONFIG['beg_ranks']); - - // 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 - $WHERE1 = "AND last_online >="; - $WHERE2 = bigintval(time() - $CONFIG['ap_in_since']); - $WHERE3 = bigintval($CONFIG['beg_ranks']); - } - } - - // 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__); - - if (SQL_NUMROWS($result_main) > 0) - { - // Load our winners... - $UIDs = ""; - while(list($uid, $email, $points) = SQL_FETCHROW($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__); - - // Update mediadata as well - if (GET_EXT_VERSION("mediadata") >= "0.0.4") - { - // Update database - MEDIA_UPDATE_ENTRY(array("total_points"), "add", $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"; - - // Reset accounts - $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_user_data SET beg_points='0.00000' WHERE beg_points > 0", - __FILE__, __LINE__); - } - - // Free memory - SQL_FREERESULT($result_main); - - // 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 -} -// -?> + 0) && ($CONFIG['beg_ranks'] > 0) && ($CSS != 1)) +{ + // Extension "autopurge" is inactive or purging of inactive accounts is deactivated + $WHERE1 = ""; + $WHERE2 = 0; + $WHERE3 = bigintval($CONFIG['beg_ranks']); + + // 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 + $WHERE1 = "AND last_online >="; + $WHERE2 = bigintval(time() - $CONFIG['ap_in_since']); + $WHERE3 = bigintval($CONFIG['beg_ranks']); + } + } + + // 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__); + + if (SQL_NUMROWS($result_main) > 0) + { + // Load our winners... + $UIDs = ""; + while(list($uid, $email, $points) = SQL_FETCHROW($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__); + + // Update mediadata as well + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "add", $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"; + + // Reset accounts + $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_user_data SET beg_points='0.00000' WHERE beg_points > 0", + __FILE__, __LINE__); + } + + // Free memory + SQL_FREERESULT($result_main); + + // 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 +} +// +?>