]> git.mxchange.org Git - mailer.git/blobdiff - inc/functions.php
Further fixes for all resets
[mailer.git] / inc / functions.php
index ef0c2f1b8ed2c4b2eeee9a9352007dcbc932043e..0ae32cc285d5ae0374d50b71a14a1f7937b22027 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2012 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -1128,15 +1128,8 @@ function getMessageFromErrorCode ($code) {
                        break;
 
                case getCode('URL_TIME_LOCK'):
-                       // @TODO Move this SQL code into a function, let's say 'getTimestampFromPoolId($id) ?
-                       $result = SQL_QUERY_ESC("SELECT `timestamp` FROM `{?_MYSQL_PREFIX?}_pool` WHERE `id`=%s LIMIT 1",
-                               array(bigintval(getRequestElement('id'))), __FUNCTION__, __LINE__);
-
                        // Load timestamp from last order
-                       $content = SQL_FETCHARRAY($result);
-
-                       // Free memory
-                       SQL_FREERESULT($result);
+                       $content = getPoolDataFromId(getRequestElement('id'));
 
                        // Translate it for templates
                        $content['timestamp'] = generateDateTime($content['timestamp'], 1);
@@ -1539,6 +1532,7 @@ function rebuildCache ($cache, $inc = '', $force = FALSE) {
        // Shall I remove the cache file?
        if ((isExtensionInstalled('cache')) && (isCacheInstanceValid()) && (isHtmlOutputMode())) {
                // Rebuild cache only in HTML output-mode
+               // @TODO This should be rewritten not to load the cache file for just checking if it is there for save removal.
                if ($GLOBALS['cache_instance']->loadCacheFile($cache)) {
                        // Destroy it
                        $GLOBALS['cache_instance']->removeCacheFile($force);
@@ -1628,22 +1622,64 @@ function addNewBonusMail ($data, $mode = '', $output = TRUE) {
        }
 }
 
-// Enables the reset mode and runs it
-function doReset () {
-       // Enable the reset mode
-       $GLOBALS['reset_enabled'] = TRUE;
-
-       // Run filters
-       runFilterChain('reset');
-}
-
-// Enables the reset mode (hourly, weekly and monthly) and runs it
+// Enables the hourly reset mode and runs it
 function doHourly () {
        // Enable the hourly reset mode
        $GLOBALS['hourly_enabled'] = TRUE;
 
        // Run filters (one always!)
        runFilterChain('hourly');
+
+       // Do not update in hourly debug mode
+       if ((!isConfigEntrySet('DEBUG_HOURLY')) || (!isDebugHourlyEnabled())) {
+               // Update database
+               updateConfiguration('last_hourly', getHour());
+       } // END - if
+}
+
+// Enables the daily reset mode and runs it
+function doDaily () {
+       // Enable the reset mode
+       $GLOBALS['daily_enabled'] = TRUE;
+
+       // Run filters
+       runFilterChain('daily');
+
+       // Do not update in daily debug mode
+       if ((!isConfigEntrySet('DEBUG_DAILY')) || (!isDebugDailyEnabled())) {
+               // Update database
+               updateConfiguration('last_daily', getDay());
+       } // END - if
+}
+
+// Enables the weekly reset mode and runs it
+function doWeekly () {
+       // Enable the reset mode
+       $GLOBALS['weekly_enabled'] = TRUE;
+
+       // Run filters
+       runFilterChain('weekly');
+
+       // Do not update in weekly debug mode
+       if ((!isConfigEntrySet('DEBUG_WEEKLY')) || (!isDebugWeeklyEnabled())) {
+               // Update database
+               updateConfiguration('last_weekly', getWeek());
+       } // END - if
+}
+
+// Enables the monthly reset mode and runs it
+function doMonthly () {
+       // Enable the reset mode
+       $GLOBALS['monthly_enabled'] = TRUE;
+
+       // Run filters
+       runFilterChain('monthly');
+
+       // Do not update in monthly debug mode
+       if ((!isConfigEntrySet('DEBUG_MONTHLY')) || (!isDebugMonthlyEnabled())) {
+               // Update database
+               updateConfiguration('last_monthly', getMonth());
+       } // END - if
 }
 
 // Shuts down the mailer (e.g. closing database link, flushing output/filters, etc.)