X-Git-Url: http://git.sourceforge.jp/view?p=nucleus-jp%2Fnucleus-jp-ancient.git;a=blobdiff_plain;f=utf8%2Finstall.php;h=951b573aae07aca37b1110d5845caa10d57ea846;hp=8aab67194248d5ba2a388e809c962f19d59c809a;hb=82bbdee2ebc5f80f1f40a3434852a431f2c0a9e9;hpb=d7e9d7a179c4f3e48bbc4684546845d36457fdca diff --git a/utf8/install.php b/utf8/install.php index 8aab671..951b573 100755 --- a/utf8/install.php +++ b/utf8/install.php @@ -23,11 +23,11 @@ */ /* - This part of the install.php code allows for customization of the install process. - When distributing plugins or skins together with a Nucleus installation, the - configuration below will instruct to install them + This part of the install.php code allows for customization of the install process. + When distributing plugins or skins together with a Nucleus installation, the + configuration below will instruct to install them - -- Start Of Configurable Part -- + -- Start Of Configurable Part -- */ include('./install_lang_japanese.php'); @@ -37,7 +37,11 @@ include('./install_lang_japanese.php'); // // example: // array('NP_TrackBack', 'NP_MemberGoodies') -$aConfPlugsToInstall = array('NP_SkinFiles'); +$aConfPlugsToInstall = array( + 'NP_SkinFiles', + 'NP_SecurityEnforcer', + 'NP_Text' +); // array with skins to install. skins must be present under the skins/ directory with @@ -45,10 +49,15 @@ $aConfPlugsToInstall = array('NP_SkinFiles'); // // example: // array('base','rsd') -$aConfSkinsToImport = array('default'); +$aConfSkinsToImport = array( + 'atom', + 'rss2.0', + 'rsd', + 'default', +); /* - -- End Of Configurable Part -- + -- End Of Configurable Part -- */ // don't give warnings for uninitialized vars @@ -60,566 +69,585 @@ set_magic_quotes_runtime(0); // if there are some plugins or skins to import, do not include vars // in globalfunctions.php again... so set a flag if ((count($aConfPlugsToInstall) > 0) || (count($aConfSkinsToImport) > 0) ) { - global $CONF; - $CONF['installscript'] = 1; + global $CONF; + $CONF['installscript'] = 1; } if (phpversion() >= '4.1.0') { - include_once('nucleus/libs/vars4.1.0.php'); + include_once('nucleus/libs/vars4.1.0.php'); } else { - include_once('nucleus/libs/vars4.0.6.php'); + include_once('nucleus/libs/vars4.0.6.php'); } +// include core classes that are needed for login & plugin handling +// added for 3.5 sql_* wrapper +global $MYSQL_HANDLER; +//set the handler if different from mysql (or mysqli) +//$MYSQL_HANDLER = array('pdo','mysql'); +if (!isset($MYSQL_HANDLER)) + $MYSQL_HANDLER = array('mysql',''); +include_once('nucleus/libs/sql/'.$MYSQL_HANDLER[0].'.php'); +// end new for 3.5 sql_* wrapper include_once('nucleus/libs/mysql.php'); // check if mysql support is installed - if (!function_exists('mysql_query') ) { - _doError(_ERROR1); - } +// this check may not make sense, as is, in a version past 3.5x + if (!function_exists('mysql_query') ) { + _doError(_ERROR1); + } - if (postVar('action') == 'go') { - doInstall(); - } else { - showInstallForm(); - } + if (postVar('action') == 'go') { + doInstall(); + } else { + showInstallForm(); + } exit; function showInstallForm() { - // 0. pre check if all necessary files exist - doCheckFiles(); - - ?> - - -
- -+ + + 0) { - showErrorMessages($errors); - } - - // 2-1. try to log in to mySQL - global $MYSQL_CONN; - $MYSQL_CONN = @mysql_connect($mysql_host, $mysql_user, $mysql_password); - - if ($MYSQL_CONN == false) { - _doError(_ERROR15 . ': ' . mysql_error() ); - } - -/*/
"; + for ($idx = 0; $idx < $count; $idx++) { + $query = trim($queries[$idx]); + // echo "QUERY = " . htmlspecialchars($query) . "
";
- if ($query) {
+ if ($query) {
- if ($mysql_usePrefix == 1) {
- $query = str_replace($aTableNames, $aTableNamesPrefixed, $query);
- }
-/*/
- ' . _TITLE2 . '
';
- echo '
';
- }
-
- if (!$bConfigWritten) { ?>
-
-
- echo _TEXT10; ?>
-
- <?php
- // mySQL connection information
- $MYSQL_HOST = '';
- $MYSQL_USER = '';
- $MYSQL_PASSWORD = 'xxxxxxxxxxx';
- $MYSQL_DATABASE = '';
- $MYSQL_PREFIX = '';
-
- // main nucleus directory
- $DIR_NUCLEUS = '';
-
- // path to media dir
- $DIR_MEDIA = '';
-
- // extra skin files for imported skins
- $DIR_SKINS = '';
-
- // these dirs are normally sub dirs of the nucleus dir, but
- // you can redefine them if you wish
- $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';
- $DIR_LANG = $DIR_NUCLEUS . 'language/';
- $DIR_LIBS = $DIR_NUCLEUS . 'libs/';
-
- // include libs
- include($DIR_LIBS . 'globalfunctions.php');
- if (!extension_loaded('mbstring')) {
- include($DIR_LIBS . 'mb_emulator/mb-emulator.php');
- }
+ $aAllErrors = array_merge($aSkinErrors, $aPlugErrors);
+
+ if (count($aAllErrors) > 0) {
+ echo '
' . _TITLE2 . '
';
+ echo '
';
+ }
+
+ if (!$bConfigWritten) { ?>
+
+
+ echo _TEXT10; ?>
+
+
-
+
- <?php
+ // mySQL connection information
+ $MYSQL_HOST = '';
+ $MYSQL_USER = '';
+ $MYSQL_PASSWORD = 'xxxxxxxxxxx';
+ $MYSQL_DATABASE = '';
+ $MYSQL_PREFIX = '';
+
+ // main nucleus directory
+ $DIR_NUCLEUS = '';
+
+ // path to media dir
+ $DIR_MEDIA = '';
+
+ // extra skin files for imported skins
+ $DIR_SKINS = '';
+
+ // these dirs are normally sub dirs of the nucleus dir, but
+ // you can redefine them if you wish
+ $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';
+ $DIR_LANG = $DIR_NUCLEUS . 'language/';
+ $DIR_LIBS = $DIR_NUCLEUS . 'libs/';
+
+ // include libs
+ include($DIR_LIBS . 'globalfunctions.php');
+ if (!extension_loaded('mbstring')) {
+ include($DIR_LIBS . 'mb_emulator/mb-emulator.php');
+ }
?>
-
-
-
+
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
+ @@ -941,129 +979,133 @@ function doInstall() { } function installCustomPlugs(&$manager) { - global $aConfPlugsToInstall, $DIR_LIBS; + global $aConfPlugsToInstall, $DIR_LIBS; - $aErrors = array(); + $aErrors = array(); - if (count($aConfPlugsToInstall) == 0) { - return $aErrors; - } + if (count($aConfPlugsToInstall) == 0) { + return $aErrors; + } - $res = sql_query('SELECT * FROM ' . sql_table('plugin') ); - $numCurrent = mysql_num_rows($res); + $res = sql_query('SELECT * FROM ' . sql_table('plugin') ); + $numCurrent = sql_num_rows($res); - foreach ($aConfPlugsToInstall as $plugName) { - // do this before calling getPlugin (in case the plugin id is used there) - $query = 'INSERT INTO ' . sql_table('plugin') . ' (porder, pfile) VALUES (' . (++$numCurrent) . ', "' . addslashes($plugName) . '")'; - sql_query($query); + foreach ($aConfPlugsToInstall as $plugName) { + // do this before calling getPlugin (in case the plugin id is used there) + $query = 'INSERT INTO ' . sql_table('plugin') . ' (porder, pfile) VALUES (' . (++$numCurrent) . ', "' . addslashes($plugName) . '")'; + sql_query($query); - // get and install the plugin - $manager->clearCachedInfo('installedPlugins'); - $plugin =& $manager->getPlugin($plugName); - $plugin->plugid = $numCurrent; + // get and install the plugin + $manager->clearCachedInfo('installedPlugins'); + $plugin =& $manager->getPlugin($plugName); + $plugin->plugid = $numCurrent; - if (!$plugin) { - sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pfile=\'' . addslashes($plugName) . '\''); - $numCurrent--; - array_push($aErrors, _ERROR22 . $plugName); - continue; - } + if (!$plugin) { + sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pfile=\'' . addslashes($plugName) . '\''); + $numCurrent--; + array_push($aErrors, _ERROR22 . $plugName); + continue; + } - $plugin->install(); - } + $plugin->install(); + } - // SYNC PLUGIN EVENT LIST - sql_query('DELETE FROM ' . sql_table('plugin_event') ); + // SYNC PLUGIN EVENT LIST + sql_query('DELETE FROM ' . sql_table('plugin_event') ); - // loop over all installed plugins - $res = sql_query('SELECT pid, pfile FROM ' . sql_table('plugin') ); + // loop over all installed plugins + $res = sql_query('SELECT pid, pfile FROM ' . sql_table('plugin') ); - while($o = mysql_fetch_object($res) ) { - $pid = $o->pid; - $plug =& $manager->getPlugin($o->pfile); + while($o = sql_fetch_object($res) ) { + $pid = $o->pid; + $plug =& $manager->getPlugin($o->pfile); - if ($plug) { - $eventList = $plug->getEventList(); + if ($plug) { + $eventList = $plug->getEventList(); - foreach ($eventList as $eventName) { - sql_query('INSERT INTO ' . sql_table('plugin_event') . ' (pid, event) VALUES (' . $pid . ', \'' . $eventName . '\')'); - } - } - } + foreach ($eventList as $eventName) { + sql_query('INSERT INTO ' . sql_table('plugin_event') . ' (pid, event) VALUES (' . $pid . ', \'' . $eventName . '\')'); + } + } + } - return $aErrors; + return $aErrors; } function installCustomSkins(&$manager) { - global $aConfSkinsToImport, $DIR_LIBS, $DIR_SKINS; + global $aConfSkinsToImport, $DIR_LIBS, $DIR_SKINS; $aErrors = array(); - - if (count($aConfSkinsToImport) == 0) { - return $aErrors; + global $manager; + if (empty($manager)) { + $manager = new MANAGER; } - // load skinie class - include_once($DIR_LIBS . 'skinie.php'); + if (count($aConfSkinsToImport) == 0) { + return $aErrors; + } - $importer = new SKINIMPORT(); + // load skinie class + include_once($DIR_LIBS . 'skinie.php'); - foreach ($aConfSkinsToImport as $skinName) { - $importer->reset(); - $skinFile = $DIR_SKINS . $skinName . '/skinbackup.xml'; + $importer = new SKINIMPORT(); - if (!@file_exists($skinFile) ) { - array_push($aErrors, _ERROR23_1 . $skinFile . ' : ' . _ERROR23_2); - continue; - } + foreach ($aConfSkinsToImport as $skinName) { + $importer->reset(); + $skinFile = $DIR_SKINS . $skinName . '/skinbackup.xml'; - $error = $importer->readFile($skinFile); + if (!@file_exists($skinFile) ) { + array_push($aErrors, _ERROR23_1 . $skinFile . ' : ' . _ERROR23_2); + continue; + } - if ($error) { - array_push($aErrors, _ERROR24 . $skinName . ' : ' . $error); - continue; - } + $error = $importer->readFile($skinFile); - $error = $importer->writeToDatabase(1); + if ($error) { + array_push($aErrors, _ERROR24 . $skinName . ' : ' . $error); + continue; + } - if ($error) { - array_push($aErrors, _ERROR24 . $skinName . ' : ' . $error); - continue; - } - } + $error = $importer->writeToDatabase(1); + + if ($error) { + array_push($aErrors, _ERROR24 . $skinName . ' : ' . $error); + continue; + } + } - return $aErrors; + return $aErrors; } // give an error if one or more nucleus are not accessible function doCheckFiles() { - $missingfiles = array(); - $files = array( - 'install.sql', - 'index.php', - 'action.php', - 'nucleus/index.php', - 'nucleus/libs/globalfunctions.php', - 'nucleus/libs/ADMIN.php', - 'nucleus/libs/BLOG.php', - 'nucleus/libs/COMMENT.php', - 'nucleus/libs/COMMENTS.php', - 'nucleus/libs/ITEM.php', - 'nucleus/libs/MEMBER.php', - 'nucleus/libs/SKIN.php', - 'nucleus/libs/TEMPLATE.php', - 'nucleus/libs/MEDIA.php', - 'nucleus/libs/ACTIONLOG.php', - 'nucleus/media.php' - ); - - $count = count($files); - - for ($i = 0; $i < $count; $i++) { - if (!is_readable($files[$i]) ) { - array_push($missingfiles, _ERROR25_1 . $files[$i] . _ERROR25_2); - } - } + $missingfiles = array(); + $files = array( + 'install.sql', + 'index.php', + 'action.php', + 'nucleus/index.php', + 'nucleus/libs/globalfunctions.php', + 'nucleus/libs/ADMIN.php', + 'nucleus/libs/BLOG.php', + 'nucleus/libs/COMMENT.php', + 'nucleus/libs/COMMENTS.php', + 'nucleus/libs/ITEM.php', + 'nucleus/libs/MEMBER.php', + 'nucleus/libs/SKIN.php', + 'nucleus/libs/TEMPLATE.php', + 'nucleus/libs/MEDIA.php', + 'nucleus/libs/ACTIONLOG.php', + 'nucleus/media.php' + ); + + $count = count($files); + + for ($i = 0; $i < $count; $i++) { + if (!is_readable($files[$i]) ) { + array_push($missingfiles, _ERROR25_1 . $files[$i] . _ERROR25_2); + } + } // The above code replaces several if statements of the form: @@ -1071,40 +1113,41 @@ function doCheckFiles() { // array_push($missingfiles, 'File install.sql is missing or not readable'); // } - if (count($missingfiles) > 0) { - showErrorMessages($missingfiles); - } + if (count($missingfiles) > 0) { + showErrorMessages($missingfiles); + } } function updateConfig($name, $val) { - $name = addslashes($name); - $val = trim(addslashes($val) ); + global $MYSQL_CONN; + $name = addslashes($name); + $val = trim(addslashes($val) ); - $query = 'UPDATE ' . tableName('nucleus_config') - . " SET value = '$val'" - . " WHERE name = '$name'"; + $query = 'UPDATE ' . tableName('nucleus_config') + . " SET value = '$val'" + . " WHERE name = '$name'"; - mysql_query($query) or _doError(_ERROR26 . ': ' . mysql_error() ); - return mysql_insert_id(); + sql_query($query,$MYSQL_CONN) or _doError(_ERROR26 . ': ' . sql_error($MYSQL_CONN) ); + return sql_insert_id($MYSQL_CONN); } function replaceDoubleBackslash($input) { - return str_replace('\\', '/', $input); + return str_replace('\\', '/', $input); } function endsWithSlash($s) { - return (strrpos($s, '/') == strlen($s) - 1); + return (strrpos($s, '/') == strlen($s) - 1); } /** * Checks if email address is valid */ function _isValidMailAddress($address) { - if (preg_match("/^[a-zA-Z0-9\._-]+@+[A-Za-z0-9\._-]+\.+[A-Za-z]{2,4}$/", $address) ) { - return 1; - } else { - return 0; - } + if (preg_match("/^[a-zA-Z0-9\._-]+@+[A-Za-z0-9\._-]+\.+[A-Za-z]{2,4}$/", $address) ) { + return 1; + } else { + return 0; + } } // returns true if the given string is a valid shortname @@ -1112,11 +1155,11 @@ function _isValidMailAddress($address) { // logic: starts and ends with a non space, can contain spaces in between // min 2 chars function _isValidShortName($name) { - if (eregi("^[a-z0-9]+$", $name) ) { - return 1; - } else { - return 0; - } + if (eregi("^[a-z0-9]+$", $name) ) { + return 1; + } else { + return 0; + } } @@ -1124,67 +1167,67 @@ function _isValidShortName($name) { // returns true if the given string is a valid display name // (to check nicknames) function _isValidDisplayName($name) { - if (eregi("^[a-z0-9]+[a-z0-9 ]*[a-z0-9]+$", $name) ) { - return 1; - } else { - return 0; - } + if (eregi("^[a-z0-9]+[a-z0-9 ]*[a-z0-9]+$", $name) ) { + return 1; + } else { + return 0; + } } function _doError($msg) { - ?> + ?> - -: "";
+"";
- + + ?> - -:
+:
-