X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions%2Fext-refback.php;h=53846bbd782d02cfc153ce23a453b9d05c08b9d2;hb=1f507f190ba73b50dc005b6d5597422f239b3761;hp=4c9545ab621d4ec5158e9ae8540bf61e0ef44434;hpb=fa3cca8d61ae4840e6781eb39ed69c9ca89fe172;p=mailer.git diff --git a/inc/extensions/ext-refback.php b/inc/extensions/ext-refback.php index 4c9545ab62..53846bbd78 100644 --- a/inc/extensions/ext-refback.php +++ b/inc/extensions/ext-refback.php @@ -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; @@ -102,13 +111,12 @@ default: // Do stuff when extension is loaded // Shall we include special files? if ($EXT_LOAD_MODE == "register") { // Execute this special file on this update - $INC_POOL[] = PATH."inc/gen_refback.php"; + $INC_POOL[] = sprintf("%sinc/gen_refback.php", + constant('PATH') + ); } // END - if -// Language file prefix (hmmm, what shall I write with SQL fixes? ;-) ) -$EXT_LANG_PREFIX = "refback"; - -// Extension is always active? +// Keep this extension always active! $EXT_ALWAYS_ACTIVE = "N"; //