X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-forced.php;h=39543015b32ab8281aac10bec497e8a3923472c8;hp=53c89cea1a0db384a56387e766a87255a6ace026;hb=e9da1508b2a3ccbf63adc999981674740a47e074;hpb=16b311c338bb4f8436e2ed9e76cb1cd5f3741640 diff --git a/inc/extensions/ext-forced.php b/inc/extensions/ext-forced.php index 53c89cea1a..39543015b3 100644 --- a/inc/extensions/ext-forced.php +++ b/inc/extensions/ext-forced.php @@ -16,8 +16,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 * @@ -41,112 +41,43 @@ if (!defined('__SECURITY')) { } // END - if // Version number -setThisExtensionVersion('0.0'); +setThisExtensionVersion('0.0.0'); -// Version history array (add more with , '0.1.0' and so on) -setExtensionVersionHistory(array('0.0')); +// Version history array (add more with , '0.0.1' and so on) +setExtensionVersionHistory(array('0.0.0')); // This extension is in development (non-productive) -enableExtensionProductive(false); +enableExtensionProductive(FALSE); switch (getExtensionMode()) { - case 'register': // Do stuff when installation is running (modules.php?module=admin is called) - // This depends on 'sponsor' now - addExtensionDependency('sponsor'); - - // - Ads - addDropTableSql('forced_ads'); - addExtensionSql("CREATE TABLE IF NOT EXIST `{?_MYSQL_PREFIX?}_forced_ads` ( -`forced_ads_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT , -`forced_ads_ad_url` VARCHAR( 255 ) NULL DEFAULT NULL , -`forced_ads_click_url` VARCHAR( 255 ) NOT NULL , -`forced_ads_width` SMALLINT( 3 ) UNSIGNED NULL DEFAULT NULL , -`forced_ads_height` SMALLINT( 3 ) UNSIGNED NULL DEFAULT NULL , -`forced_ads_alt_text` VARCHAR( 255 ) NULL DEFAULT NULL , -`forced_ads_framebreaker` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'Y', -`forced_ads_views_counter` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0, -`forced_ads_clicks_counter` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0, -`forced_ads_reload_lock` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0, -`forced_ads_min_stay` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0, -PRIMARY KEY ( `forced_ads_id` ) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Ads Data'"); - - // - Campaigns - addDropTableSql('forced_campaigns'); - addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_forced_campaigns` ( -`forced_campaign_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT , -`forced_campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , -`forced_campaign_status` ENUM( 'ACTIVE', 'PENDING', 'EXPIRED', 'LOCKED' ) NOT NULL DEFAULT 'PENDING', -`forced_campaign_lock_reason` VARCHAR( 255 ) NULL DEFAULT NULL , -`forced_campaign_lock_timetstamp` TIMESTAMP NULL DEFAULT NULL , -`forced_campaign_expired` TIMESTAMP NULL DEFAULT NULL , -`forced_campaign_ordered_clicks` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0, -`forced_campaign_costs_api` FLOAT( 20 , 5 ) UNSIGNED NULL DEFAULT NULL, -`forced_campaign_price_api` FLOAT( 20 , 5 ) UNSIGNED NULL DEFAULT NULL, -`forced_costs_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL, -INDEX ( `forced_costs_id` ) , -PRIMARY KEY ( `forced_campaign_id` ) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaign Data'"); - - // - Campaigns <-> Ads - addDropTableSql('forced_campaigns_ads'); - addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_forced_campaigns_ads` ( -`forced_campaign_ads_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT , -`forced_campaign_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , -`forced_ads_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , -UNIQUE `ads_campaign` ( `forced_campaign_id` , `forced_ads_id` ) , -PRIMARY KEY ( `forced_campaign_ads_id` ) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaigns<->Ads'"); - - // - Campaigns <-> User - addDropTableSql('forced_campaigns_user'); - addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_forced_campaigns_user` ( -`forced_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT , -`forced_campaign_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , -`forced_user_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , -`forced_user_type` ENUM( 'MEMBER', 'SPONSOR', 'ADMIN', 'API' ) NULL DEFAULT NULL , -UNIQUE `forced_campaign_user` ( `forced_campaign_id` , `forced_user_id` , `forced_user_type` ) , -INDEX ( `forced_user_id` ) , -PRIMARY KEY ( `forced_id` ) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaigns<->User'"); - - // - Campaign costs - addDropTableSql('forced_costs'); - addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_forced_costs` ( -`forced_costs_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT , -`forced_costs_price_click` FLOAT( 20, 5 ) UNSIGNED NULL DEFAULT NULL , -`forced_costs_payment_click` FLOAT( 20, 5 ) UNSIGNED NULL DEFAULT NULL , -`forced_costs_visibility` ENUM( 'MEMBER', 'SPONSOR', 'ALL', 'NONE' ) NOT NULL DEFAULT 'NONE', -PRIMARY KEY ( `forced_costs_id` ) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaign Costs'"); - - // - Campaign Statistics - addDropTableSql('forced_stats'); - addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_forced_stats` ( -`forced_stats_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT , -`forced_stats_campaign_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , -`forced_stats_user_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , -`forced_stats_viewed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , -`forced_stats_clicked` TIMESTAMP NULL DEFAULT NULL , -`forced_stats_real_ip` VARCHAR ( 15 ) NOT NULL DEFAULT '0.0.0.0' , -`forced_stats_remote_addr` VARCHAR ( 15 ) NOT NULL DEFAULT '0.0.0.0' , -`forced_stats_ua` VARCHAR ( 255 ) NULL DEFAULT NULL , -`forced_stats_is_proxy` ENUM ( 'Y', 'N' ) NOT NULL DEFAULT 'N' , -`forced_stats_session_id` VARCHAR ( 100 ) NULL DEFAULT NULL , -INDEX ( `forced_stats_campaign_id` ) , -INDEX ( `forced_stats_user_id` ) , -PRIMARY KEY ( `forced_stats_id` ) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaign Statistics'"); + case 'setup': // Do stuff when installation is running break; case 'remove': // Do stuff when removing extension // SQL commands to run addDropTableSql('forced_ads'); + addDropTableSql('forced_network'); addDropTableSql('forced_campaigns'); - addDropTableSql('forced_campaigns_ads'); - addDropTableSql('forced_campaigns_user'); addDropTableSql('forced_costs'); addDropTableSql('forced_stats'); + + // Menu systems + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='forced'"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what` LIKE '%forced%'"); + + // Is ext-earning there? + if (isExtensionInstalled('earning')) { + // Unregister Forced-PopUps from ext-earning + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_earning_data` WHERE `earning_provider`='FORCED_POPUP' LIMIT 1"); + } // END - if + + // Remove filter + unregisterFilter(__FILE__, __LINE__, 'add_forced_ads_types', 'FORCED_AD_TYPE_DEFAULTS', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'member_earning_table_data', 'FORCED_POPUP_TABLE_DATA', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'post_change_forced_campaign_status', 'FORCED_CHANGE_CAMPAIGN_STATUS', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'pre_change_forced_campaign_status', 'FORCED_CHANGE_CAMPAIGN_VALIDATE_DATA', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'handle_click_php', 'HANDLE_FORCED_AD_CLICK', TRUE, isExtensionDryRun()); + unregisterFilter(__FILE__, __LINE__, 'handle_view_php', 'HANDLE_FORCED_AD_VIEW', TRUE, isExtensionDryRun()); break; case 'activate': // Do stuff when admin activates this extension @@ -178,7 +109,7 @@ PRIMARY KEY ( `forced_stats_id` ) 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