X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-sponsor.php;h=d31bbffea46fdd66f0b56b0fd894cedeaf56580c;hp=d13faf9373c91f145ac6c7004fdc020b6521065b;hb=9725980ca9c052e5c1a9edb8b815e8506b876448;hpb=27272fdaa3ad8895e6b55ec77658ad5c1f80e89c diff --git a/inc/extensions/ext-sponsor.php b/inc/extensions/ext-sponsor.php index d13faf9373..d31bbffea4 100644 --- a/inc/extensions/ext-sponsor.php +++ b/inc/extensions/ext-sponsor.php @@ -14,11 +14,9 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -57,7 +55,7 @@ switch (getExtensionMode()) { // SQL commands to run // // Try to make it depend on repair - addExtensionUpdateDependency('repair'); + addExtensionDependency('repair'); // // Sponsor data @@ -83,24 +81,24 @@ switch (getExtensionMode()) { `url` VARCHAR(255) NOT NULL DEFAULT '', `password` VARCHAR(255) NOT NULL DEFAULT '', `remote_addr` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0', -`sponsor_created` VARCHAR(10) NOT NULL DEFAULT 0, -`last_online` VARCHAR(10) NOT NULL DEFAULT 0, -`last_change` VARCHAR(10) NOT NULL DEFAULT 0, +`sponsor_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, +`last_online` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00', +`last_change` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00', `status` ENUM('UNCONFIRMED','PENDING','CONFIRMED','LOCKED') NOT NULL DEFAULT 'UNCONFIRMED', `receive_warnings` ENUM('Y','N') NOT NULL DEFAULT 'Y', -`warning_interval` BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getConfig('ONE_DAY')*7)."', +`warning_interval` BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getOneDay()*7)."', `points_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, `points_used` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, `refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `ref_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `hash` VARCHAR(32) NULL DEFAULT NULL, -`last_pay` FLOAT(7,2) UNSIGNED NOT NULL DEFAULT 0.00, -`last_curr` VARCHAR(255) NOT NULL DEFAULT '€', +`last_payment` FLOAT(7,2) UNSIGNED NOT NULL DEFAULT 0.00, +`last_currency` VARCHAR(255) NOT NULL DEFAULT '€', INDEX (`refid`), INDEX (`email`), UNIQUE KEY (`hash`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Sponsor orders // @@ -113,14 +111,14 @@ PRIMARY KEY (`id`) `payment_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `pay_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `pay_status` ENUM('PENDING','PAYED','UNPAYED','DELETED') NOT NULL DEFAULT 'PENDING', -`pay_ordered` VARCHAR(10) NOT NULL DEFAULT 0, -`pay_done` VARCHAR(10) NOT NULL DEFAULT 0, +`pay_ordered` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, +`pay_done` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00', INDEX (`payment_id`), INDEX (`regid`), INDEX (`admin_id`), INDEX (`sponsor_id`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Pay-types // @@ -132,7 +130,7 @@ PRIMARY KEY (`id`) `pay_min_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 1, `pay_currency` VARCHAR(255) NOT NULL DEFAULT '€', PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Points-to-action converting // @@ -144,7 +142,7 @@ PRIMARY KEY (`id`) `conv_name` VARCHAR(255) NOT NULL DEFAULT 'Mails', INDEX (`ext_name`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Sponsor menu system (default) // @@ -160,7 +158,7 @@ INDEX (`action`), UNIQUE KEY `action_what` (`action`,`what`), UNIQUE KEY (`what`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Registry for performable actions by your sponsors // @@ -170,11 +168,11 @@ PRIMARY KEY (`id`) `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `ext_name` VARCHAR(255) NOT NULL DEFAULT 'sponsor', `is_active` ENUM('Y','N') NOT NULL DEFAULT 'N', -`stamp_added` VARCHAR(10) NOT NULL DEFAULT 0, +`stamp_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, INDEX (`ext_name`), INDEX (`admin_id`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // URLs from the sponsors // @@ -188,7 +186,7 @@ PRIMARY KEY (`id`) `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING', INDEX (`sponsor_id`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Banners of any size from the sponsors // @@ -204,7 +202,7 @@ PRIMARY KEY (`id`) `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING', INDEX (`sponsor_id`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Campaigns // @@ -214,19 +212,20 @@ PRIMARY KEY (`id`) `sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `campaign_name` VARCHAR(255) NOT NULL DEFAULT '', -`campaign_start` VARCHAR(10) NOT NULL DEFAULT 0, -`campaign_end` VARCHAR(10) NOT NULL DEFAULT 0, +`campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, +`campaign_start` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00', +`campaign_end` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00', `campaign_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000, `campaign_expired` ENUM('Y','N') NOT NULL DEFAULT 'N', `campaign_locked` ENUM('Y','N') NOT NULL DEFAULT 'Y', -`campaign_ended` VARCHAR(10) NOT NULL DEFAULT 0, +`campaign_ended` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00', `locked_reason` TINYTEXT, -`locked_timestamp` VARCHAR(10) NOT NULL DEFAULT 0, +`locked_timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00', `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING', INDEX (`admin_id`), INDEX (`sponsor_id`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Campaigns + URLs + Banner // @@ -242,7 +241,7 @@ INDEX (`bannerid`), INDEX (`urlid`), INDEX (`campaignid`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Allowed data to display (administrative) // @@ -252,7 +251,7 @@ PRIMARY KEY (`id`) `data_row` VARCHAR(255) NOT NULL DEFAULT '', `display` ENUM('Y','N') NOT NULL DEFAULT 'N', PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Allowed data to display (sponsor-side) // @@ -264,7 +263,7 @@ PRIMARY KEY (`id`) `display` ENUM('Y','N') NOT NULL DEFAULT 'N', INDEX (`sponsor_id`), PRIMARY KEY (`id`) -) TYPE={?_TABLE_TYPE?}"); +) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci"); // // Default allowed data to display // @@ -297,12 +296,12 @@ PRIMARY KEY (`id`) addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('refid','N')"); addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('ref_count','N')"); addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('hash','N')"); - addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_pay','N')"); - addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_curr','N')"); + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_payment','N')"); + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_currency','N')"); // // Add default entries // - addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_registry` (`ext_name`, `is_active`, `admin_id`, `stamp_added`) VALUES ('sponsor','N',".getCurrentAdminId().",UNIX_TIMESTAMP())"); + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_registry` (`ext_name`, `is_active`, `admin_id`, `stamp_added`) VALUES ('sponsor','N',".getCurrentAdminId().",NOW())"); addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_action_convert` (`ext_name`, `conv_rate`, `conv_name`) VALUES ('sponsor','10','Mails')"); addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Standart-Paket', 5, 1000.00000, '€')"); addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Spar-Paket', 1, 200.00000, '€')"); @@ -318,9 +317,9 @@ PRIMARY KEY (`id`) addAdminMenuSql('sponsor','edit_sponsor','Sponsor ändern','Sponsorenaccount ändern (Grundaten, nicht Freigabe!).', 4); addAdminMenuSql('sponsor','lock_sponsor','Sponsor ent-/sperren','Sponsorenaccount sperren und entsperren.', 5); addAdminMenuSql('sponsor','del_sponsor','Sponsor löschen','Sponsorenaccount löschen.', 6); - addAdminMenuSql('sponsor','allow_sponsor_data','Datenverwaltung','Stellen Sie hier ein, welche Daten der Sponsor im Mitgliedsbereich über sicht anzeigen darf und welche nicht.', 7); - addAdminMenuSql('sponsor','list_sponsor_pays','Bestellungen...','Bestellungen der Sponsoren auflisten / bearbeiten.', 8); - addAdminMenuSql('sponsor','list_sponsor_menu','Sponsorenmenü','Das Sponsorenmenü kann hier geändert werden.', 9); + addAdminMenuSql('sponsor','sponsor_contct','Sponsor kontaktieren','Kontaktieren Sie Sponsoren komfortabel über dieses {?TITLE?}.', 7); + addAdminMenuSql('sponsor','allow_sponsor_data','Datenverwaltung','Stellen Sie hier ein, welche Daten der Sponsor im Mitgliedsbereich über sicht anzeigen darf und welche nicht.', 8); + addAdminMenuSql('sponsor','list_sponsor_pays','Bestellungen...','Bestellungen der Sponsoren auflisten / bearbeiten.', 9); addAdminMenuSql('sponsor','list_sponsor_campaigns','Kampagnen...','Management aller von Ihren Sponsoren eingerichteten Kampagnen.', 10); addAdminMenuSql('sponsor','list_sponsor_urls','URL-Management','Management (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten URLs.', 11); addAdminMenuSql('sponsor','list_sponsor_banner','Banner-Management','Management (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten Bannern.', 12); @@ -373,6 +372,17 @@ PRIMARY KEY (`id`) // addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `sponsor_ref_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000"); addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `sponsor_min_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 1000.00000"); + // + // Register module + // + addModuleSql('sponsor','Y','Y','N','N'); + addModuleSql('sponsor_confirm','Y','Y','N','N'); + addModuleSql('sponsor_ref','Y','Y','N','N'); + + // Update name, if not yet set + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsorbereich' WHERE `module`='sponsor' AND `title`='' LIMIT 1"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsor-Bestätigung' WHERE `module`='sponsor_confirm' AND `title`='' LIMIT 1"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsor-Referallink' WHERE `module`='sponsor_ref' AND `title`='' LIMIT 1"); break; case 'remove': // Do stuff when removing extension @@ -391,7 +401,7 @@ PRIMARY KEY (`id`) addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`'); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='sponsor' OR `what` IN('repr_sponsor','sponsor_medit','sponsor_madd')"); addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='sponsor'"); - addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='sponsor'"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what` IN('sponsor_list','sponsor_reg')"); break; case 'activate': // Do stuff when admin activates this extension @@ -400,6 +410,7 @@ PRIMARY KEY (`id`) addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='sponsor' LIMIT 1"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET `active`='Y' WHERE active='N'"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET `is_active`='Y' WHERE `is_active`='N'"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3"); break; case 'deactivate': // Do stuff when admin deactivates this extension @@ -408,6 +419,7 @@ PRIMARY KEY (`id`) addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='sponsor' LIMIT 1"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET `active`='N' WHERE `active`='Y'"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET `is_active`='N' WHERE `is_active`='Y'"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='Y' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3"); break; case 'update': // Update an extension @@ -424,7 +436,7 @@ PRIMARY KEY (`id`) case 'modify': // When the extension got modified break; - case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305. + case 'test': // For testing purposes break; case 'init': // Do stuff when extension is initialized