X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions%2Fext-surfbar.php;h=60ad16778a3084e75184f9cafede38b32455e96d;hb=50ec4267016d288831aee809120992423db563e1;hp=792a0d7910f8174122d2b80b68053219c52e3dba;hpb=b63d821867a14d9c7f7557ed0348f55b90669ef6;p=mailer.git diff --git a/inc/extensions/ext-surfbar.php b/inc/extensions/ext-surfbar.php index 792a0d7910..60ad16778a 100644 --- a/inc/extensions/ext-surfbar.php +++ b/inc/extensions/ext-surfbar.php @@ -6,9 +6,9 @@ * -------------------------------------------------------------------- * * File : ext-surfbar.php * * -------------------------------------------------------------------- * - * Short description : A surfbar for your members * + * Short description : A visitor add-on for your members * * -------------------------------------------------------------------- * - * Kurzbeschreibung : Eine Surfbar fuer Ihre Mitglieder * + * Kurzbeschreibung : Ein Besuchertausch fuer Ihre Mitglieder * * -------------------------------------------------------------------- * * $Revision:: $ * * $Date:: $ * @@ -17,7 +17,7 @@ * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * 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,21 +41,21 @@ 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); switch (getExtensionMode()) { - case 'register': // Do stuff when installation is running (modules.php?module=admin is called) + case 'register': // Do stuff when installation is running // SQL commands to run (surfbar URLs) addDropTableSql('surfbar_urls'); - addCreateTableSql('surfbar_urls', "( + addCreateTableSql('surfbar_urls', " `url_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, -`url_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`url_userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL, `url` VARCHAR(255) NOT NULL DEFAULT '', `url_last_salt` VARCHAR(255) NOT NULL DEFAULT '', `url_views_total` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, @@ -68,57 +68,57 @@ switch (getExtensionMode()) { `url_reject_reason` VARCHAR(255) NOT NULL DEFAULT '', `url_fixed_reload` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (`url_id`), -UNIQUE KEY `userid_url` (`url_userid`,`url`), -INDEX `status_userid` (`url_status`,`url_userid`) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar URLs'"); +UNIQUE INDEX `userid_url` (`url_userid`,`url`), +INDEX `status_userid` (`url_status`,`url_userid`)", + 'Visitor add-on URLs'); // Reload locks addDropTableSql('surfbar_locks'); - addCreateTableSql('surfbar_locks', "( + addCreateTableSql('surfbar_locks', " `locks_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `locks_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `locks_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `locks_last_surfed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`locks_id`), -UNIQUE KEY `userid_url` (`locks_userid`,`locks_url_id`), -INDEX (`locks_url_id`) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar reload locks'"); +UNIQUE INDEX `userid_url` (`locks_userid`,`locks_url_id`), +INDEX (`locks_url_id`)", + 'Vistor-addon reload locks'); - // Surfbar salts + // Visitor add-on salts addDropTableSql('surfbar_salts'); - addCreateTableSql('surfbar_salts', "( + addCreateTableSql('surfbar_salts', " `salts_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `salts_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `salts_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `salts_last_salt` VARCHAR(255) NOT NULL DEFAULT '', PRIMARY KEY (`salts_id`), -UNIQUE KEY `salts_userid_url` (`salts_userid`,`salts_url_id`), -INDEX (`salts_url_id`) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar last used salts'"); +UNIQUE INDEX `salts_userid_url` (`salts_userid`,`salts_url_id`), +INDEX (`salts_url_id`)", + 'Visitor add-on last used salts'); // Statistics addDropTableSql('surfbar_stats'); - addCreateTableSql('surfbar_stats', "( + addCreateTableSql('surfbar_stats', " `stats_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `stats_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `stats_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `stats_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `stats_last_surfed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`stats_id`), -UNIQUE KEY `userid_url` (`stats_userid`,`stats_url_id`), -INDEX (`stats_url_id`) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar Statistics'"); +UNIQUE INDEX `userid_url` (`stats_userid`,`stats_url_id`), +INDEX (`stats_url_id`)", + 'Visitor add-on Statistics'); // Member actions pending on status addDropTableSql('surfbar_actions'); - addCreateTableSql('surfbar_actions', "( + addCreateTableSql('surfbar_actions', " `actions_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `actions_status` ENUM('PENDING','ACTIVE','LOCKED','STOPPED','REJECTED','DELETED','MIGRATED','DEPLETED') NULL DEFAULT NULL, `actions_action` ENUM('EDIT','DELETE','PAUSE','UNPAUSE','FRAMETEST','RETREAT','RESUBMIT','BOOKNOW') NULL DEFAULT NULL, `actions_new_status` ENUM('PENDING','ACTIVE','LOCKED','STOPPED','REJECTED','DELETED','MIGRATED','DEPLETED') NULL DEFAULT NULL, PRIMARY KEY (`actions_id`), -UNIQUE KEY `status_action` (`actions_status`,`actions_action`) -) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar Member Actions'"); +UNIQUE INDEX `status_action` (`actions_status`,`actions_action`)", + 'Visitor add-on Member Actions'); // Member actions addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`,`actions_action`,`actions_new_status`) VALUES ('PENDING','RETREAT','DELETED')"); @@ -146,7 +146,7 @@ UNIQUE KEY `status_action` (`actions_status`,`actions_action`) addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`,`actions_action`,`actions_new_status`) VALUES ('MIGRATED','BOOKNOW','PENDING')"); // Config entries - addConfigAddSql('surfbar_pay_model', "ENUM('STATIC','DYNAMIC') NOT NULL DEFAULT 'STATIC'"); + addConfigAddSql('surfbar_payment_model', "ENUM('STATIC','DYNAMIC') NOT NULL DEFAULT 'STATIC'"); addConfigAddSql('surfbar_static_reward', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.25000'); addConfigAddSql('surfbar_static_costs', 'FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 1.00000'); addConfigAddSql('surfbar_static_time', 'SMALLINT(6) UNSIGNED NOT NULL DEFAULT 60'); @@ -178,23 +178,33 @@ UNIQUE KEY `status_action` (`actions_status`,`actions_action`) addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD `surfbar_low_notified` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'"); // Member menus - addMemberMenuSql('surfbar', NULL, 'Surfbar', 'N', 'Y', 4); - addMemberMenuSql('surfbar', 'surfbar_start', 'Surfbar starten', 'N', 'Y', 1); - addMemberMenuSql('surfbar', 'surfbar_book', 'Seite buchen', 'N', 'Y', 2); - addMemberMenuSql('surfbar', 'surfbar_list', 'Seiten-Management', 'N', 'Y', 3); - addMemberMenuSql('surfbar', 'surfbar_stats', 'Seiten-Statistik', 'N', 'Y', 4); + addMemberMenuSql('surfbar', NULL, 'Besuchertausch', 4); + addMemberMenuSql('surfbar', 'start_surfbar', 'Besuchertausch starten', 1); + addMemberMenuSql('surfbar', 'book_surfbar', 'Seite buchen', 2); + addMemberMenuSql('surfbar', 'list_surfbar', 'Seiten-Management', 3); + addMemberMenuSql('surfbar', 'stats_surfbar', 'Seiten-Statistik', 4); // Admin menus - addAdminMenuSql('surfbar', NULL, 'Surfbar', 'URLs in der Surfbar verwalten, Einstellungen ändern und vieles mehr.', 7); - addAdminMenuSql('surfbar', 'add_surfbar_url', 'URL hinzufügen', 'Fügen Sie URLs z.B. von Werbenetzwerken hinzu, oder Ihre eigenen Projekte. Vorsicht! Ihnen muss es auch gestattet sein, URLs aus dem Werbenetzwerk in die Surfbar einzufügen.', 1); - addAdminMenuSql('surfbar', 'list_surfbar_urls', 'URLs verwalten', 'Verwalten Sie hier alle in der Surfbar befindlichen URLs mit nur wenigen Klicks.', 2); - addAdminMenuSql('surfbar', 'unlock_surfbar_urls', 'Wartende URLs freigeben', 'Geben Sie hier nur direkt in der Surfbar gebuchte URLs frei.', 3); - addAdminMenuSql('surfbar', 'config_surfbar', 'Einstellungen', 'Einstellungen an der Surfbar ändern, wie Festvergütung, prozentuale Ref-Vergütung und vieles mehr.', 4); + addAdminMenuSql('surfbar', NULL, 'Besuchertausch', 'URLs im Besuchertausch verwalten, Einstellungen ändern und vieles mehr.', 7); + addAdminMenuSql('surfbar', 'add_surfbar_url', 'URL hinzufügen', 'Fügen Sie URLs z.B. von Werbenetzwerken hinzu, oder Ihre eigenen Projekte. Vorsicht! Ihnen muss es auch gestattet sein, URLs aus dem Werbenetzwerk im Besuchertausch einzufügen.', 1); + addAdminMenuSql('surfbar', 'list_surfbar_urls', 'URLs verwalten', 'Verwalten Sie hier alle im Besuchertausch befindlichen URLs mit nur wenigen Klicks.', 2); + addAdminMenuSql('surfbar', 'unlock_surfbar_urls', 'Wartende URLs freigeben', 'Geben Sie hier für den Besuchertausch gebuchte URLs frei.', 3); + addAdminMenuSql('surfbar', 'config_surfbar', 'Einstellungen', 'Einstellungen am Besuchertausch ändern, wie Festvergütung, prozentuale Ref-Vergütung und vieles mehr.', 4); addAdminMenuSql('surfbar', 'surfbar_stats', 'Statistiken', 'Detailierte Statistiken zu einer ausgewählten URL anzeigen.', 5); addAdminMenuSql('surfbar', 'list_surfbar_actions', 'Mitgliederaktionen', 'Listet alle Mitgliederaktionen auf.', 6); // Register module addModuleSql('surfbar', 'Y', 'Y', 'N', 'N'); + + // Insert data for points accounts + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`,`column_name`,`locked_mode`,`payment_method`) VALUES ('monthly_bonus','points','LOCKED','DIRECT')"); + + // This extension depends on ext-sql_patches + addExtensionDependency('sql_patches'); + + // Register filters + registerFilter('post_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_STATUS', false, true, isExtensionDryRun()); + registerFilter('pre_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_VALIDATE_DATA', false, true, isExtensionDryRun()); break; case 'remove': // Do stuff when removing extension @@ -209,17 +219,21 @@ UNIQUE KEY `status_action` (`actions_status`,`actions_action`) // Unregister module addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_mod_reg` WHERE `module`='surfbar' LIMIT 1"); + + // Unregister filter + unregisterFilter(__FUNCTION__, __LINE__, 'post_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_STATUS', true, isExtensionDryRun()); + unregisterFilter(__FUNCTION__, __LINE__, 'pre_change_surfbar_url_status', 'SURFBAR_CHANGE_URL_VALIDATE_DATA', 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`='surfbar' LIMIT 5"); - addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='Y' WHERE `module`='surfbar' LIMIT 1"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y',`locked`='N' WHERE `action`='surfbar' LIMIT 5"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='N',`hidden`='N',`admin_only`='N',`mem_only`='Y' WHERE `module`='surfbar' LIMIT 1"); 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` = 'surfbar' LIMIT 5"); + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N',`locked`='Y' WHERE `action` = 'surfbar' LIMIT 5"); addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='Y' WHERE `module`='surfbar' LIMIT 1"); break;