X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fextensions%2Fext-sql_patches.php;h=e71bf2c68a5cb1fb11c78f2f83fb486f72da055a;hb=d13ff47b8686dd2632cda3ad2c4008a5063e3061;hp=a4b5179c539057bbb149378c517aa65f8d919b06;hpb=58b29a924c48e7c1ce38c435c92e541b53984c56;p=mailer.git diff --git a/inc/extensions/ext-sql_patches.php b/inc/extensions/ext-sql_patches.php index a4b5179c53..e71bf2c68a 100644 --- a/inc/extensions/ext-sql_patches.php +++ b/inc/extensions/ext-sql_patches.php @@ -32,20 +32,19 @@ ************************************************************************/ // Some security stuff... -if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF']))) -{ +if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF']))) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); } // Version number -$EXT_VERSION = "0.4.2"; +$EXT_VERSION = "0.4.4"; // Auto-set extension version if (!isset($EXT_VER)) $EXT_VER = $EXT_VERSION; // Version history array (add more with , "0.1" and so on) -$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.0.6", "0.0.7", "0.0.8", "0.0.9", "0.1.0", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9", "0.2.0", "0.2.1", "0.2.2", "0.2.3", "0.2.4", "0.2.5", "0.2.6", "0.2.7", "0.2.8", "0.2.9", "0.3.0", "0.3.1", "0.3.2", "0.3.3", "0.3.4", "0.3.5", "0.3.6", "0.3.7", "0.3.8", "0.3.9", "0.4.0", "0.4.1", "0.4.2"); +$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.0.6", "0.0.7", "0.0.8", "0.0.9", "0.1.0", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9", "0.2.0", "0.2.1", "0.2.2", "0.2.3", "0.2.4", "0.2.5", "0.2.6", "0.2.7", "0.2.8", "0.2.9", "0.3.0", "0.3.1", "0.3.2", "0.3.3", "0.3.4", "0.3.5", "0.3.6", "0.3.7", "0.3.8", "0.3.9", "0.4.0", "0.4.1", "0.4.2", "0.4.3", "0.4.4"); switch ($EXT_LOAD_MODE) { @@ -65,16 +64,19 @@ what='config_refid' OR what='config_title' OR what='sub_points' OR what='config_admin' OR -what='list_norefs' LIMIT 12"; +what='config_proxy' OR +what='list_norefs' +LIMIT 13"; $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_themes"; $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_guest_menu WHERE action='themes' LIMIT 1"; $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE action='themes' OR what='themes' OR -(action='stats' AND what='') OR -(action='extras' AND what='') OR -(action='rals' AND what='') OR -(action='account' AND what='') LIMIT 7"; +what='stats2' OR +(action='stats' AND (what='' OR what IS NULL)) OR +(action='extras' AND (what='' OR what IS NULL)) OR +(action='rals' AND (what='' OR what IS NULL)) OR +(action='account' AND (what='' OR what IS NULL)) LIMIT 8"; $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='main' WHERE action='stats' OR action='extras' OR @@ -197,11 +199,11 @@ case "update": // Update an extension case "0.1.4": // SQL queries for v0.1.4 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD default_theme varchar(255) not null default '".GET_CURR_THEME()."'"; $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='theme' LIMIT 3"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('theme', '', 'Themes', 'Verwalten Sie hier alle Designs (Themes) Ihres Mailtausch-Scriptes.', 8)"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('theme', NULL, 'Themes', 'Verwalten Sie hier alle Designs (Themes) Ihres Mailtausch-Scriptes.', 8)"; $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('theme', 'theme_import', 'Importieren', 'Es wird das Verzeichnis "theme" nach neuen Ordnern durchsucht und anschliessend in die Datenbank gesperrt aufgenommen.', 1)"; $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('theme', 'theme_edit', 'Modifizieren', 'Ändern Sie Titel, Freigaben usw. an den Themes. Sie können bis auf das Standart-Theme "default" auch Themes aus der Datenbank entfernen. Vorher sollten Sie es jedoch vom Server löschen, damit es niht erneut importiert werden kann.', 2)"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_guest_menu (action, what, title, sort, visible, locked) VALUES ('themes', '', 'Design-Auswahl', 4, 'Y', 'N')"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('themes', '', 'Design-Auswahl', 3, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_guest_menu (action, what, title, sort, visible, locked) VALUES ('themes', NULL, 'Design-Auswahl', 4, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('themes', NULL, 'Design-Auswahl', 3, 'Y', 'N')"; $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_themes"; $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_themes ( id bigint(20) not null auto_increment, @@ -454,11 +456,11 @@ PRIMARY KEY (id) case "0.3.5": // SQL queries for v0.3.5 // List accounts with no referral - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('stats', '', 'Statistiken', 4, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('stats', NULL, 'Statistiken', 4, 'Y', 'N')"; $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('stats', 'stats2', 'Framekiller-Mails', 2, 'Y', 'N')"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('extras', '', 'Extras', 5, 'Y', 'N')"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('rals', '', 'Rallyes', 6, 'Y', 'N')"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('account', '', 'Ihr Account', 7, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('extras', NULL, 'Extras', 5, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('rals', NULL, 'Rallyes', 6, 'Y', 'N')"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('account', NULL, 'Ihr Account', 7, 'Y', 'N')"; $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET sort='8' WHERE action='themes' LIMIT 1"; $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='stats', sort='1', title='Klick-Mails' WHERE what='stats' LIMIT 1"; $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='account', sort='1', title='Designs' WHERE what='themes' LIMIT 1"; @@ -508,7 +510,7 @@ PRIMARY KEY (id) break; case "0.4.0": // SQL queries for v0.4.0 - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Email-Management' WHERE action = 'email' AND what='' LIMIT 1"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title = 'Email-Management' WHERE action = 'email' AND (what='' OR what IS NULL) LIMIT 1"; // Update notes (these will be set as task text!) $UPDATE_NOTES = "Email-Verwaltung nach Email-Management umbenannt."; @@ -524,6 +526,36 @@ PRIMARY KEY (id) case "0.4.2": // SQL queries for v0.4.2 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_online` ADD INDEX `admin_member` (`is_admin`, `is_member`)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Neuen Schlüssel zur Online-Tabelle hinzugefügt."; + break; + + case "0.4.3": // SQL queries for v0.4.3 + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `proxy_host` VARCHAR(255) NOT NULL DEFAULT ''"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `proxy_port` INT(5) NOT NULL DEFAULT '0'"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `proxy_username` VARCHAR(255) NOT NULL DEFAULT ''"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD `proxy_password` VARCHAR(255) NOT NULL DEFAULT ''"; + $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES ('setup', 'config_proxy', 'Proxy-Einstellungen', 'Sollte Ihr Webserver sich hinter einem Proxy befinden, so können Sie hier MXChange so konfigurieren, dass es Updates durch diesen hindurch sucht!', 15)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Proxy-Einstellungen hinzugefügt."; + break; + + case "0.4.4": // SQL queries for v0.4.4 + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_admin_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_guest_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_member_menu` CHANGE `what` `what` VARCHAR(255) NULL DEFAULT NULL"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET what=NULL WHERE what=''"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET what=NULL WHERE what=''"; + $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET what=NULL WHERE what=''"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_admin_menu` DROP INDEX `what`, ADD UNIQUE (`what`)"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_guest_menu` DROP INDEX `what`, ADD UNIQUE (`what`)"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_member_menu` ADD INDEX `action` (`action`)"; + $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_member_menu` DROP INDEX `what`, ADD UNIQUE (`what`)"; + + // Update notes (these will be set as task text!) + $UPDATE_NOTES = "Schlüssel in Admin-, Gast- und Mitgliedsmenü verbessert."; break; } break; @@ -532,49 +564,17 @@ default: // Do stuff when extension is loaded $dummy = LOAD_CONFIG(); // When the sql_patches is not installed we cannot load it's configuration... *sigh* - if (GET_EXT_VERSION("sql_patches") != "") { - $_CONFIG['ext_autopurge'] = $dummy['ext_autopurge']; - $_CONFIG['mails_page'] = $dummy['mails_page']; - $_CONFIG['index_home'] = $dummy['index_home']; - $_CONFIG['verbose_sql'] = $dummy['verbose_sql']; - $_CONFIG['middot'] = $dummy['menu_blur_spacer']; - $_CONFIG['reg_points_mode'] = $dummy['reg_points_mode']; - $_CONFIG['index_delay'] = $dummy['index_delay']; - $_CONFIG['index_cookie'] = $dummy['index_cookie']; - $_CONFIG['def_refid'] = $dummy['def_refid']; - $_CONFIG['refid_target'] = $dummy['refid_target']; - $_CONFIG['default_theme'] = $dummy['default_theme']; - $_CONFIG['title_decoration'] = $dummy['enable_title_deco']; - $_CONFIG['title_mod_show'] = $dummy['enable_mod_title']; - $_CONFIG['title_what_show'] = $dummy['enable_what_title']; - $_CONFIG['title_left'] = $dummy['title_left']; - $_CONFIG['title_middle'] = $dummy['title_middle']; - $_CONFIG['title_right'] = $dummy['title_right']; - $_CONFIG['mad_counter'] = $dummy['mad_count']; - $_CONFIG['last_mad'] = $dummy['mad_timestamp']; - $_CONFIG['css_php'] = $dummy['css_php']; - $_CONFIG['guest_menu'] = $dummy['guest_menu']; - $_CONFIG['member_menu'] = $dummy['member_menu']; - $_CONFIG['youre_here'] = $dummy['youre_here']; - $_CONFIG['img_type'] = $dummy['img_type']; - $_CONFIG['stats_limit'] = $dummy['stats_limit']; - $_CONFIG['admin_menu'] = $dummy['admin_menu']; - $_CONFIG['admin_menu_sorter'] = $dummy['admin_menu_sorter']; - $_CONFIG['salt_length'] = $dummy['salt_length']; - $_CONFIG['pass_scramble'] = trim($dummy['pass_scramble']); - $_CONFIG['file_hash'] = trim($dummy['file_hash']); - $_CONFIG['master_salt'] = trim($dummy['master_salt']); + if (GET_EXT_VERSION("sql_patches") != '') { $_CONFIG['secret_key'] = ""; - $_CONFIG['show_timings'] = $dummy['show_timings']; + //die("
".print_r($dummy, true)."
"); + $_CONFIG = array_merge($_CONFIG, $dummy); // Read key from secret file - if ((empty($_CONFIG['file_hash'])) || (empty($_CONFIG['master_salt'])) || (empty($_CONFIG['pass_scramble']))) - { + if ((empty($_CONFIG['file_hash'])) || (empty($_CONFIG['master_salt'])) || (empty($_CONFIG['pass_scramble']))) { // Maybe need setup of secret key! require_once(PATH."inc/gen_sql_patches.php"); - if (GET_EXT_VERSION("cache") >= "0.1.2") - { + if (GET_EXT_VERSION("cache") >= "0.1.2") { // Remove extensions and mod_reg cache file require_once(PATH."inc/libs/cache_functions.php"); require_once(PATH."inc/extensions/ext-cache.php"); @@ -584,15 +584,11 @@ default: // Do stuff when extension is loaded } // Test again - if ((!empty($_CONFIG['file_hash'])) && (!empty($_CONFIG['master_salt'])) && (!empty($_CONFIG['pass_scramble']))) - { + if ((!empty($_CONFIG['file_hash'])) && (!empty($_CONFIG['master_salt'])) && (!empty($_CONFIG['pass_scramble']))) { // File hash fas generated so we can also file the secret file... hopefully. - if ((file_exists(PATH."inc/.secret/.".$_CONFIG['file_hash'])) && (is_readable(PATH."inc/.secret/.".$_CONFIG['file_hash']))) - { + if ((file_exists(PATH."inc/.secret/.".$_CONFIG['file_hash'])) && (is_readable(PATH."inc/.secret/.".$_CONFIG['file_hash']))) { $_CONFIG['secret_key'] = implode("", file(PATH."inc/.secret/.".$_CONFIG['file_hash'])); - } - else - { + } else { // Cannot read secret file! mxchange_die("Cannot read secret file!"); } @@ -607,10 +603,10 @@ default: // Do stuff when extension is loaded } else { // Set some lame ;-) default settings $_CONFIG['def_refid'] = 0; - $_CONFIG['title_decoration'] = 'N'; - $_CONFIG['title_mod_show'] = 'Y'; - $_CONFIG['title_middle'] = "-"; - //$_CONFIG['verbose_sql'] = 'N'; + $_CONFIG['enable_title_deco'] = 'N'; + $_CONFIG['title_mod_show'] = 'Y'; + $_CONFIG['title_middle'] = "-"; + //$_CONFIG['verbose_sql'] = 'N'; define('MT_WORD' , DEFAULT_MT_WORD ); define('MT_WORD2', DEFAULT_MT_WORD2); define('POINTS' , DEFAULT_POINTS);