If you see this text in your browser when you open install.php, your web server is not able to run PHP-scripts, and therefor Nucleus will not be able to run there.
0) || (count($aConfSkinsToImport) > 0) ) { global $CONF; $CONF['installscript'] = 1; } if (phpversion() >= '4.1.0') { include_once('../nucleus/libs/vars4.1.0.php'); } else { 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 // 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(); } exit; function showInstallForm() { // 0. pre check if all necessary files exist doCheckFiles(); ?> <?php echo _TITLE; ?>

()


()

()

()

()
()

()

0) { showErrorMessages($errors); } // 2-1. try to log in to mySQL global $MYSQL_CONN; // this will need to be changed if we ever allow $MYSQL_CONN = @sql_connect_args($mysql_host, $mysql_user, $mysql_password); if ($MYSQL_CONN == false) { _doError(_ERROR15 . ': ' . sql_error() ); } // // 2-2. set DEFAULT CHARSET and COLLATE $mySqlVer = implode('.', array_map('intval', explode('.', sql_get_server_info($MYSQL_CONN)))); if ($mySqlVer >= '5.0.7' && phpversion() >= '5.2.3') { mysql_set_charset($charset); } elseif ($mySqlVer >= '4.1.0') { sql_query("SET NAMES " . $charset); } $collation = ($charset == 'utf8') ? 'utf8_unicode_ci' : 'ujis_japanese_ci'; // */ // 3. try to create database (if needed) if ($mysql_create == 1) { $sql = 'CREATE DATABASE ' . $mysql_database; // if ($mySqlVer >= '4.1.0') { $sql .= ' DEFAULT CHARACTER SET ' . $charset . ' COLLATE ' . $collation; } // */ sql_query($sql,$MYSQL_CONN) or _doError(_ERROR16 . ': ' . sql_error($MYSQL_CONN)); } // 4. try to select database sql_select_db($mysql_database,$MYSQL_CONN) or _doError(_ERROR17); // 5. execute queries $filename = 'install.sql'; $fd = fopen($filename, 'r'); $queries = fread($fd, filesize($filename) ); fclose($fd); $queries = split("(;\n|;\r)", $queries); $aTableNames = array( 'nucleus_actionlog', 'nucleus_ban', 'nucleus_blog', 'nucleus_category', 'nucleus_comment', 'nucleus_config', 'nucleus_item', 'nucleus_karma', 'nucleus_member', 'nucleus_plugin', 'nucleus_skin', 'nucleus_template', 'nucleus_team', 'nucleus_activation', 'nucleus_tickets' ); // these are unneeded (one of the replacements above takes care of them) // 'nucleus_plugin_event', // 'nucleus_plugin_option', // 'nucleus_plugin_option_desc', // 'nucleus_skin_desc', // 'nucleus_template_desc', $aTableNamesPrefixed = array( $mysql_prefix . 'nucleus_actionlog', $mysql_prefix . 'nucleus_ban', $mysql_prefix . 'nucleus_blog', $mysql_prefix . 'nucleus_category', $mysql_prefix . 'nucleus_comment', $mysql_prefix . 'nucleus_config', $mysql_prefix . 'nucleus_item', $mysql_prefix . 'nucleus_karma', $mysql_prefix . 'nucleus_member', $mysql_prefix . 'nucleus_plugin', $mysql_prefix . 'nucleus_skin', $mysql_prefix . 'nucleus_template', $mysql_prefix . 'nucleus_team', $mysql_prefix . 'nucleus_activation', $mysql_prefix . 'nucleus_tickets' ); // these are unneeded (one of the replacements above takes care of them) // $mysql_prefix . 'nucleus_plugin_event', // $mysql_prefix . 'nucleus_plugin_option', // $mysql_prefix . 'nucleus_plugin_option_desc', // $mysql_prefix . 'nucleus_skin_desc', // $mysql_prefix . 'nucleus_template_desc', $count = count($queries); for ($idx = 0; $idx < $count; $idx++) { $query = trim($queries[$idx]); // echo "QUERY = " . htmlspecialchars($query) . "

"; if ($query) { if ($mysql_usePrefix == 1) { $query = str_replace($aTableNames, $aTableNamesPrefixed, $query); } // if ($mysql_create != 1 && strpos($query, 'CREATE TABLE') === 0 && $mySqlVer >= '4.1.0') { $query .= ' DEFAULT CHARACTER SET ' . $charset . ' COLLATE ' . $collation; } // */ sql_query($query,$MYSQL_CONN) or _doError(_ERROR30 . ' (' . htmlspecialchars($query) . '): ' . sql_error($MYSQL_CONN) ); } } // 5a make first post if ($charset == 'ujis') { $itm_title = mb_convert_encoding(_1ST_POST_TITLE, _CHARSET, 'UTF-8'); $itm_body = mb_convert_encoding(_1ST_POST, _CHARSET, 'UTF-8'); $itm_more = mb_convert_encoding(_1ST_POST2, _CHARSET, 'UTF-8'); } else { $itm_title = _1ST_POST_TITLE; $itm_body = _1ST_POST; $itm_more = _1ST_POST2; } $newpost = "INSERT INTO " . tableName('nucleus_item') . " VALUES (" . "1, " . "'" . $itm_title . "'," . " '" . $itm_body . "'," . " '" . $itm_more . "'," . " 1, 1, '2005-08-15 11:04:26', 0, 0, 0, 1, 0, 1);"; sql_query($newpost,$MYSQL_CONN) or _doError(_ERROR18 . ' (' . htmlspecialchars($newpost) . '): ' . sql_error($MYSQL_CONN) ); // 6. update global settings updateConfig('IndexURL', $config_indexurl); updateConfig('AdminURL', $config_adminurl); updateConfig('MediaURL', $config_mediaurl); updateConfig('SkinsURL', $config_skinsurl); updateConfig('PluginURL', $config_pluginurl); updateConfig('ActionURL', $config_actionurl); updateConfig('AdminEmail', $config_adminemail); updateConfig('SiteName', $config_sitename); if ($charset == 'ujis') { updateConfig('Language', 'japanese-euc'); } // 7. update GOD member $query = 'UPDATE ' . tableName('nucleus_member') . " SET mname = '" . addslashes($user_name) . "'," . " mrealname = '" . addslashes($user_realname) . "'," . " mpassword = '" . md5(addslashes($user_password) ) . "'," . " murl = '" . addslashes($config_indexurl) . "'," . " memail = '" . addslashes($user_email) . "'," . " madmin = 1," . " mcanlogin = 1" . " WHERE" . " mnumber = 1"; sql_query($query,$MYSQL_CONN) or _doError(_ERROR19 . ': ' . sql_error($MYSQL_CONN) ); // 8. update weblog settings $query = 'UPDATE ' . tableName('nucleus_blog') . " SET bname = '" . addslashes($blog_name) . "'," . " bshortname = '" . addslashes($blog_shortname) . "'," . " burl = '" . addslashes($config_indexurl) . "'" . " WHERE" . " bnumber = 1"; sql_query($query,$MYSQL_CONN) or _doError(_ERROR20 . ': ' . sql_error($MYSQL_CONN) ); // 8-2. update category settings if ($charset == 'ujis') { $cat_name = mb_convert_encoding(_GENERALCAT_NAME, _CHARSET, 'UTF-8'); $cat_desc = mb_convert_encoding(_GENERALCAT_DESC, _CHARSET, 'UTF-8'); } else { $cat_name = _GENERALCAT_NAME; $cat_desc = _GENERALCAT_DESC; } $query = 'UPDATE ' . tableName('nucleus_category') . " SET cname = '" . $cat_name . "'," . " cdesc = '" . $cat_desc . "'" . " WHERE" . " catid = 1"; sql_query($query,$MYSQL_CONN) or _doError(_ERROR20 . ': ' . sql_error($MYSQL_CONN) ); // 9. update item date $query = 'UPDATE ' . tableName('nucleus_item') . " SET itime = '" . date('Y-m-d H:i:s', time() ) ."'" . " WHERE inumber = 1"; sql_query($query,$MYSQL_CONN) or _doError(_ERROR21 . ': ' . sql_error($MYSQL_CONN) ); global $aConfPlugsToInstall, $aConfSkinsToImport; $aSkinErrors = array(); $aPlugErrors = array(); if ((count($aConfPlugsToInstall) > 0) || (count($aConfSkinsToImport) > 0) ) { // 10. set global variables global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_PREFIX; $MYSQL_HOST = $mysql_host; $MYSQL_USER = $mysql_user; $MYSQL_PASSWORD = $mysql_password; $MYSQL_DATABASE = $mysql_database; $MYSQL_PREFIX = ($mysql_usePrefix == 1) ? $mysql_prefix : ''; global $DIR_NUCLEUS, $DIR_MEDIA, $DIR_SKINS, $DIR_PLUGINS, $DIR_LANG, $DIR_LIBS; $DIR_NUCLEUS = $config_adminpath; $DIR_MEDIA = $config_mediapath; $DIR_SKINS = $config_skinspath; $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/'; $DIR_LANG = $DIR_NUCLEUS . 'language/'; $DIR_LIBS = $DIR_NUCLEUS . 'libs/'; // close database connection (needs to be closed if we want to include globalfunctions.php) sql_close($MYSQL_CONN); $manager = ''; include_once($DIR_LIBS . 'globalfunctions.php'); // 11. install custom skins $aSkinErrors = installCustomSkins($manager); $defskinQue = 'SELECT `sdnumber` as result FROM ' . sql_table('skin_desc') . ' WHERE `sdname` = "default"'; $defSkinID = quickQuery($defskinQue); $updateQuery = 'UPDATE ' . sql_table('blog') . ' SET `bdefskin` = ' . intval($defSkinID) . ' WHERE `bnumber` = 1'; sql_query($updateQuery); $updateQuery = 'UPDATE ' . sql_table('config') . ' SET `value` = ' . intval($defSkinID). ' WHERE `name` = "BaseSkin"'; sql_query($updateQuery); // 12. install NP_Ping, if decided if ($weblog_ping == 1) { global $aConfPlugsToInstall; array_push($aConfPlugsToInstall, "NP_Ping"); } // 13. install custom plugins $aPlugErrors = installCustomPlugs($manager); } // 14. Write config file ourselves (if possible) $bConfigWritten = 0; if (@file_exists('../config.php') && is_writable('../config.php') && $fp = @fopen('../config.php', 'w') ) { $config_data = '<' . '?php' . "\n\n"; //$config_data .= "\n"; (extraneous, just added extra \n to previous line $config_data .= " // mySQL connection information\n"; $config_data .= " \$MYSQL_HOST = '" . $mysql_host . "';\n"; $config_data .= " \$MYSQL_USER = '" . $mysql_user . "';\n"; $config_data .= " \$MYSQL_PASSWORD = '" . $mysql_password . "';\n"; $config_data .= " \$MYSQL_DATABASE = '" . $mysql_database . "';\n"; $config_data .= " \$MYSQL_PREFIX = '" . (($mysql_usePrefix == 1) ? $mysql_prefix : '') . "';\n"; $config_data .= " // new in 3.50. first element is db handler, the second is the db driver used by the handler\n"; $config_data .= " // default is \$MYSQL_HANDLER = array('mysql','mysql');\n"; $config_data .= " //\$MYSQL_HANDLER = array('mysql','mysql');\n"; $config_data .= " //\$MYSQL_HANDLER = array('pdo','mysql');\n"; $config_data .= " \$MYSQL_HANDLER = array('".$MYSQL_HANDLER[0]."','".$MYSQL_HANDLER[1]."');\n"; $config_data .= "\n"; $config_data .= " // main nucleus directory\n"; $config_data .= " \$DIR_NUCLEUS = '" . $config_adminpath . "';\n"; $config_data .= "\n"; $config_data .= " // path to media dir\n"; $config_data .= " \$DIR_MEDIA = '" . $config_mediapath . "';\n"; $config_data .= "\n"; $config_data .= " // extra skin files for imported skins\n"; $config_data .= " \$DIR_SKINS = '" . $config_skinspath . "';\n"; $config_data .= "\n"; $config_data .= " // these dirs are normally sub dirs of the nucleus dir, but \n"; $config_data .= " // you can redefine them if you wish\n"; $config_data .= " \$DIR_PLUGINS = \$DIR_NUCLEUS . 'plugins/';\n"; $config_data .= " \$DIR_LANG = \$DIR_NUCLEUS . 'language/';\n"; $config_data .= " \$DIR_LIBS = \$DIR_NUCLEUS . 'libs/';\n"; $config_data .= "\n"; $config_data .= " // include libs\n"; $config_data .= " include(\$DIR_LIBS . 'globalfunctions.php');\n"; $config_data .= " if (!extension_loaded('mbstring')) {\n"; $config_data .= " include(\$DIR_LIBS . 'mb_emulator/mb-emulator.php');\n"; $config_data .= " }\n"; $config_data .= "?" . ">"; $result = @fputs($fp, $config_data, strlen($config_data) ); fclose($fp); if ($result) { $bConfigWritten = 1; } } ?> <?php echo _TITLE; ?>

0) { echo '

' . _TITLE2 . '

'; echo ''; } if (!$bConfigWritten) { ?>

<?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');
	}
?>

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; } $plugin->install(); } // 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') ); while($o = sql_fetch_object($res) ) { $pid = $o->pid; $plug =& $manager->getPlugin($o->pfile); if ($plug) { $eventList = $plug->getEventList(); foreach ($eventList as $eventName) { sql_query('INSERT INTO ' . sql_table('plugin_event') . ' (pid, event) VALUES (' . $pid . ', \'' . $eventName . '\')'); } } } return $aErrors; } function installCustomSkins(&$manager) { global $aConfSkinsToImport, $DIR_LIBS, $DIR_SKINS; $aErrors = array(); global $manager; if (empty($manager)) { $manager = new MANAGER; } if (count($aConfSkinsToImport) == 0) { return $aErrors; } // load skinie class include_once($DIR_LIBS . 'skinie.php'); $importer = new SKINIMPORT(); foreach ($aConfSkinsToImport as $skinName) { $importer->reset(); $skinFile = $DIR_SKINS . $skinName . '/skinbackup.xml'; if (!@file_exists($skinFile) ) { array_push($aErrors, _ERROR23_1 . $skinFile . ' : ' . _ERROR23_2); continue; } $error = $importer->readFile($skinFile); if ($error) { array_push($aErrors, _ERROR24 . $skinName . ' : ' . $error); continue; } $error = $importer->writeToDatabase(1); if ($error) { array_push($aErrors, _ERROR24 . $skinName . ' : ' . $error); continue; } } 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); } } // The above code replaces several if statements of the form: // if (!is_readable('install.sql') ) { // array_push($missingfiles, 'File install.sql is missing or not readable'); // } if (count($missingfiles) > 0) { showErrorMessages($missingfiles); } } function updateConfig($name, $val) { global $MYSQL_CONN; $name = addslashes($name); $val = trim(addslashes($val) ); $query = 'UPDATE ' . tableName('nucleus_config') . " SET value = '$val'" . " WHERE name = '$name'"; 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); } function endsWithSlash($s) { 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; } } // returns true if the given string is a valid shortname // (to check short blog names and nicknames) // 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; } } // 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; } } function _doError($msg) { ?> <?php echo _TITLE; ?>

"";

<?php echo _TITLE; ?>

: