inc/daily/daily_earning.php svneol=native#text/plain
inc/daily/daily_engine.php svneol=native#text/plain
inc/daily/daily_holiday.php svneol=native#text/plain
+inc/daily/daily_order.php svneol=native#text/plain
inc/daily/daily_profile.php svneol=native#text/plain
inc/daily/daily_surfbar.php svneol=native#text/plain
inc/daily/daily_user.php svneol=native#text/plain
--- /dev/null
+<?php
+/************************************************************************
+ * Mailer v0.2.1-FINAL Start: 09/29/2012 *
+ * =================== Last change: 09/29/2012 *
+ * *
+ * -------------------------------------------------------------------- *
+ * File : daily_order.php *
+ * -------------------------------------------------------------------- *
+ * Short description : Things to be done on daily reset *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung : Dinge, die beim taeglichen Reset erledigt werden *
+ * -------------------------------------------------------------------- *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ************************************************************************/
+
+// Some security stuff...
+if (!defined('__SECURITY')) {
+ die();
+} elseif ((!isHtmlOutputMode()) || (!isResetModeEnabled())) {
+ // Do not execute when script is in CSS mode or no daily reset
+ return;
+} elseif (!isExtensionActive('order')) {
+ logDebugMessage(__FILE__, __LINE__, 'Not resetting, needed extension disabled.');
+ return;
+}
+
+// Debug line
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Daily reset started.');
+
+// Reset mail order values
+$result_ext = SQL_QUERY('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `mail_orders`=0 WHERE `mail_orders` > 0', __FILE__, __LINE__);
+
+// Debug line
+//* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Daily reset ended.');
+
+// [EOF]
+?>
break;
case 'init': // Do stuff when extension is initialized
- // Do daily reset only when installed and extension version is at least 0.1.1
- // @TODO This should be moved out to inc/daily/
- if ((isResetModeEnabled()) && (isInstalled()) && (isAdminRegistered()) && (isExtensionInstalledAndNewer('order', '0.1.1'))) {
- // Reset mail order values
- $result_ext = SQL_QUERY('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `mail_orders`=0 WHERE `mail_orders` > 0', __FILE__, __LINE__);
- } // END - if
break;
case 'init': // Do stuff when extension is initialized
} // END - if
// Version number
-setThisExtensionVersion('0.3.6');
+setThisExtensionVersion('0.3.7');
// Version history array (add more with , '0.0.1' and so on)
-setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6'));
+setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5', '0.0.6', '0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.1.4', '0.1.5', '0.1.6', '0.1.7', '0.1.8', '0.1.9', '0.2.0', '0.2.1', '0.2.2', '0.2.3', '0.2.4', '0.2.5', '0.2.6', '0.2.7', '0.2.8', '0.2.9', '0.3.0', '0.3.1', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7'));
switch (getExtensionMode()) {
case 'register': // Do stuff when installation is running
// Unregister filter
unregisterFilter(__FILE__, __LINE__, 'extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', true, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'init', 'RALLYE_NOTIFY_USERS', true, isExtensionDryRun());
+ unregisterFilter(__FILE__, __LINE__, 'add_rallye_notify_sqls', 'ADD_RALLYE_SQL_COLUMNS', true, isExtensionDryRun());
break;
case 'activate': // Do stuff when admin activates this extension
// Update notes
setExtensionUpdateNotes("Gewinn aus der Referral-Rallye wird nun über die Tabelle <strong>{OPEN_CONFIG}_MYSQL_PREFIX{CLOSE_CONFIG}_points_data</strong> verwaltet.");
break;
+
+ case '0.3.7': // SQL queries for v0.3.7
+ // Register filter
+ registerFilter(__FILE__, __LINE__, 'init', 'RALLYE_NOTIFY_USERS', false, true, isExtensionDryRun());
+ registerFilter(__FILE__, __LINE__, 'add_rallye_notify_sqls', 'ADD_RALLYE_SQL_COLUMNS', false, true, isExtensionDryRun());
+
+ // Update notes
+ setExtensionUpdateNotes("Weitere Filter hinzugefügt.");
+ break;
} // END - switch
break;
break;
case 'init': // Do stuff when extension is initialized
- // Do stuff only when not in CSS mode
- // @TODO Move this code into a hook
- if (!isCssOutputMode()) {
- // Get total member count
- $total = getTotalConfirmedUser();
-
- // Add more data on higher versions
- $ADD1 = ''; $ADD2 = ''; $OR = '';
- if (isExtensionInstalledAndNewer('rallye', '0.2.0')) {
- $ADD1 = ",`min_users`,`min_prices`";
- $ADD2 = ",d.`min_users`,d.`min_prices`";
- $OR = " OR (d.`min_users` <= " . $total . " AND d.`min_users` > 0)";
- } // END - if
-
- // Check for new started but not notified rallyes
- $result = SQL_QUERY("SELECT SQL_SMALL_RESULT
- `id`,
- `title`,
- `start_time`,
- `end_time`,
- `send_notify`
- " . $ADD1 . "
-FROM
- `{?_MYSQL_PREFIX?}_rallye_data`
-WHERE
- `is_active`='Y' AND
- `notified`='N' AND
- `expired`='N' AND
- `start_time` <= UNIX_TIMESTAMP() AND
- `end_time` > UNIX_TIMESTAMP()
-LIMIT 1", __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 1) {
- // Start rallye
- autostartReferralRallyes($result);
- } // END - if
-
- // Free memory
- SQL_FREERESULT($result);
-
- // Check for expired rallyes
- $result = SQL_QUERY("SELECT SQL_SMALL_RESULT
- d.`id`,
- d.`title`,
- d.`start_time`,
- d.`end_time`,
- d.`send_notify`
- " . $ADD2 . "
-FROM
- `{?_MYSQL_PREFIX?}_rallye_data` AS d
-WHERE
- d.`is_active`='Y' AND
- d.`notified`='Y' AND
- d.`expired`='N' AND
- (d.`end_time` <= UNIX_TIMESTAMP()".$OR.")
-LIMIT 1", __FILE__, __LINE__);
- if ((SQL_NUMROWS($result) == 1) && (isExtensionActive('autopurge'))) {
- // End rallye here...
- stopRallyeByResult($result);
- } // END - if
-
- // Free memory
- SQL_FREERESULT($result);
- } // END - if
break;
default: // Unknown extension mode
return $filterData;
}
+// Run filter for notifying users about rallyes
+function FILTER_RALLYE_NOTIFY_USERS ($filerData) {
+ // Do stuff only when not in CSS mode
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ if (!isCssOutputMode()) {
+ // Get total member count
+ $total = getTotalConfirmedUser();
+
+ // Run filter to get SQL "addons"
+ $sqlAddons = runFilterChain('add_rallye_notify_sqls', array(
+ 'add' => '',
+ 'or' => ''
+ ));
+
+ // Check for new started but not notified rallyes
+ $result = SQL_QUERY("SELECT SQL_SMALL_RESULT
+ d.`id`,
+ d.`title`,
+ d.`start_time`,
+ d.`end_time`,
+ d.`send_notify`
+ " . $sqlAddons['add'] . "
+FROM
+ `{?_MYSQL_PREFIX?}_rallye_data` AS d
+WHERE
+ d.`is_active`='Y' AND
+ d.`notified`='N' AND
+ d.`expired`='N' AND
+ d.`start_time` <= UNIX_TIMESTAMP() AND
+ d.`end_time` > UNIX_TIMESTAMP()
+LIMIT 1", __FILE__, __LINE__);
+ if (SQL_NUMROWS($result) == 1) {
+ // Start rallye
+ autostartReferralRallyes($result);
+ } // END - if
+
+ // Free memory
+ SQL_FREERESULT($result);
+
+ // Check for expired rallyes
+ $result = SQL_QUERY("SELECT SQL_SMALL_RESULT
+ d.`id`,
+ d.`title`,
+ d.`start_time`,
+ d.`end_time`,
+ d.`send_notify`
+ " . $sqlAddons['add'] . "
+FROM
+ `{?_MYSQL_PREFIX?}_rallye_data` AS d
+WHERE
+ d.`is_active`='Y' AND
+ d.`notified`='Y' AND
+ d.`expired`='N' AND
+ (d.`end_time` <= UNIX_TIMESTAMP()" . $sqlAddons['or'] . ")
+LIMIT 1", __FILE__, __LINE__);
+ if ((SQL_NUMROWS($result) == 1) && (isExtensionActive('autopurge'))) {
+ // End rallye here...
+ stopRallyeByResult($result);
+ } // END - if
+
+ // Free memory
+ SQL_FREERESULT($result);
+ } // END - if
+
+ // Return data
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Filter for adding SQL columns
+function FILTER_ADD_RALLYE_SQL_COLUMNS ($filterData) {
+ // Are all requirements met?
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ if (isExtensionInstalledAndNewer('rallye', '0.2.0')) {
+ // Add more data on higher versions
+ $filterData['add'] .= ',`min_users`,`min_prices`';
+ $filterData['or'] .= ' OR (d.`min_users` <= ' . $total . ' AND d.`min_users` > 0)';
+ } // END - if
+
+ // Return data
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
// [EOF]
?>