* $Author:: $ *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team *
- * For more information visit: http://www.mxchange.org *
+ * 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 *
* it under the terms of the GNU General Public License as published by *
function FILTER_RALLYE_EXTRA_AUTOPURGE ($filterData) {
// Check expired rallyes (hard-coded 3 days limit for displaying expired rallyes!)
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
- purgeExpiredReferalRallyes();
+ purgeExpiredReferralRallyes();
+
+ // Return data
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+// Run filter for notifying users about rallyes
+function FILTER_RALLYE_NOTIFY_USERS ($filterData) {
+ // Do stuff only when not in CSS mode
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ if (!isCssOutputMode()) {
+ // Run filter to get SQL "addons"
+ $sqlAddons = runFilterChain('add_rallye_notify_sqls', array(
+ 'add' => '',
+ 'or' => ''
+ ));
+
+ // Check for new started but not notified rallyes
+ $result = sqlQuery("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 (sqlNumRows($result) == 1) {
+ // Start rallye
+ autostartReferralRallyes($result);
+ } // END - if
+
+ // Free memory
+ sqlFreeResult($result);
+
+ // Check for expired rallyes
+ $result = sqlQuery("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 ((sqlNumRows($result) == 1) && (isExtensionActive('autopurge'))) {
+ // End rallye here...
+ stopRallyeByResult($result);
+ } // END - if
+
+ // Free memory
+ sqlFreeResult($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` <= ' . getTotalConfirmedUser() . ' AND `d`.`min_users` > 0)';
+ } // END - if
// Return data
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');