OSDN Git Service

MERGE: リビジョン1747のマージ。./install/index.phpの修正。
[nucleus-jp/nucleus-next.git] / install / index.php
index 0eea109..1f93430 100644 (file)
@@ -16,7 +16,7 @@
 /**\r
  * @license http://nucleuscms.org/license.txt GNU General Public License\r
  * @copyright Copyright (C) 2002-2012 The Nucleus Group\r
- * @version $Id$\r
+ * @version $Id: index.php 1745 2012-04-12 23:45:47Z sakamocchi $
  */\r
 \r
 /* global values initialize */\r
@@ -25,15 +25,15 @@ $CONF = array();
 /* reporting all errors for support */\r
 error_reporting(E_ALL);\r
 \r
-$minimum_php_version   = '5.0.6';\r
-$minimum_mysql_version = '3.23';\r
+$minimum_php_version = '5.0.6';\r
+$minimum_mysql_version = '3.23';\r
 \r
-$page_footer_copyright = '© 2001-2012 The Nucleus Groupe . Running Nucleus CMS v4.00';\r
+$page_footer_copyright = '© 2001-2012 The Nucleus Groupe . Running Nucleus CMS v4.00';\r
 \r
 // begin if: server's PHP version is below the minimum; halt installation\r
 if ( version_compare(PHP_VERSION, $minimum_php_version, '<') )\r
 {\r
-       exit('<div style="font-size: xx-large;"> Nucleus requires at least PHP version '. $minimum_php_version .'</div>');\r
+       exit('<div style="font-size: xx-large;"> Nucleus requires at least PHP version ' . $minimum_php_version . '</div>');\r
 }\r
 \r
 // make sure there's no unnecessary escaping: # set_magic_quotes_runtime(0);\r
@@ -43,8 +43,8 @@ if ( version_compare(PHP_VERSION, '5.3.0', '<') )
 }\r
 \r
 /* default installed plugins and skins */\r
-$aConfPlugsToInstall   = array('NP_SecurityEnforcer', 'NP_SkinFiles', 'NP_Text');\r
-$aConfSkinsToImport            = array('atom', 'rss2.0', 'rsd', 'default');\r
+$aConfPlugsToInstall = array('NP_SecurityEnforcer', 'NP_SkinFiles', 'NP_Text');\r
+$aConfSkinsToImport = array('atom', 'rss2.0', 'rsd', 'default');\r
 \r
 // Check if some important files\r
 do_check_files();\r
@@ -87,7 +87,7 @@ if ( array_key_exists('param_manager', $_SESSION) )
 }\r
 else\r
 {\r
-       $param = new PARAM_MANAGER();\r
+       $param = new ParamManager();\r
 }\r
 \r
 // include translation file\r
@@ -113,7 +113,6 @@ else
 }\r
 exit;\r
 \r
-\r
 /**\r
  * installer action\r
  */\r
@@ -212,7 +211,6 @@ function show_header()
        header("Cache-Control: no-cache, must-revalidate");\r
        header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");\r
        header('Content-Type: text/html; charset=' . i18n::get_current_charset());\r
-\r
 ?>\r
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
 <html xmlns="http://www.w3.org/1999/xhtml">\r
@@ -224,41 +222,55 @@ function show_header()
                <?php echo _BODYFONTSTYLE; ?>\r
                -->\r
                </style>\r
+               <script type="text/javascript">\r
+                       function SelectText( element ) {\r
+                               window.setTimeout( function() { element.select() }, 0 );\r
+                       }\r
+                       var isSubmit = false;\r
+                       function OnceSubmit() {\r
+                               if (!isSubmit) {\r
+                                       isSubmit = true;\r
+                                       window.setTimeout( function() { isSubmit = false; }, 10000 );\r
+                                       return true;\r
+                               }\r
+                               return false;\r
+                       }\r
+               </script>\r
        </head>\r
        <body>\r
                <div id="header">\r
                        <div id="navigation">\r
                                <h1><img src="./styles/nucleus_rogo.png" alt="NucleusCMS" /></h1>\r
                                <ul>\r
-                                       <?php\r
-                                       if ( in_array($param->state, array('mysql', 'weblog', 'install')) )\r
-                                       {\r
-                                               echo '<li>', _STEP1, '</li><li';\r
-                                               if ( $param->state == 'mysql' )\r
-                                               {\r
-                                                       echo ' class="gry"';\r
-                                               }\r
-                                               echo '>&nbsp; &gt; &nbsp;', _STEP2, '</li><li';\r
-                                               if ( in_array($param->state, array('mysql', 'weblog')) )\r
-                                               {\r
-                                                       echo ' class="gry"';\r
-                                               }\r
-                                               echo '>&nbsp; &gt; &nbsp;', _STEP3, "</li>\n";\r
-                                       }\r
-                                       if ( in_array($param->state, array('mysql', 'weblog', 'detail')) )\r
-                                       {\r
-                                               echo '<li class="rightbox">';\r
-                                               if ( in_array($param->state, array('mysql', 'weblog')) )\r
-                                               {\r
-                                                       echo '<a href="./?mode=detail">', _MODE2, '</a>';\r
-                                               }\r
-                                               else\r
-                                               {\r
-                                                       echo '<a href="./?mode=simple">', _MODE1, '</a>';\r
-                                               }\r
-                                               echo '</li>';\r
-                                       }\r
-                                       ?>\r
+<?php\r
+       if ( in_array($param->state, array('mysql', 'weblog', 'install')) )\r
+       {\r
+               echo '<li>', _STEP1, '</li><li';\r
+               if ( $param->state == 'mysql' )\r
+               {\r
+                       echo ' class="gry"';\r
+               }\r
+               echo '>&nbsp; &gt; &nbsp;', _STEP2, '</li><li';\r
+               if ( in_array($param->state, array('mysql', 'weblog')) )\r
+               {\r
+                       echo ' class="gry"';\r
+               }\r
+               echo '>&nbsp; &gt; &nbsp;', _STEP3, "</li>\n";\r
+       }\r
+       if ( in_array($param->state, array('mysql', 'weblog', 'detail')) )\r
+       {\r
+               echo '<li class="rightbox">';\r
+               if ( in_array($param->state, array('mysql', 'weblog')) )\r
+               {\r
+                       echo '<a href="./?mode=detail">', _MODE2, '</a>';\r
+               }\r
+               else\r
+               {\r
+                       echo '<a href="./?mode=simple">', _MODE1, '</a>';\r
+               }\r
+               echo '</li>';\r
+       }\r
+?>\r
                                </ul>\r
                        </div>\r
                </div>\r
@@ -288,7 +300,7 @@ function show_select_locale_form()
        // Get the browser language that can be displayed\r
        // TODO: default locale select simple implementation\r
        $languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);\r
-       foreach ($languages as $language)\r
+       foreach ( $languages as $language )\r
        {\r
                $language = preg_replace('#([\w]+).*#', '$1', $language);\r
                break;\r
@@ -338,7 +350,7 @@ function show_database_setting_form($isPostback)
 \r
        $config_writable = canConfigFileWritable();\r
        $mysql_version = getMySqlVersion();\r
-       ?>\r
+?>\r
                <div id="container">\r
                        <p class="msg">\r
 <?php\r
@@ -349,11 +361,11 @@ function show_database_setting_form($isPostback)
        }\r
        if ( $mysql_version == '0.0.0' )\r
        {\r
-               echo '<span class="err">', _ERROR21, '</span>';\r
+               echo '<span class="err">', _DBVERSION_UNKOWN, '</span>';\r
        }\r
        elseif ( version_compare($mysql_version, $minimum_mysql_version, '<') )\r
        {\r
-               echo '<span class="err">', sprintf(_ERROR20 , $minimum_mysql_version), '</span>';\r
+               echo '<span class="err">', sprintf(_DBVERSION_TOOLOW, $minimum_mysql_version), '</span>';\r
        }\r
 ?>\r
                        </p>\r
@@ -385,7 +397,7 @@ function show_database_setting_form($isPostback)
                                                                <td><input type="text" name="mysql_user" value="<?php echo $param->mysql_user; ?>" /></td>\r
                                                </tr>\r
                                                <tr>\r
-                                                       <th><span class="nam"><?php echo _DB_FIELD3; ?></span><span class="sub"><?php echo _DB_FIELD3_DESC; ?></span></th>\r
+                                                       <th><span class="nam"><?php echo _DB_FIELD3; ?></span></th>\r
                                                                <td><input type="text" name="mysql_password" value="<?php echo $param->mysql_password; ?>" /></td>\r
                                                </tr>\r
                                                <tr>\r
@@ -413,7 +425,6 @@ function show_database_setting_form($isPostback)
 function show_blog_setting_form($isPostback)\r
 {\r
        global $param;\r
-\r
 ?>\r
                <div id="container">\r
                        <p class="msg">\r
@@ -476,11 +487,11 @@ function show_blog_setting_form($isPostback)
                                                                <td><input type="text" name="user_name" value="<?php echo $param->user_name; ?>" /></td>\r
                                                </tr>\r
                                                <tr>\r
-                                                       <th><span class="nam"><?php echo _ADMIN_FIELD3; ?></span><span class="sub"><?php echo _ADMIN_FIELD3_DESC; ?></span></th>\r
+                                                       <th><span class="nam"><?php echo _ADMIN_FIELD3; ?></span></th>\r
                                                                <td><input type="password" name="user_password" /></td>\r
                                                </tr>\r
                                                <tr>\r
-                                                       <th><span class="nam"><?php echo _ADMIN_FIELD4; ?></span><span class="sub"><?php echo _ADMIN_FIELD4_DESC; ?></span></th>\r
+                                                       <th><span class="nam"><?php echo _ADMIN_FIELD4; ?></span></th>\r
                                                                <td><input type="password" name="user_password2" /></td>\r
                                                </tr>\r
                                                <tr>\r
@@ -489,7 +500,7 @@ function show_blog_setting_form($isPostback)
                                                </tr>\r
                                        </table>\r
                                        <p class="sbt">\r
-                                               <button type="submit" name="action" value="weblog" class="sbt_arw"><?php echo _INSTALL; ?></button>\r
+                                               <button type="submit" name="action" value="weblog" class="sbt_arw" onclick="OnceSubmit()"><?php echo _INSTALL; ?></button>\r
                                        </p>\r
                                </div>\r
                        </form>\r
@@ -513,7 +524,7 @@ function show_detail_setting_form($isPostback)
 <?php\r
        if ( $isPostback && !$param->check_all_parameters() )\r
        {\r
-               echo '<span class="err">', _ERROR26, "</span>\n";\r
+               echo '<span class="err">', _VALID_ERROR, "</span>\n";\r
        }\r
 ?>\r
                        </p>\r
@@ -521,10 +532,10 @@ function show_detail_setting_form($isPostback)
                                <li>PHP: <?php echo phpversion(); ?></li>\r
                                <li>MySQL:\r
 <?php\r
-       echo ($mysql_version == '0.0.0') ? _ERROR21 : $mysql_version;\r
+       echo ($mysql_version == '0.0.0') ? _DBVERSION_UNKOWN : $mysql_version;\r
        if ( version_compare($mysql_version, $minimum_mysql_version, '<') )\r
        {\r
-               echo '<span class="err">', sprintf(_ERROR20 , $minimum_mysql_version), '</span>';\r
+               echo '<span class="err">', sprintf(_DBVERSION_TOOLOW, $minimum_mysql_version), '</span>';\r
        }\r
 ?></li>\r
                        </ul>\r
@@ -557,7 +568,7 @@ function show_detail_setting_form($isPostback)
                                                                <td><input type="text" name="mysql_user" value="<?php echo $param->mysql_user; ?>" /></td>\r
                                                </tr>\r
                                                <tr>\r
-                                                       <th><span class="nam"><?php echo _DB_FIELD3; ?></span><span class="sub"><?php echo _DB_FIELD3_DESC; ?></span></th>\r
+                                                       <th><span class="nam"><?php echo _DB_FIELD3; ?></span></th>\r
                                                                <td><input type="text" name="mysql_password" value="<?php echo $param->mysql_password; ?>" /></td>\r
                                                </tr>\r
                                                <tr>\r
@@ -663,11 +674,11 @@ function show_detail_setting_form($isPostback)
                                                                <td><input type="text" name="user_name" value="<?php echo $param->user_name; ?>" /></td>\r
                                                </tr>\r
                                                <tr>\r
-                                                       <th><span class="nam"><?php echo _ADMIN_FIELD3; ?></span><span class="sub"><?php echo _ADMIN_FIELD3_DESC; ?></span></th>\r
+                                                       <th><span class="nam"><?php echo _ADMIN_FIELD3; ?></span></th>\r
                                                                <td><input type="password" name="user_password" /></td>\r
                                                </tr>\r
                                                <tr>\r
-                                                       <th><span class="nam"><?php echo _ADMIN_FIELD4; ?></span><span class="sub"><?php echo _ADMIN_FIELD4_DESC; ?></span></th>\r
+                                                       <th><span class="nam"><?php echo _ADMIN_FIELD4; ?></span></th>\r
                                                                <td><input type="password" name="user_password2" /></td>\r
                                                </tr>\r
                                                <tr>\r
@@ -709,7 +720,7 @@ function show_detail_setting_form($isPostback)
                                        </p>\r
 \r
                                        <p class="sbt">\r
-                                               <button type="submit" name="action" value="detail" class="sbt_arw"><?php echo _INSTALL; ?></button>\r
+                                               <button type="submit" name="action" value="detail" class="sbt_arw" onclick="OnceSubmit()"><?php echo _INSTALL; ?></button>\r
                                        </p>\r
                                </div>\r
                        </form>\r
@@ -730,7 +741,7 @@ function show_install_complete_form()
 <?php\r
        if ( is_array($errors) && count($errors) > 0 )\r
        {\r
-               echo _ERROR27;\r
+               echo _INST_ERROR;\r
                foreach ( $errors as $error )\r
                {\r
                        echo '<span class="err">', $error, "</span>\n";\r
@@ -743,10 +754,7 @@ function show_install_complete_form()
                {\r
                        echo '<span class="err">', _INST_TEXT4, '</span>';\r
 ?>\r
-<textarea id="config_text" readonly="readonly" onfocus="SelectText(this);"><?php echo htmlentities($_SESSION['config_data'], null, i18n::get_current_charset() ) ?></textarea>\r
-<script type="text/javascript">\r
-  function SelectText( element ) {window.setTimeout( function() { element.select(); }, 0 );}\r
-</script>\r
+<textarea id="config_text" readonly="readonly" onfocus="SelectText(this);"><?php echo htmlentities($_SESSION['config_data'], null, i18n::get_current_charset()) ?></textarea>\r
 <?php\r
                }\r
                else\r
@@ -808,18 +816,18 @@ function do_install()
        /*\r
         * 1. put all param-vars into vars\r
         */\r
-       $MYSQL_HOST = $param->mysql_host;\r
-       $MYSQL_USER = $param->mysql_user;\r
-       $MYSQL_PASSWORD = $param->mysql_password;\r
-       $MYSQL_DATABASE = $param->mysql_database;\r
-       $MYSQL_PREFIX = $param->mysql_tablePrefix;\r
-\r
-       $DIR_NUCLEUS = $param->AdminPath;\r
-       $DIR_MEDIA = $param->MediaPath;\r
-       $DIR_SKINS = $param->SkinsPath;\r
-       $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';\r
-       $DIR_LOCALES = $DIR_NUCLEUS . 'locales/';\r
-       $DIR_LIBS = $DIR_NUCLEUS . 'libs/';\r
+       $MYSQL_HOST             = $param->mysql_host;\r
+       $MYSQL_USER             = $param->mysql_user;\r
+       $MYSQL_PASSWORD = $param->mysql_password;\r
+       $MYSQL_DATABASE = $param->mysql_database;\r
+       $MYSQL_PREFIX   = $param->mysql_tablePrefix;\r
+\r
+       $DIR_NUCLEUS    = $param->AdminPath;\r
+       $DIR_MEDIA              = $param->MediaPath;\r
+       $DIR_SKINS              = $param->SkinsPath;\r
+       $DIR_PLUGINS    = $DIR_NUCLEUS . 'plugins/';\r
+       $DIR_LOCALES    = $DIR_NUCLEUS . 'locales/';\r
+       $DIR_LIBS               = $DIR_NUCLEUS . 'libs/';\r
 \r
        /*\r
         * 2.open mySQL connection\r
@@ -827,16 +835,16 @@ function do_install()
        $MYSQL_CONN = @sql_connect_args($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);\r
        if ( $MYSQL_CONN == false )\r
        {\r
-               $errors[] = _ERROR3;\r
+               $errors[] = _DBCONNECT_ERROR;\r
                return $errors;\r
        }\r
 \r
        /*\r
         * 3. try to create database if needed\r
         */\r
-       if ( !sql_query('CREATE DATABASE IF NOT EXISTS `' . $MYSQL_DATABASE . '`') )\r
+       if ( !sql_query("CREATE DATABASE IF NOT EXISTS {$MYSQL_DATABASE}") )\r
        {\r
-               $errors[] = _ERROR12 . ': ' . sql_error();\r
+               $errors[] = _INST_ERROR1 . ': ' . sql_error();\r
        }\r
 \r
        /*\r
@@ -844,7 +852,7 @@ function do_install()
         */\r
        if ( !sql_select_db($MYSQL_DATABASE) )\r
        {\r
-               $errors[] = _ERROR13;\r
+               $errors[] = _INST_ERROR2;\r
        }\r
        sql_set_charset('utf8');\r
 \r
@@ -882,11 +890,11 @@ function do_install()
 \r
        // table exists check\r
        $result = sql_query('SHOW TABLES');\r
-       while ($row = mysql_fetch_array($result, MYSQL_NUM))\r
+       while ( $row = mysql_fetch_array($result, MYSQL_NUM) )\r
        {\r
                if ( in_array($row[0], $prefixed_table_names) )\r
                {\r
-                       $errors[] = _ERROR14;\r
+                       $errors[] = _INST_ERROR3;\r
                        break;\r
                }\r
        }\r
@@ -897,7 +905,7 @@ function do_install()
 \r
        $filename = 'install.sql';\r
        $fd = fopen($filename, 'r');\r
-       $queries = fread($fd, filesize($filename) );\r
+       $queries = fread($fd, filesize($filename));\r
        fclose($fd);\r
 \r
        $queries = preg_split('#(;\n|;\r)#', $queries);\r
@@ -913,7 +921,7 @@ function do_install()
 \r
                        if ( !sql_query($query) )\r
                        {\r
-                               $errors[] = _ERROR15 . ' (<small>' . $query . '</small>): ' . sql_error();\r
+                               $errors[] = _INST_ERROR4 . ' (<small>' . $query . '</small>): ' . sql_error();\r
                        }\r
                }\r
        }\r
@@ -926,7 +934,7 @@ function do_install()
        $query = sprintf($query, tableName('nucleus_item'), _1ST_POST_TITLE, _1ST_POST, _1ST_POST2, i18n::formatted_datetime('mysql', time()));\r
        if ( !sql_query($query) )\r
        {\r
-               $errors[] = _ERROR15 . ' (<small>' . $newpost . '</small>): ' . sql_error();\r
+               $errors[] = _INST_ERROR4 . ' (<small>' . $newpost . '</small>): ' . sql_error();\r
        }\r
 \r
        /* push configurations */\r
@@ -954,7 +962,7 @@ function do_install()
        $query = sprintf($query, tableName('nucleus_member'), $user_name, $user_realname, $user_password, $user_email, $config_indexurl);\r
        if ( !sql_query($query) )\r
        {\r
-               $errors[] = _ERROR16 . ': ' . sql_error();\r
+               $errors[] = _INST_ERROR5 . ': ' . sql_error();\r
        }\r
 \r
        /* push new weblog */\r
@@ -962,7 +970,7 @@ function do_install()
        $query = sprintf($query, tableName('nucleus_blog'), $blog_name, $blog_shortname, $config_indexurl);\r
        if ( !sql_query($query) )\r
        {\r
-               $errors[] = _ERROR17 . ': ' . sql_error();\r
+               $errors[] = _INST_ERROR6 . ': ' . sql_error();\r
        }\r
 \r
        /* push default category */\r
@@ -970,7 +978,7 @@ function do_install()
        $query = sprintf($query, tableName('nucleus_category'), _GENERALCAT_NAME, _GENERALCAT_DESC);\r
        if ( !sql_query($query) )\r
        {\r
-               $errors[] = _ERROR17 . ': ' . sql_error();\r
+               $errors[] = _INST_ERROR6 . ': ' . sql_error();\r
        }\r
 \r
        sql_close();\r
@@ -988,20 +996,22 @@ function do_install()
                global $manager;\r
                if ( !isset($manager) )\r
                {\r
-                       $manager = new MANAGER;\r
+                       $manager = new Manager();\r
                }\r
 \r
+               include_once($DIR_LIBS . 'skinie.php');\r
+               \r
                $aSkinErrors = installCustomSkins();\r
                if ( count($aSkinErrors) > 0 )\r
                {\r
                        array_merge($errors, $aSkinErrors);\r
                }\r
 \r
-               $query  = "SELECT sdnumber FROM %s WHERE sdname='default'";\r
-               $query = sprintf($query, tableName('nucleus_skin_desc'));\r
-               $res = sql_query($query);\r
-               $obj = sql_fetch_assoc($res);\r
-               $defSkinID = (integer) $obj['sdnumber'];\r
+               $query          = "SELECT sdnumber FROM %s WHERE sdname='default'";\r
+               $query          = sprintf($query, tableName('nucleus_skin_desc'));\r
+               $res            = sql_query($query);\r
+               $obj            = sql_fetch_assoc($res);\r
+               $defSkinID      = (integer) $obj['sdnumber'];\r
 \r
                $query = "UPDATE %s SET bdefskin=%d WHERE bnumber=1";\r
                $query = sprintf($query, tableName('nucleus_blog'), $defSkinID);\r
@@ -1010,7 +1020,7 @@ function do_install()
                $query = sprintf($query, tableName('nucleus_config'), $defSkinID);\r
                sql_query($query);\r
 \r
-               $aPlugErrors = installCustomPlugs($manager);\r
+               $aPlugErrors = installCustomPlugs();\r
                if ( count($aPlugErrors) > 0 )\r
                {\r
                        array_merge($errors, $aPlugErrors);\r
@@ -1031,7 +1041,7 @@ function do_install()
        $config_data .= "// default is \$MYSQL_HANDLER = array('mysql','mysql');\n";\r
        $config_data .= "//\$MYSQL_HANDLER = array('mysql','mysql');\n";\r
        $config_data .= "//\$MYSQL_HANDLER = array('pdo','mysql');\n";\r
-       $config_data .= "\$MYSQL_HANDLER = array('".$MYSQL_HANDLER[0]."','".$MYSQL_HANDLER[1]."');\n";\r
+       $config_data .= "\$MYSQL_HANDLER = array('" . $MYSQL_HANDLER[0] . "','" . $MYSQL_HANDLER[1] . "');\n";\r
        $config_data .= "\n";\r
        $config_data .= "// main nucleus directory\n";\r
        $config_data .= "\$DIR_NUCLEUS = '" . $DIR_NUCLEUS . "';\n";\r
@@ -1057,7 +1067,7 @@ function do_install()
        {\r
                if ( $fp = @fopen('../config.php', 'w') )\r
                {\r
-                       $result = @fwrite($fp, $config_data, i18n::strlen($config_data) );\r
+                       $result = @fwrite($fp, $config_data, i18n::strlen($config_data));\r
                        fclose($fp);\r
                }\r
        }\r
@@ -1065,7 +1075,7 @@ function do_install()
        if ( $result )\r
        {\r
                // try to change the read-only permission.\r
-               if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN' )\r
+               if ( strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN' )\r
                {\r
                        @chmod('../config.php', 0444);\r
                }\r
@@ -1087,14 +1097,14 @@ function canConfigFileWritable()
        if ( @file_exists('../config.php') && @!is_writable('../config.php') )\r
        {\r
                // try to change the read-write permission.\r
-               if (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN' )\r
+               if ( strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN' )\r
                {\r
                        @chmod('../config.php', 0666);\r
                }\r
 \r
                if ( @!is_writable('../config.php') )\r
                {\r
-                       return _ERROR19;\r
+                       return _INST_ERROR8;\r
                }\r
        }\r
        return '';\r
@@ -1119,7 +1129,7 @@ function getMySqlVersion()
        if ( $result != FALSE && sql_num_rows($result) > 0 )\r
        {\r
                $row = sql_fetch_array($result);\r
-               $match = i18n::explode('.', $row['version']);\r
+               $match = preg_split('#\.#', $row['version']);\r
        }\r
        else\r
        {\r
@@ -1128,14 +1138,13 @@ function getMySqlVersion()
                if ( $result != FALSE && @sql_num_rows($result) > 0 )\r
                {\r
                        $row = sql_fetch_row($result);\r
-                       $match = i18n::explode('.', $row[1]);\r
+                       $match = preg_split('#\.#', $row[1]);\r
                }\r
                else\r
                {\r
-                       //$output = shell_exec('mysql -V');\r
-                       $output = ( function_exists('shell_exec') ) ? @shell_exec('mysql -V') : '0.0.0';\r
+                       $output = (function_exists('shell_exec')) ? @shell_exec('mysql -V') : '0.0.0';\r
                        preg_match('@[0-9]+\.[0-9]+\.[0-9]+@', $output, $version);\r
-                       $match = i18n::explode('.', $version[0]);\r
+                       $match = preg_split('#\.#', $version[0]);\r
 \r
                        if ( $match[0] == '' )\r
                        {\r
@@ -1173,12 +1182,10 @@ function tableName($input)
 \r
 /**\r
  * Install custom plugins\r
- *\r
- * @param object $manager MANAGER class instance\r
  */\r
-function installCustomPlugs($manager)\r
+function installCustomPlugs()\r
 {\r
-       global $aConfPlugsToInstall, $DIR_LIBS;\r
+       global $aConfPlugsToInstall, $DIR_LIBS, $manager;\r
 \r
        $aErrors = array();\r
        if ( count($aConfPlugsToInstall) == 0 )\r
@@ -1186,7 +1193,7 @@ function installCustomPlugs($manager)
                return $aErrors;\r
        }\r
 \r
-       $res = sql_query('SELECT * FROM ' . tableName('nucleus_plugin') );\r
+       $res = sql_query('SELECT * FROM ' . tableName('nucleus_plugin'));\r
        $numCurrent = sql_num_rows($res);\r
 \r
        foreach ( $aConfPlugsToInstall as $plugName )\r
@@ -1202,14 +1209,14 @@ function installCustomPlugs($manager)
                {\r
                        sql_query('DELETE FROM ' . tableName('nucleus_plugin') . " WHERE pfile = '" . sql_real_escape_string($plugName) . "'");\r
                        $numCurrent--;\r
-                       array_push($aErrors, sprintf(_ERROR22 ,$plugName));\r
+                       array_push($aErrors, sprintf(_INST_ERROR9, $plugName));\r
                        continue;\r
                }\r
                $plugin->install();\r
        }\r
 \r
-       sql_query('DELETE FROM ' . tableName('nucleus_plugin_event') );\r
-       $res = sql_query('SELECT pid, pfile FROM ' . tableName('nucleus_plugin') );\r
+       sql_query('DELETE FROM ' . tableName('nucleus_plugin_event'));\r
+       $res = sql_query('SELECT pid, pfile FROM ' . tableName('nucleus_plugin'));\r
 \r
        while ( $o = sql_fetch_object($res) )\r
        {\r
@@ -1242,8 +1249,7 @@ function installCustomSkins()
                return $aErrors;\r
        }\r
 \r
-       include_once($DIR_LIBS . 'skinie.php');\r
-       $importer = new SKINIMPORT();\r
+       $importer = new SkinImport();\r
 \r
        foreach ( $aConfSkinsToImport as $skinName )\r
        {\r
@@ -1252,7 +1258,7 @@ function installCustomSkins()
 \r
                if ( !@file_exists($skinFile) )\r
                {\r
-                       array_push($aErrors, sprintf(_ERROR23, $skinFile));\r
+                       array_push($aErrors, sprintf(_INST_ERROR10, $skinFile));\r
                        continue;\r
                }\r
 \r
@@ -1260,7 +1266,7 @@ function installCustomSkins()
 \r
                if ( $error )\r
                {\r
-                       array_push($aErrors, sprintf(_ERROR24, $skinName) . ' : ' . $error);\r
+                       array_push($aErrors, sprintf(_INST_ERROR11, $skinName) . ' : ' . $error);\r
                        continue;\r
                }\r
 \r
@@ -1268,14 +1274,13 @@ function installCustomSkins()
 \r
                if ( $error )\r
                {\r
-                       array_push($aErrors, sprintf(_ERROR25, $skinName) . ' : ' . $error);\r
+                       array_push($aErrors, sprintf(_INST_ERROR12, $skinName) . ' : ' . $error);\r
                        continue;\r
                }\r
        }\r
        return $aErrors;\r
 }\r
 \r
-\r
 /**\r
  * Check if some important files of the Nucleus CMS installation are available\r
  * Give an error if one or more files are not accessible\r
@@ -1330,17 +1335,16 @@ function do_check_files()
        {\r
                if ( !is_readable($files[$i]) )\r
                {\r
-                       array_push( $missingfiles, 'File <b>' . $files[$i] . '</b> is missing or not readable.<br />');\r
+                       array_push($missingfiles, 'File <b>' . $files[$i] . '</b> is missing or not readable.<br />');\r
                }\r
        }\r
 \r
        if ( count($missingfiles) > 0 )\r
        {\r
-               exit(implode( "\n", $missingfiles));\r
+               exit(implode("\n", $missingfiles));\r
        }\r
 }\r
 \r
-\r
 /**\r
  * Updates the configuration in the database\r
  *\r
@@ -1352,20 +1356,19 @@ function updateConfig($name, $value)
 {\r
        $errors = array();\r
        $name = sql_real_escape_string($name);\r
-       $value = trim(sql_real_escape_string($value) );\r
+       $value = trim(sql_real_escape_string($value));\r
 \r
        $query = "UPDATE %s SET value = '%s' WHERE name = '%s'";\r
        $query = sprintf($query, tableName('nucleus_config'), $value, $name);\r
 \r
        if ( !sql_query($query) )\r
        {\r
-               $errors[] = _ERROR15 . ': ' . sql_error();\r
+               $errors[] = _INST_ERROR4 . ': ' . sql_error();\r
        }\r
        return $errors;\r
 }\r
 \r
-\r
-class PARAM_MANAGER\r
+class ParamManager\r
 {\r
        /* process parameter */\r
        public $state;\r
@@ -1423,24 +1426,25 @@ class PARAM_MANAGER
                $this->blog_shortname = 'mynucleuscms';\r
 \r
                /* root path */\r
-               $this->root_path = realpath(dirname(__FILE__) . '/..');\r
+               $directory_separator = preg_quote(DIRECTORY_SEPARATOR, '|');\r
+               $this->root_path = implode('/', preg_split("|$directory_separator|", realpath(dirname(__FILE__) . '/..')));\r
                if ( substr($this->root_path, -1, 1) !== '/' )\r
                {\r
                        $this->root_path .= '/';\r
                }\r
-               $base_path_pcre = preg_quote($this->root_path, '#');\r
+               $base_path_pcre = preg_quote($this->root_path, '|');\r
 \r
                /* current directry name */\r
-               $directory_name = preg_replace("#$base_path_pcre#", '', dirname(__FILE__));\r
-               $directory_name_pcre = preg_quote($directory_name, '#');\r
+               $directory_name = preg_replace("#{$base_path_pcre}#", '', implode('/', preg_split("#{$directory_separator}#", realpath(dirname(__FILE__)))));\r
+               $directory_name_pcre = preg_quote($directory_name, '|');\r
 \r
                /* root uri */\r
                $root_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];\r
-               $this->root_url = preg_replace("#$directory_name_pcre(.*)$#", '', $root_url);\r
+               $this->root_url = preg_replace("|$directory_name_pcre(.*)$|", '', $root_url);\r
 \r
-               $this->AdminPath = $this->root_path . 'nucleus' . DIRECTORY_SEPARATOR;\r
-               $this->MediaPath = $this->root_path . 'media' . DIRECTORY_SEPARATOR;\r
-               $this->SkinsPath = $this->root_path . 'skins' . DIRECTORY_SEPARATOR;\r
+               $this->AdminPath = $this->root_path . 'nucleus/';\r
+               $this->MediaPath = $this->root_path . 'media/';\r
+               $this->SkinsPath = $this->root_path . 'skins/';\r
 \r
                $this->IndexURL  = $this->root_url;\r
                $this->AdminURL  = $this->root_url . 'nucleus/';\r
@@ -1488,40 +1492,35 @@ class PARAM_MANAGER
                $errors = array();\r
                if ( $this->mysql_host == '' )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _DB_FIELD1);\r
+                       $errors[] = sprintf(_VALID_ERROR1, _DB_FIELD1);\r
                }\r
 \r
                if ( $this->mysql_user == '' )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _DB_FIELD2);\r
+                       $errors[] = sprintf(_VALID_ERROR1, _DB_FIELD2);\r
                }\r
                \r
                if ( $this->mysql_user != ''\r
                        && !preg_match('/^[a-z0-9_\-]+$/i', $this->mysql_user) )\r
                {\r
-                       $errors[] = sprintf(_ERROR2, _DB_FIELD2);\r
+                       $errors[] = sprintf(_VALID_ERROR2, _DB_FIELD2);\r
                }\r
                \r
-               if ( $this->mysql_password == '' )\r
-               {\r
-                       $errors[] = sprintf(_ERROR1, _DB_FIELD3);\r
-               }\r
-\r
                if ( $this->mysql_database == '' )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _DB_FIELD4);\r
+                       $errors[] = sprintf(_VALID_ERROR1, _DB_FIELD4);\r
                }\r
 \r
                if ( $this->mysql_database != ''\r
                        && !preg_match('/^[a-z0-9_\-]+$/i', $this->mysql_database) )\r
                {\r
-                       $errors[] = sprintf(_ERROR2, _DB_FIELD4);\r
+                       $errors[] = sprintf(_VALID_ERROR2, _DB_FIELD4);\r
                }\r
 \r
                if ( $this->mysql_tablePrefix != ''\r
-                       && !preg_match('/^[a-z0-9_-]+$/i', $this->mysql_tablePrefix) )\r
+                       && !preg_match('/^[a-z0-9_]+$/i', $this->mysql_tablePrefix) )\r
                {\r
-                       $errors[] = sprintf(_ERROR2, _DB_FIELD5);\r
+                       $errors[] = sprintf(_VALID_ERROR3, _DB_FIELD5);\r
                }\r
                \r
                if ( count($errors) == 0 )\r
@@ -1529,7 +1528,7 @@ class PARAM_MANAGER
                        $mysql_conn = @sql_connect_args($this->mysql_host, $this->mysql_user, $this->mysql_password);\r
                        if ( $mysql_conn == false )\r
                        {\r
-                               $errors[] = _ERROR3;\r
+                               $errors[] = _DBCONNECT_ERROR;\r
                        }\r
                        else\r
                        {\r
@@ -1546,34 +1545,34 @@ class PARAM_MANAGER
                $this->read_parameter($parameters);\r
 \r
                $errors = array();\r
-               if ( $this->user_name == '' )\r
+               if ( $this->user_realname == '' )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _ADMIN_FIELD2);\r
+                       $errors[] = sprintf(_VALID_ERROR1, _ADMIN_FIELD1);\r
                }\r
-               elseif ( !preg_match("/^[a-z0-9]+([ a-z0-9]*[a-z0-9]+)?$/i", $this->user_name) )\r
+\r
+               if ( $this->user_name == '' )\r
                {\r
-                       $errors[] = _ERROR5;\r
+                       $errors[] = sprintf(_VALID_ERROR1, _ADMIN_FIELD2);\r
                }\r
-\r
-               if ( $this->user_realname == '' )\r
+               elseif ( !preg_match("/^[a-z0-9]+([ a-z0-9]*[a-z0-9]+)?$/i", $this->user_name) )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _ADMIN_FIELD1);\r
+                       $errors[] = _VALID_ERROR5;\r
                }\r
 \r
                if ( $this->user_password == '' || $this->user_password2 == '' )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _ADMIN_FIELD3);\r
+                       $errors[] = sprintf(_VALID_ERROR1, _ADMIN_FIELD3);\r
                        $this->user_password = '';\r
                }\r
                elseif ( $this->user_password != $this->user_password2 )\r
                {\r
-                       $errors[] = _ERROR6;\r
+                       $errors[] = _VALID_ERROR6;\r
                        $this->user_password = '';\r
                }\r
 \r
                if ( !preg_match("/^[a-z0-9\._+\-]+@[a-z0-9\._\-]+\.[a-z]{2,6}$/i", $this->user_email) )\r
                {\r
-                       $errors[] = _ERROR7;\r
+                       $errors[] = _VALID_ERROR7;\r
                }\r
 \r
                return $errors;\r
@@ -1587,17 +1586,17 @@ class PARAM_MANAGER
                $errors = array();\r
                if ( $this->blog_name == '' )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _BLOG_FIELD1);\r
+                       $errors[] = sprintf(_VALID_ERROR1, _BLOG_FIELD1);\r
                }\r
 \r
                if ( $this->blog_shortname == '' )\r
                {\r
-                       $errors[] = sprintf(_ERROR1, _BLOG_FIELD2);\r
+                       $errors[] = sprintf(_VALID_ERROR1, _BLOG_FIELD2);\r
                }\r
 \r
                if ( !preg_match("/^[a-z0-9]+$/i", $this->blog_shortname) )\r
                {\r
-                       $errors[] = _ERROR4;\r
+                       $errors[] = _VALID_ERROR4;\r
                }\r
 \r
                return $errors;\r
@@ -1611,32 +1610,32 @@ class PARAM_MANAGER
                $errors = array();\r
                if ( substr($this->IndexURL, -1, 1) !== '/' )\r
                {\r
-                       $errors[] = sprintf(_ERROR8, _PATH_FIELD1);\r
+                       $errors[] = sprintf(_VALID_ERROR8, _PATH_FIELD1);\r
                }\r
 \r
                if ( substr($this->AdminURL, -1, 1) !== '/' )\r
                {\r
-                       $errors[] = sprintf(_ERROR8, _PATH_FIELD2);\r
+                       $errors[] = sprintf(_VALID_ERROR8, _PATH_FIELD2);\r
                }\r
 \r
                if ( substr($this->MediaURL, -1, 1) !== '/' )\r
                {\r
-                       $errors[] = sprintf(_ERROR8, _PATH_FIELD4);\r
+                       $errors[] = sprintf(_VALID_ERROR8, _PATH_FIELD4);\r
                }\r
 \r
                if ( substr($this->SkinsURL, -1, 1) !== '/' )\r
                {\r
-                       $errors[] = sprintf(_ERROR8, _PATH_FIELD6);\r
+                       $errors[] = sprintf(_VALID_ERROR8, _PATH_FIELD6);\r
                }\r
 \r
                if ( substr($this->PluginURL, -1, 1) !== '/' )\r
                {\r
-                       $errors[] = sprintf(_ERROR8, _PATH_FIELD8);\r
+                       $errors[] = sprintf(_VALID_ERROR8, _PATH_FIELD8);\r
                }\r
 \r
                if ( strrchr($this->ActionURL, '/') != '/action.php' )\r
                {\r
-                       $errors[] = sprintf(_ERROR9, _PATH_FIELD9);\r
+                       $errors[] = sprintf(_VALID_ERROR9, _PATH_FIELD9);\r
                }\r
 \r
                return $errors;\r
@@ -1649,19 +1648,31 @@ class PARAM_MANAGER
 \r
                $separators = array('/', DIRECTORY_SEPARATOR);\r
                $errors = array();\r
-               if ( !in_array(substr($this->AdminPath, -1, 1), $separators) || !file_exists($this->AdminPath) )\r
+               if ( !in_array(substr($this->AdminPath, -1, 1), $separators) )\r
                {\r
-                       $errors[] = sprintf(_ERROR10, _PATH_FIELD3);\r
+                       $errors[] = sprintf(_VALID_ERROR10, _PATH_FIELD3);\r
+               }\r
+               elseif ( !file_exists($this->AdminPath) )\r
+               {\r
+                       $errors[] = sprintf(_VALID_ERROR11, _PATH_FIELD3);\r
                }\r
 \r
-               if ( !in_array(substr($this->MediaPath, -1, 1), $separators) || !file_exists($this->MediaPath) )\r
+               if ( !in_array(substr($this->MediaPath, -1, 1), $separators) )\r
+               {\r
+                       $errors[] = sprintf(_VALID_ERROR10, _PATH_FIELD5);\r
+               }\r
+               elseif ( !file_exists($this->MediaPath) )\r
                {\r
-                       $errors[] = sprintf(_ERROR10, _PATH_FIELD5);\r
+                       $errors[] = sprintf(_VALID_ERROR11, _PATH_FIELD5);\r
                }\r
 \r
-               if ( !in_array(substr($this->SkinsPath, -1, 1), $separators) || !file_exists($this->SkinsPath) )\r
+               if ( !in_array(substr($this->SkinsPath, -1, 1), $separators) )\r
+               {\r
+                       $errors[] = sprintf(_VALID_ERROR10, _PATH_FIELD7);\r
+               }\r
+               elseif ( !file_exists($this->SkinsPath) )\r
                {\r
-                       $errors[] = sprintf(_ERROR10, _PATH_FIELD7);\r
+                       $errors[] = sprintf(_VALID_ERROR11, _PATH_FIELD7);\r
                }\r
 \r
                return $errors;\r