]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-sql_patches.php
Removal of sql_patches should now remove what=stats2 in member menu
[mailer.git] / inc / extensions / ext-sql_patches.php
index 08c7bf96d9609977634359ebf704cd890863704e..e71bf2c68a5cb1fb11c78f2f83fb486f72da055a 100644 (file)
  ************************************************************************/
 
 // 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;
@@ -533,48 +565,16 @@ default: // Do stuff when extension is loaded
 
        // 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']);
                $_CONFIG['secret_key']        = "";
-               $_CONFIG['show_timings']      = $dummy['show_timings'];
+               //die("<pre>".print_r($dummy, true)."</pre>");
+               $_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);