X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-coupon.php;h=1872aabb4e6eec48d47c132821d3853e746d370d;hp=a84c4b20ebe8884d5050df3388d07058456e387d;hb=e9da1508b2a3ccbf63adc999981674740a47e074;hpb=3f7f0051c91c54cb691303b9d49fb9cd1a7a4e8c diff --git a/inc/extensions/ext-coupon.php b/inc/extensions/ext-coupon.php index a84c4b20eb..1872aabb4e 100644 --- a/inc/extensions/ext-coupon.php +++ b/inc/extensions/ext-coupon.php @@ -18,8 +18,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2015 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -43,13 +43,13 @@ if (!defined('__SECURITY')) { } // END - if // Version number -setThisExtensionVersion('0.0.1'); +setThisExtensionVersion('0.0.3'); // Version history array (add more with , '0.1' and so on) -setExtensionVersionHistory(array('0.0.0', '0.0.1')); +setExtensionVersionHistory(array('0.0.0', '0.0.1', '0.0.2', '0.0.3')); switch (getExtensionMode()) { - case 'register': // Do stuff when installtion is running + case 'setup': // Do stuff when installtion is running // This extension requires an up-to-date ext-user addExtensionDependency('user'); addExtensionDependency('autopurge'); @@ -64,7 +64,7 @@ switch (getExtensionMode()) { `total_created` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `total_cashed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, -`coupon_description` TEXT, +`coupon_description` TEXT NOT NULL, PRIMARY KEY (`id`)", 'Created coupons'); @@ -77,8 +77,8 @@ PRIMARY KEY (`id`)", `coupon_code` VARCHAR(30) NULL DEFAULT NULL, `cashed_on` TIMESTAMP NULL DEFAULT NULL, PRIMARY KEY (`id`), -UNIQUE KEY `coupon_user` (`coupon_id`,`userid`), -UNIQUE KEY (`coupon_code`)", +UNIQUE INDEX `coupon_user` (`coupon_id`, `userid`), +UNIQUE INDEX (`coupon_code`)", 'Coupon->user connection'); // Configuration entries @@ -88,7 +88,7 @@ UNIQUE KEY (`coupon_code`)", addConfigAddSql('coupon_userid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); // User data table - addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `receiving_coupons` ENUM('Y','N') NOT NULL DEFAULT 'Y'"); + addExtensionAddTableColumnSql('user_data', 'receiving_coupons', "ENUM('Y','N') NOT NULL DEFAULT 'Y'"); // Menu systems: // - Admin entries @@ -102,7 +102,7 @@ UNIQUE KEY (`coupon_code`)", addMemberMenuSql('coupon', 'list_coupon', 'Eingelöste auflisten', 2); // Add filter (for changing user_points column dynamically - registerFilter('determine_points_column_name', 'COUPON_CHANGE_POINTS_COLUMN_NAME', false, true, isExtensionDryRun()); + registerFilter(__FILE__, __LINE__, 'determine_points_column_name', 'COUPON_CHANGE_POINTS_COLUMN_NAME', FALSE, TRUE, isExtensionDryRun()); break; case 'remove': // Do stuff when removing extension @@ -112,18 +112,22 @@ UNIQUE KEY (`coupon_code`)", addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='coupon' LIMIT 4"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `action`='coupon' LIMIT 3"); + // Remove points data + unregisterExtensionPointsData('coupon_cashed'); + // Remove all filters - unregisterFilter(__FUNCTION__, __LINE__, 'determine_points_column_name', 'COUPON_CHANGE_POINTS_COLUMN_NAME', true, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'determine_points_column_name', 'COUPON_CHANGE_POINTS_COLUMN_NAME', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'post_cash_coupon', 'POST_CASH_COUPON', TRUE, isExtensionDryRun()); break; case 'activate': // Do stuff when admin activates this extension // SQL commands to run - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `action`='coupon' LIMIT 3"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y',`locked`='N' WHERE `action`='coupon' LIMIT 3"); break; case 'deactivate': // Do stuff when admin deactivates this extension // SQL commands to run - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `action`='coupon' LIMIT 3"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N',`locked`='Y' WHERE `action`='coupon' LIMIT 3"); break; case 'update': // Update an extension @@ -133,16 +137,30 @@ UNIQUE KEY (`coupon_code`)", addConfigDropSql('coupon_payment_method'); addConfigDropSql('coupon_locked_points_mode'); - // This extension's update requires an up-to-date ext-sql_patches and ext-order - addExtensionDependency('sql_patches'); + // This extension's update requires an up-to-date ext-order addExtensionDependency('order'); // Insert data in new table - addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`ext_name`,`column_name`,`locked_mode`,`payment_method`) VALUES('coupon','order_points','LOCKED','DIRECT')"); + registerExtensionPointsData('coupon_cashed', 'order_points', 'LOCKED', 'DIRECT'); // Update notes (these will be set as task text!) setExtensionUpdateNotes(''); break; + + case '0.0.2': // SQL queries for v0.0.2 + // Update data in points_data table + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_points_data` SET `subject`='coupon_cashed' WHERE `subject`='coupon' LIMIT 1"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes('Eintrag in {CONFIG_OPEN}_MYSQL_PREFIX{CONFIG_CLOSE}_points_data umbenannt.'); + break; + + case '0.0.3': // SQL queries for v0.0.3 + registerFilter(__FILE__, __LINE__, 'post_cash_coupon', 'POST_CASH_COUPON', FALSE, TRUE, isExtensionDryRun()); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes('Filter zum Post- und Pre-Filter hinzugefügt.'); + break; } // END - switch break; @@ -156,7 +174,7 @@ UNIQUE KEY (`coupon_code`)", break; default: // Unknown extension mode - logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); + reportBug(__FILE__, __LINE__, sprintf('Unknown extension mode %s in extension %s detected.', getExtensionMode(), getCurrentExtensionName())); break; } // END - switch