X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmonthly%2Fmonthly_beg.php;h=f9949262771bccc73fb1287a3d7c25b34c081927;hb=3c8df4406f9247182f4dbe4494d62ac229a7bd28;hp=35e62117a947beb87b69548936c842cbb36f6148;hpb=e6e3183f794b385f5acc38b371c220cc35cdac38;p=mailer.git diff --git a/inc/monthly/monthly_beg.php b/inc/monthly/monthly_beg.php index 35e62117a9..f994926277 100644 --- a/inc/monthly/monthly_beg.php +++ b/inc/monthly/monthly_beg.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Monatliche Bettelrallye * * -------------------------------------------------------------------- * - * * + * $Revision:: $ * + * $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 - 2008 by Roland Haeder * + * Copyright (c) 2003 - 2009 by Roland Haeder * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -33,81 +38,71 @@ // Some security stuff... 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"); + die(); +} elseif (!isExtensionActive('beg')) { return; } // Do not execute when script is in CSS mode or no daily reset -if (($CSS == 1) || (!defined('__DAILY_RESET')) || ($_CONFIG['beg_rallye'] == "N")) return; +if ((getOutputMode() == 1) || (!isResetModeEnabled()) || (getConfig('beg_rallye') != 'Y')) return; +//* DEBUG: */ outputHtml(basename(__FILE__)."
"); // Get current month (2 digits) -$curr = date("m", time()); +$curr = date('m', time()); // Check if month is done -if (($curr != $_CONFIG['last_month']) && ($_CONFIG['last_month'] > 0) && ($_CONFIG['beg_ranks'] > 0) && ($CSS != 1)) -{ - // Extension "autopurge" is inactive or purging of inactive accounts is deactivated - $whereStatement1 = ""; - $whereStatement2 = bigintval($_CONFIG['beg_ranks']); +if (($curr != getConfig('last_month')) && (getConfig('last_month') > 0) && (getConfig('beg_ranks') > 0) && (getOutputMode() != 1)) { + // Extension 'autopurge' is inactive or purging of inactive accounts is deactivated + $whereStatement1 = ''; + + // Shall we exclude webmaster's own userid? + if ((getConfig('beg_include_own') != 'Y') && (getConfig('beg_userid') > 0)) { + // Exclude it + $whereStatement1 = sprintf(" AND `userid` != %s", getConfig('beg_userid')); + } // END - if - // Let's check if there are some points left we can "pay"... - if (EXT_IS_ACTIVE("autopurge")) - { + // Let's check if there are some points left we can 'pay'... + if (isExtensionActive('autopurge')) { // Use last online stamp only when autopurge for inactive members is activated - if (($_CONFIG['ap_inactive_since'] > 0) && ($_CONFIG['beg_active'] == "Y")) - { + if ((getConfig('ap_inactive_since') > 0) && (getConfig('beg_active') == 'Y')) { // Okay, include last online timestamp - $whereStatement1 = sprintf("AND last_online >= (UNIX_TIMESTAMP() - %s)", bigintval($_CONFIG['ap_inactive_since']));; - $whereStatement2 = bigintval($_CONFIG['beg_ranks']); - } - } + $whereStatement1 .= sprintf(" AND `last_online` >= (UNIX_TIMESTAMP() - %s)", 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' ".$whereStatement1." AND beg_points > 0 -ORDER BY beg_points DESC, userid -LIMIT %s", - array($whereStatement2), __FILE__, __LINE__); + $result_main = SQL_QUERY("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` ASC +LIMIT {?beg_ranks?}", __FILE__, __LINE__); 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=%s LIMIT 1", - array($points, bigintval($uid)), __FILE__, __LINE__); + addPointsDirectly('monthly_beg', $content['userid'], $content['points']); - // 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'] = translateGender($content['gender']); + $content['points'] = translateComma($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"; + $message = loadEmailTemplate('member_beg', $content, bigintval($content['userid'])); + sendEmail($content['email'], getMessage('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 // ?>