OSDN Git Service

MERGE: revision 1685 and 1690 from original repository
[nucleus-jp/nucleus-next.git] / nucleus / upgrades / upgrade4.0.php
index 8253da4..41dd003 100644 (file)
@@ -22,39 +22,29 @@ function upgrade_do400()
                return "already installed";
        }
        
-       /* in config table, 'Language' is renamed 'Locale' and the value is changed */
+       /* config.Language to config.Locale  */
        if ( !upgrade_checkIfColumnExists('config','Locale') )
        {
-               $query = "SELECT * FROM %s WHERE name='Language'";
-               $query = sprintf($query, sql_table('config'));
-               $res = sql_query($query);
+               $res = sql_query("SELECT * FROM " . sql_table('config') . " WHERE name='Language'");
                while ( $o = mysql_fetch_object($res) )
                {
-                       $language = $o->Language;
-                       break;
+                       $locale = $o->Language;
                }
-               $locale = i18n::convert_old_language_file_name_to_locale($language);
-               
-               $query = "INSERT INTO %s (name, value) VALUE('Locale', '%s');";
-               $query = sprintf($query, sql_table('config'), $locale);
+               $query = 'INSERT INTO ' . sql_table('config') . " (name, value) VALUE('Locale', '{$locale}');";
                upgrade_query("Renaming Language for configs to Locale", $query);
-               
-               $query = "DELETE * FROM %s WHERE name='Language';";
-               $query = sprintf($query, sql_table('config'));
+       }
+       
+       if ( !upgrade_checkIfColumnExists('config','Language') )
+       {
+               $query = "DELETE * FROM " . sql_table('config') . " WHERE name='Language'";
                upgrade_query("Renaming Language for configs to Locale", $query);
        }
        
-       /* in member table, deflang field is renamed  as mlocale */
+       /* member.deflang to member.mlocale   */
        if ( !upgrade_checkIfColumnExists('member','mlocale') )
        {
-               $query = "ALTER TABLE %s CHANGE deflang mlocale varchar(10) NOT NULL default '';";
-               $query = sprintf($query, sql_table('member'));
+               $query =  'ALTER TABLE '.sql_table('member') . " CHANGE deflang mlocale varchar(10) NOT NULL default ''";
                upgrade_query("Renaming deflang column for members to mlocale", $query);
        }
-       
-       /* update database version */
-       update_version('400');
-       
-       return;
 }