X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-coupon.php;h=7b532b083011331531ba128adda8a6bcb4de9a03;hp=2f223f2fb21cb4e1973de35abc456708c919bfaa;hb=56931cd9321119dd37372bd16d6c552857e40066;hpb=34b1f5b69205b08c760d6dcc87ef6a2d1c291261 diff --git a/inc/extensions/ext-coupon.php b/inc/extensions/ext-coupon.php index 2f223f2fb2..7b532b0830 100644 --- a/inc/extensions/ext-coupon.php +++ b/inc/extensions/ext-coupon.php @@ -43,49 +43,47 @@ if (!defined('__SECURITY')) { } // END - if // Version number -setThisExtensionVersion('0.0'); +setThisExtensionVersion('0.0.1'); // Version history array (add more with , '0.1' and so on) -setExtensionVersionHistory(array('0.0')); +setExtensionVersionHistory(array('0.0.0', '0.0.1')); switch (getExtensionMode()) { case 'register': // Do stuff when installtion is running - // This extension requires an up-to-date user + // This extension requires an up-to-date ext-user addExtensionDependency('user'); + addExtensionDependency('autopurge'); // Coupon data addDropTableSql('coupon_data'); - addCreateTableSql('coupon_data', "( + addCreateTableSql('coupon_data', " `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `coupon_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `coupon_expired` TIMESTAMP NULL DEFAULT NULL, `coupon_type` ENUM('CODE','API') NOT NULL DEFAULT 'CODE', `total_created` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `total_cashed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, -`points` FLOAT(20,5) NOT NULL DEFAULT 0.00000, +`points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, `coupon_description` TEXT, -PRIMARY KEY (`id`) -) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Created coupons'"); +PRIMARY KEY (`id`)", + 'Created coupons'); // Coupon->user connection table addDropTableSql('user_coupons'); - addCreateTableSql('user_coupons', "( + addCreateTableSql('user_coupons', " `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `coupon_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `userid` BIGINT(2) UNSIGNED NOT NULL DEFAULT 0, `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`) -) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Coupon->user connection'"); +UNIQUE KEY `coupon_user` (`coupon_id`, `userid`), +UNIQUE KEY (`coupon_code`)", + 'Coupon->user connection'); // Configuration entries addConfigAddSql('coupon_default_time', 'BIGINT(20) NOT NULL DEFAULT ' . (getOneDay() * 7)); - addConfigAddSql('coupon_default_points', 'FLOAT(20,5) NOT NULL DEFAULT 100.00000'); - addConfigAddSql('coupon_points_account', "ENUM('ORDER','GENERAL') NOT NULL DEFAULT 'ORDER'"); - addConfigAddSql('coupon_payment_method', "ENUM('DIRECT','REF') NOT NULL DEFAULT 'DIRECT'"); - addConfigAddSql('coupon_locked_points_mode', "ENUM('LOCKED','UNLOCKED') NOT NULL DEFAULT 'LOCKED'"); + addConfigAddSql('coupon_default_points', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000'); addConfigAddSql('coupon_autopurge_time', 'BIGINT(20) NOT NULL DEFAULT ' . (getOneDay() * 7)); addConfigAddSql('coupon_userid', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); @@ -99,9 +97,9 @@ UNIQUE KEY (`coupon_code`) addAdminMenuSql('coupon', 'send_coupon', 'Versenden/Neuen erstellen', 'Versendet neue Gutscheine an die Mitglieder. Wenn Sie auf "Absenden" klicken, warten Sie bitte die Folgeseite ab, da der Versand der Gutscheine derzeit nicht gepoolt ist.', 2); addAdminMenuSql('coupon', 'config_coupon', 'Einstellungen', 'Allgemeine Einstellungen zu Code-Gutscheinen und Gutscheinen von Sponsoren (z.B. per API) können hier vorgenommen werden.', 3); // - Member entries - addMemberMenuSql('coupon', NULL, 'Gutscheine', 'N', 'Y', 3); - addMemberMenuSql('coupon', 'cash_coupon', 'Gutschein einlösen', 'N', 'Y', 1); - addMemberMenuSql('coupon', 'list_coupon', 'Eingelöste auflisten', 'N', 'Y', 2); + addMemberMenuSql('coupon', NULL, 'Gutscheine', 3); + addMemberMenuSql('coupon', 'cash_coupon', 'Gutschein einlösen', 1); + 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()); @@ -131,7 +129,24 @@ UNIQUE KEY (`coupon_code`) case 'update': // Update an extension switch (getCurrentExtensionVersion()) { case '0.0.1': // SQL queries for v0.0.1 - addExtensionSql(''); + addConfigDropSql('coupon_points_account'); + 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'); + addExtensionDependency('order'); + + // Insert data in new table + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`, `column_name`, `locked_mode`, `payment_method`) VALUES ('coupon_cashed','order_points','LOCKED','DIRECT')"); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes(''); + break; + + case '0.0.1': // SQL queries for v0.0.1 + // 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('');