]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-refback.php
All database names are now 'back-ticked' and constant _MYSQL_PREFIX is wrapped. Partl...
[mailer.git] / inc / extensions / ext-refback.php
index 3945f2ec560ef13987ad2696f85ff006f495f9a3..855e1f52f45f2f2257b72b207a1879163c0e32cd 100644 (file)
@@ -38,62 +38,71 @@ if (!defined('__SECURITY')) {
 }
 
 // Version number
-$EXT_VERSION = "0.0";
+$EXT_VERSION = "0.0.1";
 
 // Auto-set extension version
 if (!isset($EXT_VER)) $EXT_VER = $EXT_VERSION;
 
 // Version history array (add more with , "0.1" and so on)
-$EXT_VER_HISTORY = array("0.0");
+$EXT_VER_HISTORY = array("0.0","0.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_refs`";
-       $SQLs[] = "CREATE TABLE `"._MYSQL_PREFIX."_user_refs` (
-`id` bigint(20) NOT NULL auto_increment,
-`userid` bigint(20) NOT NULL DEFAULT 0,
-`level` smallint(6) NOT NULL DEFAULT 0,
-`refid` bigint(20) NOT NULL DEFAULT 0,
+       $SQLs[] = "DROP TABLE IF EXISTS `{!MYSQL_PREFIX!}_user_refs`";
+       $SQLs[] = "CREATE TABLE `{!MYSQL_PREFIX!}_user_refs` (
+`id` BIGINT(20) UNSIGNED NOT NULL auto_increment,
+`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`level` smallINT(6) UNSIGNED NOT NULL DEFAULT 0,
+`refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `refback` float(4,1) NOT NULL DEFAULT 0.0,
-`points` FLOAT( 20,5) DEFAULT '0.00000' NOT NULL,
+`points` FLOAT( 20,5) DEFAULT 0.00000 NOT NULL,
 PRIMARY KEY (`id`),
 UNIQUE `user_refid` (`userid`,`level`,`refid`),
 KEY (`level`),
 KEY (`refid`)
 ) ENGINE=MyISAM COMMENT='User Referals With Refback'";
-       $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','refback','Ref-Back/Ref-Übersicht',4,'N','N')";
+       $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`sort`,`visible`,`locked`) VALUES ('main','refback','Ref-Back einstellen',4,'N','N')";
        break;
 
 case "remove": // Do stuff when removing extension
        // SQL commands to run
-       $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_user_refs";
-       $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE what='refback' LIMIT 1";
+       $SQLs[] = "DROP TABLE IF EXISTS `{!MYSQL_PREFIX!}_user_refs`";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `{!MYSQL_PREFIX!}_member_menu` WHERE what='refback' LIMIT 1";
+       $SQLs[] = "DELETE LOW_PRIORITY FROM `{!MYSQL_PREFIX!}_admin_menu` WHERE what IN('config_refback','list_refback') LIMIT 2";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_refsystem` SET level=level-1";
        break;
 
 case "activate": // Do stuff when admin activates this extension
        // SQL commands to run
-       $SQLs[] = "";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_member_menu` SET visible='Y', locked='N' WHERE what='refback' LIMIT 1";
        break;
 
 case "deactivate": // Do stuff when admin deactivates this extension
        // SQL commands to run
-       $SQLs[] = "";
+       $SQLs[] = "UPDATE `{!MYSQL_PREFIX!}_member_menu` SET visible='N', locked='Y' WHERE what='refback' LIMIT 1";
        break;
 
 case "update": // Update an extension
        switch ($EXT_VER)
        {
        case "0.0.1": // SQL queries for v0.0.1
-               $SQLs[] = "";
+               $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD refback_enabled ENUM('Y','N') NOT NULL DEFAULT 'Y'";
+               $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD refback_min_perc TINYINT(3) NOT NULL DEFAULT 0";
+               $SQLs[] = "ALTER TABLE `{!MYSQL_PREFIX!}_config` ADD refback_max_perc TINYINT(3) NOT NULL DEFAULT 100";
+               $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('setup','config_refback','Refback','Ändern Sie Einstellungen zum Refback, wie z.B. Minium- und Maximum-Prozente, was die Mitglieder einstellen dürfen.',15)";
+               $SQLs[] = "INSERT INTO `{!MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_refback','Refback auflisten','Refback aller Mitglieder auflisten.',15)";
 
                // Update notes (these will be set as task text!)
-               $UPDATE_NOTES = "";
+               $UPDATE_NOTES = "Refback-System ist nun ein-/ausschaltbar und minimale/maximale Refback-Prozente sind festlegbar.";
                break;
        }
        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
        // When the refback is not installed we cannot load it's configuration... *sigh*
        break;
@@ -105,11 +114,8 @@ if ($EXT_LOAD_MODE == "register") {
        $INC_POOL[] = PATH."inc/gen_refback.php";
 } // END - if
 
-// Language file prefix (hmmm, what shall I write with SQL fixes? ;-) )
-$EXT_LANG_PREFIX = "refback";
-
-// Extension is always active?
-$EXT_ALWAYS_ACTIVE = "Y";
+// Keep this extension always active!
+$EXT_ALWAYS_ACTIVE = "N";
 
 //
 ?>