]> git.mxchange.org Git - mailer.git/blobdiff - inc/filter/rallye_filter.php
Filters for configurable userid exclusion added:
[mailer.git] / inc / filter / rallye_filter.php
index 6df1f69c1a9ed3ee6ef93eee6fe7fff1a8c8edd2..2e9e84c33b3d4e34a16ea105152a0d05ee3e08d3 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
+ * 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 *
@@ -51,5 +51,86 @@ function FILTER_RALLYE_EXTRA_AUTOPURGE ($filterData) {
        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 = 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` <= ' . getTotalConfirmedUser() . ' AND `d`.`min_users` > 0)';
+       } // END  - if
+
+       // Return data
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+       return $filterData;
+}
+
 // [EOF]
 ?>