]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-rallye.php
Mailer continued, sub-id tracking continued:
[mailer.git] / inc / extensions / ext-rallye.php
index 88ae83bb6787c5c1dd5ab86ba54c8bd306c8db8c..967cdeb52a8e789dafcf209855b2a26115c58f69 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 *
@@ -41,10 +41,10 @@ if (!defined('__SECURITY')) {
 } // 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
@@ -113,8 +113,13 @@ INDEX (`userid`)",
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `what`='rallyes' LIMIT 1");
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='rallyes' LIMIT 1");
 
+               // Remove points_data entry
+               unregisterExtensionPointsData('rallye_winner');
+
                // Unregister filter
-               unregisterFilter(__FUNCTION__, __LINE__, 'extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', true, isExtensionDryRun());
+               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
@@ -312,14 +317,15 @@ Zudem sollten Sie mindestens folgende Templates (in <strong>templates/".getLangu
                                addExtensionDependency('sql_patches');
 
                                // Register filter
-                               registerFilter('extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', false, true, isExtensionDryRun());
+                               registerFilter(__FILE__, __LINE__, 'extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', false, true, isExtensionDryRun());
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Filter hinzugef&uuml;gt und ist von <strong>sql_patches</strong> abh&auml;ngig.");
                                break;
 
                        case '0.3.6': // SQL queries for v0.3.6
-                               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`,`column_name`,`locked_mode`,`payment_method`) VALUES ('rallye_winner','points','LOCKED','DIRECT')");
+                               // Register points data
+                               registerExtensionPointsData('rallye_winner', 'points', 'LOCKED', 'DIRECT');
 
                                // This depends on ext-sql_patches
                                addExtensionDependency('sql_patches');
@@ -327,6 +333,15 @@ Zudem sollten Sie mindestens folgende Templates (in <strong>templates/".getLangu
                                // Update notes
                                setExtensionUpdateNotes("Gewinn aus der Referral-Rallye wird nun &uuml;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&uuml;gt.");
+                               break;
                } // END - switch
                break;
 
@@ -337,64 +352,6 @@ Zudem sollten Sie mindestens folgende Templates (in <strong>templates/".getLangu
                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...
-                               markReferralRallyesAsExpired($result);
-                       } // END - if
-
-                       // Free memory
-                       SQL_FREERESULT($result);
-               } // END - if
                break;
 
        default: // Unknown extension mode