static function set() { $func_args = func_get_args(); $value = array_pop($func_args); $type = array_shift($func_args); ConfigHandler::backup($type); $file = ConfigHandler::file($type); $data = ''; if ($type === null) { if ($value && $value['auth_key']) { ksort($value); $keeps = array('acceleration_mode' => 1, 'charset' => 1, 'db_host' => 1, 'db_port' => 1, 'db_name' => 1, 'db_user' => 1, 'db_pass' => 1, 'db_table_prefix' => 1, 'db_slave' => 1, 'jishigou_founder' => 1, 'setting_from_db' => 1); foreach ($keeps as $k => $v) { if ($v && isset($value[$k]) && $value[$k] != $GLOBALS['_J']['config'][$k]) { $value[$k] = $GLOBALS['_J']['config'][$k]; } } ConfigHandler::db(null, $value); $data = "<?php \r\n \r\n\t\t\t\t\r\n \$config = " . var_export(ConfigHandler::core_settings($value, array(), 'local'), true) . "; \r\n?>"; } } else { global $_J; $config = ConfigHandler::get($type); $path_str = ''; foreach ($func_args as $arg) { $arg = str_replace(array(';', '"', "'"), '', $arg); $path_str .= "['{$arg}']"; } eval($value === null ? 'unset($config' . $path_str . ');' : '$config' . $path_str . '=$value;'); if (!is_null($config) && $_J['config'][$type] != $config) { $_J['config'][$type] = $config; ConfigHandler::db($type, $config); $data = "<?php \r\n \r\n\t\t\t\t\r\n \$config['{$type}'] = " . var_export($config, true) . "; \r\n?>"; } } if ($data) { $len = jio()->WriteFile($file, $data); if (false === $len) { die($file . " 文件无法写入,请检查是否有可写权限。"); } } return $len; }