More fixes, menus are no longer set visible if extension is deactivated, thanks to...
[mailer.git] / inc / extensions / ext-payout.php
index a63a63332bf432b2819119275be428e6238e0967..c79b935663ff9fad7d0bcd2b3683b4ae89f1aaa3 100644 (file)
@@ -32,8 +32,7 @@
  ************************************************************************/
 
 // 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);
 }
@@ -49,33 +48,33 @@ $EXT_VER_HISTORY = array("0.0", "0.1", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.
 
 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[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_user_payouts";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_user_payouts (
-id bigint(20) NOT NULL auto_increment,
-userid bigint(20) NOT NULL default '0',
-payout_total double(22,3) NOT NULL default '0.000',
-target_account varchar(255) NOT NULL default '',
-target_bank varchar(255) NOT NULL default '',
-payout_id bigint(20) NOT NULL default '0',
-payout_timestamp varchar(10) NOT NULL default '0',
-status enum('NEW', 'ACCEPTED', 'REJECTED') NOT NULL default 'NEW',
+id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+payout_total FLOAT(22,3) UNSIGNED NOT NULL DEFAULT '0.000',
+target_account VARCHAR(255) NOT NULL DEFAULT '',
+target_bank VARCHAR(255) NOT NULL DEFAULT '',
+payout_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+payout_timestamp VARCHAR(10) NOT NULL DEFAULT 0,
+status ENUM('NEW','ACCEPTED','REJECTED') NOT NULL DEFAULT 'NEW',
 KEY(userid),
 KEY(payout_id),
 PRIMARY KEY(id)
 ) TYPE=MyISAM";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_payout_types";
        $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_payout_types (
-id bigint(20) NOT NULL auto_increment,
-type varchar(255) NOT NULL default '',
-rate double(22,3) NOT NULL default '0.000',
-min_points bigint(20) NOT NULL default '0',
+id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+type VARCHAR(255) NOT NULL DEFAULT '',
+rate FLOAT(22,3) UNSIGNED NOT NULL DEFAULT '0.000',
+min_points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 PRIMARY KEY(id)
 ) TYPE=MyISAM";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('setup', 'config_payouts', 'Auszahlungen', 'Auszahlungsarten einstellen, neu anlegen oder löschen.', '15')";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('payouts', 'list_payouts', 'Anfragen auflisten', 'Listet alle Auszahlungsanfragen Ihrer Mitglieder auf.', '16')";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, visible, locked, sort) VALUES('main', 'payout', 'Auszahlungen', 'N', 'N', '11')";
+       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_payouts','Auszahlungen','Auszahlungsarten einstellen, neu anlegen oder löschen.','15')";
+       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (`action`,`what`,`title`,`descr`,`sort`) VALUES ('payouts','list_payouts','Anfragen auflisten','Listet alle Auszahlungsanfragen Ihrer Mitglieder auf.','16')";
+       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','payout','Auszahlungen','N','N','11')";
        break;
 
 case "remove": // Do stuff when removing extension
@@ -83,49 +82,49 @@ case "remove": // Do stuff when removing extension
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_user_payouts";
        $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_payout_types";
        $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='payouts'";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE action='main' AND what='payout' LIMIT 1";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE what='payout' LIMIT 1";
        break;
 
 case "activate": // Do stuff when admin activates this extension
        // SQL commands to run
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE action='main' AND what='payout' LIMIT 1";
+       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE what='payout' LIMIT 1";
        break;
 
 case "deactivate": // Do stuff when admin deactivates this extension
        // SQL commands to run
-       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE action='main' AND what='payout' LIMIT 1";
+       $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='N', locked='Y' WHERE what='payout' LIMIT 1";
        break;
 
 case "update": // Update an extension
        switch ($EXT_VER)
        {
        case "0.1.2": // SQL queries for v0.1.2
-               $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('payouts', '', 'Auszahlungsmanagement', 'Management der Auszahlungsarten.', '8')";
+               $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (`action`,`what`,`title`,`descr`,`sort`) VALUES ('payouts', NULL, 'Auszahlungsmanagement','Management der Auszahlungsarten.','8')";
                $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET action='payouts', title='Einstellungen' WHERE action='setup' AND what='config_payouts' LIMIT 1";
                break;
 
        case "0.1.3": // SQL queries for v0.1.3
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD from_account varchar(255) NOT NULL default ''";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD from_pass varchar(255) NOT NULL default ''";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD engine_url varchar(255) NOT NULL default ''";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD engine_ret_ok varchar(255) NOT NULL default ''";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD engine_ret_failed varchar(255) NOT NULL default ''";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD pass_enc enum('md5', 'base64', 'none') NOT NULL default 'md5'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD from_account VARCHAR(255) NOT NULL DEFAULT ''";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD from_pass VARCHAR(255) NOT NULL DEFAULT ''";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD engine_url VARCHAR(255) NOT NULL DEFAULT ''";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD engine_ret_ok VARCHAR(255) NOT NULL DEFAULT ''";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD engine_ret_failed VARCHAR(255) NOT NULL DEFAULT ''";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD pass_enc ENUM('md5','base64','none') NOT NULL DEFAULT 'md5'";
                break;
 
        case "0.1.4": // SQL queries for v0.1.4
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD password varchar(255) NOT NULL default ''";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD password VARCHAR(255) NOT NULL DEFAULT ''";
                break;
 
        case "0.1.5": // SQL queries for v0.1.5
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD target_url longblob NOT NULL";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD banner_url longblob NOT NULL";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD link_text varchar(30) NOT NULL default ''";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD allow_url enum('Y', 'N') NOT NULL default 'N'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD target_url LONGBLOB NOT NULL";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD banner_url LONGBLOB NOT NULL";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts ADD link_text VARCHAR(30) NOT NULL DEFAULT ''";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types ADD allow_url ENUM('Y','N') NOT NULL DEFAULT 'N'";
                break;
 
        case "0.1.6": // SQL queries for v0.1.6
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types CHANGE pass_enc pass_enc enum('md5', 'base64', 'xxx') NOT NULL default 'xxx'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types CHANGE pass_enc pass_enc ENUM('md5','base64','xxx') NOT NULL DEFAULT 'xxx'";
                break;
 
        case "0.1.8": // SQL queries for v0.1.8
@@ -144,8 +143,8 @@ case "update": // Update an extension
                break;
 
        case "0.2.1": // SQL queries for v0.2.1
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts CHANGE payout_total payout_total double(22,5) not null default '0.00000'";
-               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types CHANGE rate rate double(22,5) not null default '0.00000'";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_payouts CHANGE payout_total payout_total FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
+               $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_payout_types CHANGE rate rate FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
 
                // Update notes (these will be set as task text!)
                $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt.";
@@ -167,7 +166,7 @@ case "update": // Update an extension
 
        case "0.2.5": // SQL queries for v0.2.5
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "Seit <A href=\"".SERVER_URL."/patches/340-Gast_Mitgliedsmenue_Deaktivieren.zip\">Patch 340</A> &uuml;berfl&uuml;ssige HTML-Tags entfernt.";
+               $UPDATE_NOTES = "Seit <A href=\"#\">Patch 340</A> &uuml;berfl&uuml;ssige HTML-Tags entfernt.";
                break;
 
        case "0.2.6": // SQL queries for v0.2.6
@@ -242,11 +241,6 @@ case "update": // Update an extension
 default: // Do stuff when extension is loaded
        break;
 }
-// Language file prefix
-$EXT_LANG_PREFIX = "payout";
-
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = 'N';
 
 //
 ?>