More globals rewritten, see ticket #100
[mailer.git] / inc / extensions / ext-yoomedia.php
index 6dc9287dd3f219a027f7e0deb48fe7628ea4b1b3..3dccf5fae5029695d2072440d8e0578a29984fcb 100644 (file)
  * Kurzbeschreibung  : Erweitertung zur Anbindung an die API von        *
  *                     Yoo!Media                                        *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])))
-{
+if (!defined('__SECURITY')) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
 }
 
 // Version number
-$EXT_VERSION = "0.0";
-
-// Auto-set extension version
-if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
+EXT_SET_VERSION("0.0");
 
 // Version history array (add more with , "0.1" and so on)
-$EXT_VER_HISTORY = array("0.0");
+EXT_SET_VER_HISTORY(array("0.0"));
+
+// This extension is deprecated!
+// Only since 'network' is ready! EXT_SET_DEPRECATED("Y");
 
 switch ($EXT_LOAD_MODE)
 {
-case "register": // Do stuff when installtion is running (modules.php?module=admin&action=login is called)
+case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
        // SQL commands to run
-       $SQLs[] = "";
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_sid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_passwd` VARCHAR(255) NOT NULL DEFAULT ''");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_erotic_allowed` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_tm_max_reload` SMALLINT(6) UNSIGNED NOT NULL DEFAULT ".(24 * 8)."");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_tm_min_wait` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 60");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_tm_clicks_remain` INT(7) UNSIGNED NOT NULL DEFAULT 1000");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_tm_min_pay` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_requests_total` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 200");
+       ADD_EXT_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_config` ADD `yoomedia_requests_remain` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 200");
+
+       // Admin menu
+       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_yoomedia','Yoo!Media Interface 2.0','Einstellungen zum Yoo!Media Interface 2.0, wie User-ID, Interface-Passwort und vieles mehr.',17)");
+       ADD_EXT_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','list_yoomedia_tm','Yoo!Media Textmails','Listet Textmail-Buchungen &uuml;ber das Interface 2.0 von Yoo!Media nach Ihren eingestellten Kriterien auf. <strong>Vorsicht:</strong> Jede Aktualisierung dieser Liste kostet Ihnen eine Abfrage!',10)");
+
+       // Reload lock table
+       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_yoomedia_reload`");
+       ADD_EXT_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_yoomedia_reload` (
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`type` VARCHAR(255) NOT NULL DEFAULT 'general',
+`y_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`y_reload` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 0,
+`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+PRIMARY KEY (`id`),
+UNIQUE `y_type` (`type`,`y_id`)
+) TYPE={!_TABLE_TYPE!} COMMENT='Reload lock reminder for Yoo!Media campaigns'");
        break;
 
 case "remove": // Do stuff when removing extension
        // SQL commands to run
+       ADD_EXT_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `what` IN('config_yoomedia','list_yoomedia_tm')");
+       ADD_EXT_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_yoomedia_reload`");
        break;
 
 case "activate": // Do stuff when admin activates this extension
@@ -71,23 +102,49 @@ case "update": // Update an extension
        switch ($EXT_VER)
        {
        case "0.0.1": // SQL queries for v0.0.1
-               $SQLs[] = "";
+               ADD_EXT_SQL("");
 
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "";
+               EXT_SET_UPDATE_NOTES("");
                break;
        }
        break;
 
+case "modify": // When the extension got modified
+       break;
+
+case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+       break;
+
 default: // Do stuff when extension is loaded
+       // The translation table
+       $GLOBALS['translation_tables']['yoomedia'] = array(
+               // Error messages
+               'error_codes' => array(
+                       1  => 'wrong_pass',
+                       2  => 'wrong_sid',
+                       3  => 'website_locked',
+                       4  => 'api_data_error',
+                       5  => 'requests_depleted',
+                       6  => 'zero_result',
+                       10 => 'incomplete_request'
+               ),
+               // For text mails
+               'textmail' => array(
+                       0 => 'id',
+                       1 => 'name',
+                       2 => 'reload',
+                       3 => 'wait',
+                       4 => 'remain',
+                       5 => 'pay',
+                       6 => 'text'
+               )
+       );
        break;
 }
 
-// Language file prefix
-$EXT_LANG_PREFIX = "yoomedia";
-
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = "N";
+// Keep this extension always active!
+EXT_SET_ALWAYS_ACTIVE("Y");
 
 //
 ?>