get_List($tmpfilename);
$dedefileindex = -1;
//为了节省资源,系统仅以.xml作为扩展名识别ZIP包里了dede模块格式文件
if (is_array($files)) {
for ($i = 0; $i < count($files); $i++) {
if (preg_match("#\.xml#i", $files[$i]['filename'])) {
$dedefile = $files[$i]['filename'];
$dedefileindex = $i;
break;
}
}
}
if ($dedefileindex == -1) {
unlink($tmpfilename);
ShowMsg("对不起,您上传的压缩包中不存在dede模块文件
重新上传", "javascript:;");
exit();
}
$ziptmp = $mdir.'/ziptmp';
$z->Extract($tmpfilename, $ziptmp, $dedefileindex);
unlink($tmpfilename);
$tmpfilename = $mdir."/ziptmp/".$dedefile;
}
$dm = new DedeModule($mdir);
$infos = $dm->GetModuleInfo($tmpfilename, 'file');
if (empty($infos['hash'])) {
unlink($tmpfilename);
$dm->Clear();
ShowMsg("对不起,您上传的文件可能不是织梦模块的标准格式文件
重新上传", "javascript:;");
exit();
}
if (preg_match("#[^0-9a-zA-Z]#", $infos['hash'])) {
exit("hash check failed!");
}
$okfile = $mdir.'/'.$infos['hash'].'.xml';
if ($dm->HasModule($infos['hash']) && empty($delhas)) {
unlink($tmpfilename);
$dm->Clear();
ShowMsg("对不起,您上传的模块已经存在
如果要覆盖请先删除原来版本或选择强制删除的选项
重新上传", "javascript:;");
exit();
}
@unlink($okfile);
copy($tmpfilename, $okfile);
@unlink($tmpfilename);
$dm->Clear();
ShowMsg("成功上传一个新的模块", "module_main.php?action=view&hash={$infos['hash']}");
exit();
}
} else {
$win = new OxWindow();
$win->Init("module_upload.php", "js/blank.js", "POST' enctype='multipart/form-data");
$win->mainTitle = "模块管理";
$wecome_info = "模块管理 >> 上传模块";
$win->AddTitle('请选择要上传的文件:');
$win->AddHidden("action", 'upload');
$msg = "
文件格式: | |
已有模块: | |
请选择文件: |