]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-sponsor.php
More wrapper functions used, removed bigintval() which caused a lot trouble
[mailer.git] / inc / extensions / ext-sponsor.php
index fb45c086930f335670d830b1d3e40e2ec72c63a9..f70114da9cb4e5ab967f3165b69bdaee5b5cc407 100644 (file)
@@ -14,8 +14,6 @@
  * $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                    *
@@ -57,7 +55,7 @@ switch (getExtensionMode()) {
                // SQL commands to run
                //
                // Try to make it depend on repair
-               addExtensionUpdateDependency('repair');
+               addExtensionDependency('repair');
 
                //
                // Sponsor data
@@ -83,19 +81,19 @@ 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`),
@@ -113,8 +111,8 @@ 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`),
@@ -170,7 +168,7 @@ 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`)
@@ -214,14 +212,15 @@ 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`),
@@ -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,23 +401,25 @@ 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
                // SQL commands to run
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='sponsor' LIMIT 4");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='sponsor'");
                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?}_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
                // SQL commands to run
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='sponsor' LIMIT 4");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='sponsor'");
                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?}_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