} $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("对不起,你上传的文件可能不是织梦模块的标准格式文件!<br /><br /><a href='javascript:history.go(-1);'>>>返回重新上传>></a>", "javascript:;"); exit; } $okfile = $mdir . '/' . $infos['hash'] . '.xml'; if ($dm->HasModule($infos['hash']) && empty($delhas)) { unlink($tmpfilename); $dm->Clear(); ShowMsg("对不起,你上传的模块已经存在,<br />如果要覆盖请先删除原来版本或选择强制删除的选项!<br /><br /><a href='javascript:history.go(-1);'>>>返回重新上传>></a>", "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");
//去除转义 foreach ($_POST as $k => $v) { ${$k} = stripslashes($v); } if (!isset($autosetup)) { $autosetup = 0; } if (!isset($autodel)) { $autodel = 0; } $mdir = DEDEROOT . '/data/module'; $hashcode = md5($modulname . $email); $moduleFilename = $mdir . '/' . $hashcode . '.xml'; $menustring = base64_encode($menustring); $dm = new DedeModule($mdir); if ($dm->HasModule($hashcode)) { $dm->Clear(); ShowMsg("对不起,你指定同名模块已经存在,因此不能创建项目!<br>如果你要更新这个模块,请先删除:module/{$hashcode}.xml", "-1"); exit; } $readmef = $setupf = $uninstallf = ''; if (empty($readmetxt)) { move_uploaded_file($readme, $mdir . "/{$hashcode}-r.html") or die("你没填写说明或上传说明文件!"); $readmef = $dm->GetEncodeFile($mdir . "/{$hashcode}-r.html", true); } else { $readmetxt = "<p style='line-height:150%'>" . $readmetxt; $readmetxt = ereg_replace("[\r\n]{1,}", "<br />\r\n", $readmetxt); $readmetxt .= "</p>"; $readmef = base64_encode(trim($readmetxt)); } if ($autosetup == 0) {