X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-debug.php;h=a4c4d1ac36ac170336559b176f11b6c44436fe5d;hp=3e310c07578fa228dd6a54b7a58e877dc01859c2;hb=0f3a135204757cc8750262871c8e62c42300acb4;hpb=2ab9a01a035770d24c82ae64267e6291ae2940cd diff --git a/inc/extensions/ext-debug.php b/inc/extensions/ext-debug.php index 3e310c0757..a4c4d1ac36 100644 --- a/inc/extensions/ext-debug.php +++ b/inc/extensions/ext-debug.php @@ -1,7 +1,7 @@ client connection - $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_debug_client_log`"; - $SQLs[] = "CREATE TABLE `"._MYSQL_PREFIX."_debug_client_log` ( -`id` BIGINT(20) NOT NULL AUTO_INCREMENT, -`client_id` BIGINT(20) NOT NULL DEFAULT 1, -`log_id` BIGINT(20) NOT NULL DEFAULT 0, -INDEX `client_log` (`client_id`,`log_id`), +UNIQUE (`url`)", + 'Debug clients'); + + // Add this exchange as first client + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_debug_client` (`url`,`title`,`webmaster`,`status`) VALUES ('{?URL?}','{?MAIN_TITLE?}','{?WEBMASTER?}','ACTIVE')"); + + // Table for debug log <-> client connection + addDropTableSql('debug_client_log'); + addCreateTableSql('debug_client_log', " +`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`client_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`log_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +PRIMARY KEY (`id`), UNIQUE (`log_id`), -PRIMARY KEY (`id`) -) TYPE=MyISAM COMMENT='Debug client <-> log connection'"; - - // Guest menus - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('debug',NULL,'Debug-System','Y','Y',2)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('debug','debug_info','Informationen','Y','Y',1)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('debug','debug_reg','Anmeldung','Y','Y',2)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('debug','debug_unreg','Abmeldung','Y','Y',3)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('debug','debug_pilory','Spam-Pranger','Y','Y',4)"; - - // Admin menu - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('debug',NULL,'Debug-System','Verwalten Sie hier komfortabel das debug.log, welches sich im Verzeichnis inc/cache/ befindet.',10)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('debug','import_debug','debug.log importieren','Importieren Sie hier manuell die debug.log, damit neue Einträge mit bestehenden abgeglichen werden können und dann evtl. hinzugefügt werden. Die debug.log wird nach dem Import automatisch vom Server entfernt. Dieser Vorgang wird für Sie nachts automatisch erledigt!',1)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('debug','list_debug','Einträge anzeigen','Listet alle bereits importierten Einträge auf. Von hier aus versenden Sie noch nicht gemeldete Fehler an das Relay-Netzwerk, damt diese vom MXChange-Team geprüft werden können.',2)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('debug','reg_debug','Am Server anmelden','Sie müssen zuerst Ihren Debug-Client (Ihr {!MT_WORD!} ist dies) oder Relay am Server von MXChange.org anmelden. Dies geschieht für Sie nicht automatisch, da Sie Ihre Daten zuvor überprüfen müssen, wie z.B. URL, eMail-Adresse und {!MT_WORD!}-Titel.',3)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('debug','unreg_debug','Vom Server abmelden','Melden Sie bitte Ihren {!MT_WORD!} wieder vom MXChange-Server ab, damit das Team von MXChange.org weiss, welche Keys nicht mehr genutzt werden.',4)"; - $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('debug','config_debug','Einstellungen','Ändern Sie hier alle Einstellungen, wie auch den Debug-Modus - ob Client, Hub oder selber Server sein. Lesen Sie dazu die Anleitung unter DOCs/de/debug/README.txt durch! Oder kommen Sie in's Forum. Das Team von MXChange.org hilft Ihnen gerne weiter.',5)"; - - // Config entries - $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `debug_id` BIGINT(20) NOT NULL DEFAULT 0"; - $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `debug_key` VARCHAR(255) NOT NULL DEFAULT ''"; - $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `debug_mode` ENUM('CLIENT','RELAY','SERVER') NOT NULL DEFAULT 'CLIENT'"; - $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `debug_new_log` ENUM('ACCEPT','FIRST','REG') NOT NULL DEFAULT 'FIRST'"; - $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `debug_new_client` ENUM('ACTIVE','NEW','REG') NOT NULL DEFAULT 'NEW'"; - $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `debug_reject_log` BIGINT(20) NOT NULL DEFAULT ".($_CONFIG['one_day'] * 30).""; - break; - -case "remove": // Do stuff when removing extension - // SQL commands to run - $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_debug_client_log`"; - $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_debug_client`"; - $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_debug_log`"; - $SQLs[] = "DROP TABLE IF EXISTS `"._MYSQL_PREFIX."_debug_log_abuse`"; - $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_guest_menu` WHERE `action`='debug' LIMIT 5"; - $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE `action`='debug' LIMIT 6"; - break; - -case "activate": // Do stuff when admin activates this extension - // SQL commands to run - $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_guest_menu` SET `visible`='Y',`locked`='N' WHERE `action`='debug' LIMIT 5"; - break; - -case "deactivate": // Do stuff when admin deactivates this extension - // SQL commands to run - $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_guest_menu` SET `locked`='Y' WHERE `action`='debug' LIMIT 5"; - break; - -case "update": // Update an extension - switch ($EXT_VER) - { - case "0.0.1": // SQL queries for v0.0.1 - $SQLs[] = ""; - - // Update notes (these will be set as task text!) - $UPDATE_NOTES = ""; +INDEX `client_log` (`client_id`,`log_id`)", + 'Debug client <-> log connection'); + + // Guest menus + addGuestMenuSql('debug', NULL, 'Debug-System', 2); + addGuestMenuSql('debug', 'debug_info', 'Informationen', 1); + addGuestMenuSql('debug', 'debug_reg', 'Anmeldung', 2); + addGuestMenuSql('debug', 'debug_unreg', 'Abmeldung', 3); + addGuestMenuSql('debug', 'debug_pilory', 'Spam-Pranger', 4); + + // Admin menu + addAdminMenuSql('debug', NULL, 'Debug-System', 'Verwalten Sie hier komfortabel das debug.log, welches sich im Verzeichnis {?CACHE_PATH?} befindet.', 10); + addAdminMenuSql('debug', 'import_debug', 'debug.log importieren', 'Importieren Sie hier manuell die debug.log, damit neue Einträge mit bestehenden abgeglichen werden können und dann evtl. hinzugefügt werden. Die debug.log wird nach dem Import automatisch vom Server entfernt. Dieser Vorgang wird für Sie nachts automatisch erledigt!', 1); + addAdminMenuSql('debug', 'list_debug', 'Einträge anzeigen', 'Listet alle bereits importierten Einträge auf. Von hier aus versenden Sie noch nicht gemeldete Fehler an das Relay-Netzwerk, damt diese vom Entwicklerteam geprüft werden können.', 2); + addAdminMenuSql('debug', 'reg_debug', 'Am Server anmelden', 'Sie müssen zuerst Ihren Debug-Client (Ihr {?mt_word?} ist dies) oder Relay am Server von mxchange.org anmelden. Dies geschieht für Sie nicht automatisch, da Sie Ihre Daten zuvor überprüfen müssen, wie z.B. URL, eMail-Adresse und {?mt_word?}-Titel.', 3); + addAdminMenuSql('debug', 'unreg_debug', 'Vom Server abmelden', 'Melden Sie bitte Ihren {?mt_word?} wieder vom Projekt-Server ab, damit mein Entwicklerteam weiss, welche Keys nicht mehr genutzt werden.', 4); + addAdminMenuSql('debug', 'config_debug', 'Einstellungen', 'Ändern Sie hier alle Einstellungen, wie auch den Debug-Modus - ob Client, Hub oder selber Server sein. Lesen Sie dazu die Anleitung unter DOCs/de/debug/README.txt durch! Oder kommen Sie in's Forum. Das Team von mxchange.org hilft Ihnen gerne weiter.', 5); + + // Config entries + addConfigAddSql('debug_id', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0'); + addConfigAddSql('debug_key', "VARCHAR(255) NOT NULL DEFAULT ''"); + addConfigAddSql('debug_mode', "ENUM('CLIENT','RELAY','SERVER') NOT NULL DEFAULT 'CLIENT'"); + addConfigAddSql('debug_new_log', "ENUM('ACCEPT','FIRST','REG') NOT NULL DEFAULT 'FIRST'"); + addConfigAddSql('debug_new_client', "ENUM('ACTIVE','NEW','REG') NOT NULL DEFAULT 'NEW'"); + addConfigAddSql('debug_reject_log', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 30)); + addConfigAddSql('debug_master_url', "VARCHAR(255) NOT NULL DEFAULT '{?SERVER_URL?}'"); + break; + + case 'remove': // Do stuff when removing extension + // SQL commands to run + addDropTableSql('debug_client_log'); + addDropTableSql('debug_client'); + addDropTableSql('debug_log'); + addDropTableSql('debug_log_abuse'); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='debug'"); + addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='debug'"); break; - } - break; -default: // Do stuff when extension is loaded - 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`='debug' LIMIT 5"); + break; -// Language file prefix -$EXT_LANG_PREFIX = "debug"; + case 'deactivate': // Do stuff when admin deactivates this extension + // SQL commands to run + addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `locked`='Y' WHERE `action`='debug' LIMIT 5"); + break; -// Keep this extension always active! -$EXT_ALWAYS_ACTIVE = "Y"; + case 'update': // Update an extension + switch (getCurrentExtensionVersion()) { + case '0.0.1': // SQL queries for v0.0.1 + addExtensionSql(''); + + // Update notes (these will be set as task text!) + setExtensionUpdateNotes(''); + break; + } // END - switch + break; + + case 'modify': // When the extension got modified + break; + + case 'test': // For testing purposes + break; + + case 'init': // Do stuff when extension is initialized + break; + + default: // Unknown extension mode + logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName())); + break; +} // END - switch -// +// [EOF] ?>