X-Git-Url: http://git.sourceforge.jp/view?p=nucleus-jp%2Fnucleus-jp-ancient.git;a=blobdiff_plain;f=euc%2Finstall.php;h=aa2a9fbfcd57534b2ea06350ac6d941d2f8cce30;hp=47d354d3d243c98461edd6ec627f73894f807198;hb=eb2773e9ff1aa431c39726208a3d06db87128f99;hpb=d4d9ab10bb515ac1c787d809a995c121f7f4a3be diff --git a/euc/install.php b/euc/install.php index 47d354d..aa2a9fb 100755 --- a/euc/install.php +++ b/euc/install.php @@ -1,985 +1,977 @@ -
"; - 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"; + $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'); +?> ++ +
¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î¥Õ¥¡¥¤¥ë¤ò½ñ¤´¹¤¨¤¿¤é¡¢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 +
+ + +