X-Git-Url: http://git.sourceforge.jp/view?p=nucleus-jp%2Fnucleus-jp-ancient.git;a=blobdiff_plain;f=euc%2Finstall.php;h=8af4d25f49a94512cbcc9b8ea978d87d26a81193;hp=d6ffea5e8e6a586285d95e55434080ef964659cd;hb=216a268121188588eaf03ac50568b6277a4908ff;hpb=b6f2ea9a88813bd6253a422c5f938fc02e0decb5 diff --git a/euc/install.php b/euc/install.php index d6ffea5..8af4d25 100755 --- a/euc/install.php +++ b/euc/install.php @@ -1,984 +1,1077 @@ -
"; - if ($query) { - if ($mysql_usePrefix == 1) - $query = str_replace($aTableNames, $aTableNamesPrefixed, $query); - mysql_query($query) or _doError("Error while executing query (" . htmlspecialchars($query) . "): " . mysql_error()); - } - - } - - // 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); - - - // 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"; - mysql_query($query) or _doError("Error while setting member settings: " . mysql_error()); - - // 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"; - mysql_query($query) or _doError("Error while setting weblog settings: " . mysql_error()); - - // 9. update item date - $query = 'UPDATE ' . tableName('nucleus_item') - . " SET itime='". date("Y-m-d H:i:s",time()) ."'" - . " WHERE inumber=1"; - mysql_query($query) or _doError("Error with query: " . mysql_error()); - - 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) - mysql_close(); - - $manager = ''; - include_once($DIR_LIBS . 'globalfunctions.php'); - - // 11. install custom skins - $aSkinErrors = installCustomSkins($manager); - - // 12. install custom plugins - $aPlugErrors = installCustomPlugs($manager); - - } - - - // 12. 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"; - $config_data .= "\n"; - $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 .= "\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; - } - - ?> - - -
- -- ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤Î½é´üÃÍÆþÎϤ¬À®¸ù¤·¤Þ¤·¤¿¡£¸å¤Ïconfig.php¤ò½ñ¤´¹¤¨¤ë¤À¤±¤Ç¤¹¡£°Ê²¼¤Ë½ñ¤´¹¤¨¤ë¤Ù¤ÆâÍƤòɽ¼¨¤·¤Þ¤¹¡Êmysql¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ï¼ÂºÝ¤Î¤â¤Î¤Ë½ñ¤´¹¤¨¤Æ¤¯¤À¤µ¤¤¡Ë -
- --<?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'); - } -?> -- -
¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î¥Õ¥¡¥¤¥ë¤ò½ñ¤´¹¤¨¤¿¤é¡¢FTP¤ò»È¤Ã¤Æ¥¦¥§¥Ö¥µ¡¼¥Ð¤Ë¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£ASCII¥â¡¼¥É¤ÇÁ÷¿®¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¤·¤Þ¤¹¡£ -
- -Nucleus¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢config.php
¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Þ¤·¤¿¡£
¥»¥¥å¥ê¥Æ¥£¤Î¤¿¤áconfig.php
¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò444¤ËÌ᤹¤³¤È¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤(¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÊѹ¹¤Î´Ê°×¥¬¥¤¥É)¡£
¥¦¥§¥Ö¥µ¡¼¥Ð¤«¤é¼¡¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡§
- -¤â¤·¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢´ÉÍýÎΰè¤ò³«¤¯¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
- -- ¥¦¥§¥Ö¥µ¥¤¥È¤ò»È¤¦½àÈ÷¤¬À°¤¤¤Þ¤·¤¿¡£ -
- - - - - getPlugin($plugName); - if (!$plugin) { - sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pfile=\''. addslashes($plugName).'\''); - $numCurrent--; - array_push($aErrors, 'Unable to install plugin ' . $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 = mysql_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(); - - 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, 'Unable to import ' . $skinFile . ' : file does not exist'); - continue; - } - $error = $importer->readFile($skinFile); - if ($error) { - array_push($aErrors, 'Unable to import ' . $skinName . ' : ' . $error); - continue; - } - $error = $importer->writeToDatabase(1); - if ($error) { - array_push($aErrors, 'Unable to import ' . $skinName . ' : ' . $error); - continue; - } - } - - return $aErrors; - } - - // give an error if one or more nucleus are not accessible - function doCheckFiles() { - $missingfiles = array(); - - if (!is_readable('install.sql')) - array_push($missingfiles, "File install.sql is missing or not readable"); - if (!is_readable('index.php')) - array_push($missingfiles, "File index.php is missing or not readable"); - if (!is_readable('action.php')) - array_push($missingfiles, "File action.php is missing or not readable"); - if (!is_readable('nucleus/index.php')) - array_push($missingfiles, "File nucleus/index.php is missing or not readable"); - if (!is_readable('nucleus/libs/globalfunctions.php')) - array_push($missingfiles, "File nucleus/libs/globalfunctions.php is missing or not readable"); - if (!is_readable('nucleus/libs/ADMIN.php')) - array_push($missingfiles, "File nucleus/libs/ADMIN.php is missing or not readable"); - if (!is_readable('nucleus/libs/BLOG.php')) - array_push($missingfiles, "File nucleus/libs/BLOG.php is missing or not readable"); - if (!is_readable('nucleus/libs/COMMENT.php')) - array_push($missingfiles, "File nucleus/libs/COMMENT.php is missing or not readable"); - if (!is_readable('nucleus/libs/COMMENTS.php')) - array_push($missingfiles, "File nucleus/libs/COMMENTS.php is missing or not readable"); - if (!is_readable('nucleus/libs/ITEM.php')) - array_push($missingfiles, "File nucleus/libs/ITEM.php is missing or not readable"); - if (!is_readable('nucleus/libs/MEMBER.php')) - array_push($missingfiles, "File nucleus/libs/MEMBER.php is missing or not readable"); - if (!is_readable('nucleus/libs/SKIN.php')) - array_push($missingfiles, "File nucleus/libs/SKIN.php is missing or not readable"); - if (!is_readable('nucleus/libs/TEMPLATE.php')) - array_push($missingfiles, "File nucleus/libs/TEMPLATE.php is missing or not readable"); - if (!is_readable('nucleus/libs/MEDIA.php')) - array_push($missingfiles, "File nucleus/libs/MEDIA.php is missing or not readable"); - if (!is_readable('nucleus/libs/ACTIONLOG.php')) - array_push($missingfiles, "File nucleus/libs/ACTIONLOG.php is missing or not readable"); - if (!is_readable('nucleus/media.php')) - array_push($missingfiles, "File nucleus/media.php is missing or not readable"); - - - if (sizeof($missingfiles) > 0) - showErrorMessages($missingfiles); - - - } - - function updateConfig($name, $val) { - $name = addslashes($name); - $val = trim(addslashes($val)); - - $query = 'UPDATE ' . tableName('nucleus_config') - . " SET value='$val'" - . " WHERE name='$name'"; - - mysql_query($query) or _doError("Query error while trying to update config: " . mysql_error()); - return mysql_insert_id(); - } - - 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) { - ?> - - - - -- Error message was: ""; -
- -- Go Back -
- - - - - - - -- Errors were found: -
- -- Go Back -
- - -"; + + if ($query) { + + if ($mysql_usePrefix == 1) { + $query = str_replace($aTableNames, $aTableNamesPrefixed, $query); + } + + mysql_query($query) or _doError('Error while executing query (' . htmlspecialchars($query) . '): ' . mysql_error() ); + } + } + + // 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); + + // 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"; + + mysql_query($query) or _doError('Error while setting member settings: ' . mysql_error() ); + + // 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"; + + mysql_query($query) or _doError('Error while setting weblog settings: ' . mysql_error() ); + + // 9. update item date + $query = 'UPDATE ' . tableName('nucleus_item') + . " SET itime='" . date('Y-m-d H:i:s', time() ) ."'" + . " WHERE inumber=1"; + + mysql_query($query) or _doError('Error with query: ' . mysql_error() ); + + 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) + mysql_close(); + + $manager = ''; + include_once($DIR_LIBS . 'globalfunctions.php'); + + // 11. install custom skins + $aSkinErrors = installCustomSkins($manager); + + // 12. install custom plugins + $aPlugErrors = installCustomPlugs($manager); + } + + // 12. 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 .= "\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; + } + } + +?> + + +
+ +¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤Î½é´üÃÍÆþÎϤ¬À®¸ù¤·¤Þ¤·¤¿¡£¸å¤Ïconfig.php¤ò½ñ¤´¹¤¨¤ë¤À¤±¤Ç¤¹¡£°Ê²¼¤Ë½ñ¤´¹¤¨¤ë¤Ù¤ÆâÍƤòɽ¼¨¤·¤Þ¤¹¡Êmysql¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ï¼ÂºÝ¤Î¤â¤Î¤Ë½ñ¤´¹¤¨¤Æ¤¯¤À¤µ¤¤¡Ë
+ +<?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');
+ }
+?>
+
+ ¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î¥Õ¥¡¥¤¥ë¤ò½ñ¤´¹¤¨¤¿¤é¡¢FTP¤ò»È¤Ã¤Æ¥¦¥§¥Ö¥µ¡¼¥Ð¤Ë¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£ASCII¥â¡¼¥É¤ÇÁ÷¿®¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤¤·¤Þ¤¹¡£
+ +Nucleus¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢config.php
¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Þ¤·¤¿¡£
¥»¥¥å¥ê¥Æ¥£¤Î¤¿¤áconfig.php
¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò444¤ËÌ᤹¤³¤È¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤(¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÊѹ¹¤Î´Ê°×¥¬¥¤¥É)¡£
¥¦¥§¥Ö¥µ¡¼¥Ð¤«¤é¼¡¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡§
+ +¤â¤·¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢´ÉÍýÎΰè¤ò³«¤¯¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£
+ +¥¦¥§¥Ö¥µ¥¤¥È¤ò»È¤¦½àÈ÷¤¬À°¤¤¤Þ¤·¤¿¡£ +
+ + + + + +getPlugin($plugName); + + if (!$plugin) { + sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pfile=\'' . addslashes($plugName) . '\''); + $numCurrent--; + array_push($aErrors, 'Unable to install plugin ' . $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 = mysql_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(); + + 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, 'Unable to import ' . $skinFile . ' : file does not exist'); + continue; + } + + $error = $importer->readFile($skinFile); + + if ($error) { + array_push($aErrors, 'Unable to import ' . $skinName . ' : ' . $error); + continue; + } + + $error = $importer->writeToDatabase(1); + + if ($error) { + array_push($aErrors, 'Unable to import ' . $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, 'File ' . $files[$i] . ' is missing or not readable.'); + } + } + +// 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) { + $name = addslashes($name); + $val = trim(addslashes($val) ); + + $query = 'UPDATE ' . tableName('nucleus_config') + . " SET value='$val'" + . " WHERE name='$name'"; + + mysql_query($query) or _doError('Query error while trying to update config: ' . mysql_error() ); + return mysql_insert_id(); +} + +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) { + ?> + + + + +Error message was: "";
+ + + + + + + + + + +Errors were found:
+ +