<?php
/*
* Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
- * Copyright (C) 2002-2009 The Nucleus Group
+ * Copyright (C) 2002-2012 The Nucleus Group
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
*/
/**
* @license http://nucleuscms.org/license.txt GNU General Public License
- * @copyright Copyright (C) 2002-2009 The Nucleus Group
+ * @copyright Copyright (C) 2002-2012 The Nucleus Group
* @version $Id: upgrade2.0.php 1388 2009-07-18 06:31:28Z shizuki $
*/
return "already installed";
}
- /* config.Language to config.Locale */
- if ( !upgrade_checkIfColumnExists('config','Locale') )
+ // Give user warning if they are running old version of PHP
+ if ( phpversion() < '5' )
{
- $res = DB::getResult("SELECT * FROM " . sql_table('config') . " WHERE name='Language'");
- foreach ( $res as $row )
+ echo 'WARNING: You are running NucleusCMS on a older version of PHP that is no longer supported by NucleusCMS. Please upgrade to PHP5!';
+ }
+
+ /* config table */
+ /* change Language setting to Locale */
+ if ( upgrade_checkIfCVExists('Language') )
+ {
+ $language = DB::getValue("SELECT value FROM " . sql_table('config') . " WHERE name='Language'");
+ $locale = i18n::convert_old_language_file_name_to_locale($language);
+ if ( $locale )
{
- $locale = $row['Language'];
+ $query = 'INSERT INTO ' . sql_table('config') . " VALUES ('Locale','{$locale}')";
+ upgrade_query('Creating Locale config value', $query);
+
+ $query = 'DELETE FROM ' . sql_table('config') . " WHERE name='Language'";
+ upgrade_query("Removing Language config value", $query);
}
- $query = 'INSERT INTO ' . sql_table('config') . " (name, value) VALUES ('Locale', '{$locale}');";
- upgrade_query("Renaming Language for configs to Locale", $query);
}
- if ( !upgrade_checkIfColumnExists('config','Language') )
+ /* change AdminCSS setting */
+ if ( upgrade_checkIfCVExists('AdminCSS') )
+ {
+ $query = 'UPDATE ' . sql_table('config') . " SET value='original' WHERE name='AdminCSS'";
+ upgrade_query('Changing AdminCSS config value', $query);
+ }
+
+ /* create AdminSkin setting */
+ if ( !upgrade_checkIfCVExists('AdminSkin') )
{
- $query = "DELETE * FROM " . sql_table('config') . " WHERE name='Language'";
- upgrade_query("Renaming Language for configs to Locale", $query);
+ $query = 'INSERT INTO ' . sql_table('config') . " VALUES ('AdminSkin','0')";
+ upgrade_query('Creating AdminSkin config value', $query);
}
- /* member.deflang to member.mlocale */
+ /* create BookmarkletSkin setting */
+ if ( !upgrade_checkIfCVExists('BookmarkletSkin') )
+ {
+ $query = 'INSERT INTO ' . sql_table('config') . " VALUES ('BookmarkletSkin','0')";
+ upgrade_query('Creating BookmarkletSkin config value', $query);
+ }
+
+
+ /* member table */
+ /* changing the member table to rename deflang to mlocale */
if ( !upgrade_checkIfColumnExists('member','mlocale') )
{
- $query = 'ALTER TABLE '.sql_table('member') . " CHANGE deflang mlocale varchar(10) NOT NULL default ''";
+ $query = 'ALTER TABLE '.sql_table('member') . " CHANGE deflang mlocale varchar(20) NOT NULL default '' AFTER mcookiekey";
upgrade_query("Renaming deflang column for members to mlocale", $query);
}
+
+ /* changing the member table to add madminskin column */
+ if ( !upgrade_checkIfColumnExists('member','madminskin') )
+ {
+ $query = 'ALTER TABLE '.sql_table('member') . " ADD madminskin tinyint(2) NOT NULL default '0'";
+ upgrade_query("Adding a new row for the adminskin member option", $query);
+ }
+
+ /* changing the member table to add mbkmklt column */
+ if ( !upgrade_checkIfColumnExists('member','mbkmklt') )
+ {
+ $query = 'ALTER TABLE '.sql_table('member') . " ADD mbkmklt tinyint(2) NOT NULL default '0'";
+ upgrade_query("Adding a new row for the bkmklt member option", $query);
+ }
+
+ // all member default value set
+ $res = DB::getResult("SELECT * FROM " . sql_table('member'));
+ foreach ( $res as $row )
+ {
+ $locale = i18n::convert_old_language_file_name_to_locale($row['mlocale']);
+ if ( $locale )
+ {
+ $query = 'UPDATE $s SET mlocale=$s WHERE mnumber=$d';
+ $query = sprintf($query, sql_table('member'), DB::quoteValue($locale), $row['mnumber']);
+ upgrade_query('Changing mlocale value', $query);
+ }
+ }
+
+ // 3.6 -> 4.0
+ // update database version
+ update_version('400');
+
}