{$configfile}不支持写入,无法修改系统配置参数";
exit();
}
$fp = fopen($configfile, 'w');
flock($fp, 3);
fwrite($fp, "<"."?php\r\n");
$dsql->SetQuery("SELECT `varname`,`type`,`value`,`groupid` FROM `#@__sysconfig` ORDER BY aid ASC ");
$dsql->Execute();
while ($row = $dsql->GetArray()) {
if (empty($row['value']) && $row['type'] == 'number') $row['value'] = 0;
if ($row['type'] == 'number') fwrite($fp, "\${$row['varname']} = ".$row['value'].";\r\n");
else fwrite($fp, "\${$row['varname']} = '".str_replace("'", '', $row['value'])."';\r\n");
}
fwrite($fp, "?".">");
fclose($fp);
}
if ($action == '') {
$types = array('soft' => '模块', 'templets' => '模板', 'plus' => '小插件', 'patch' => '补丁');
$dm = new DedeModule($mdir);
if (empty($moduletype)) $moduletype = '';
$modules_remote = $dm->GetModuleUrlList($moduletype, $mdurl);
$modules = array();
$modules = $dm->GetModuleList($moduletype);
is_array($modules) || $modules = array();
if (is_array($modules_remote) && count($modules_remote) > 0) {
$modules = array_merge($modules, $modules_remote);
}
require_once(dirname(__FILE__)."/templets/module_main.htm");
$dm->Clear();
exit();
} else if ($action == 'view_developoer') {
//检验开发者信息
$dm = new DedeModule($mdir);
$info = $dm->GetModuleInfo($hash);
if ($info == null) {
ShowMsg("获取模块信息错误,模块文件错误", -1);
exit;
}
$dev_id = $info['dev_id'];
$devURL = DEDECDNURL."/developers/$dev_id.json";
$dhd = new DedeHttpDown();
$dhd->OpenUrl($devURL);
$devContent = $dhd->GetHtml();
$devInfo = (array)json_decode($devContent);
$offUrl = "";
if ($devInfo['dev_type'] == 1) {
$offUrl = "官方网址:{$devInfo['offurl']}
";
}
$authAt = date("Y-m-d", $devInfo['auth_at']);
if (!isset($info['dev_id'])) {
$devInfo['dev_name'] = $info['team']."未认证";
$authAt = "未知";
}
ShowMsg("开发者名称:{$devInfo['dev_name']}
开发者id:{$devInfo['dev_id']}
认证于:{$authAt}", "-1");
exit;
} else if ($action == 'setup') {
$dm = new DedeModule($mdir);
$infos = $dm->GetModuleInfo($hash);
if ($infos == null) {
ShowMsg("获取模块信息错误,模块文件错误", -1);
exit;
}
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '
该模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$filelists = (array)$dm->GetFileLists($hash);
$filelist = '';
$prvdirs = array();
$incdir = array();
foreach ($filelists as $v) {
if (empty($v['name'])) continue;
if ($v['type'] == 'dir') {
$v['type'] = '目录';
$incdir[] = $v['name'];
} else {
$v['type'] = '文件';
}
$filelist .= "{$v['type']}|{$v['name']}\r\n";
}
//检测需要的目录权限
foreach ($filelists as $v) {
$prvdir = preg_replace("#\/([^\/]*)$#", '/', $v['name']);
if (!preg_match("#^\.#", $prvdir)) $prvdir = './';
$n = TRUE;
foreach ($incdir as $k => $v) {
if (preg_match("#^".$v."#i", $prvdir)) {
$n = FALSE;
break;
}
}
if (!isset($prvdirs[$prvdir]) && $n && is_dir($prvdir)) {
$prvdirs[$prvdir][0] = 1;
$prvdirs[$prvdir][1] = TestWriteAble($prvdir);
}
}
$prvdir = "
目录 | 可写 |
$k | $cw |