$tpls[substr($tplname, 0, $pos)][] = array($file, $status); } else { $tpls['base'][] = array($file, $status); } } } closedir($dh); } } elseif ($_GET['op'] == 'edit') { $filename = checkfilename($_GET['filename']); $filefullname = $tpldir . $filename; $fp = fopen($filefullname, 'rb'); $content = trim(shtmlspecialchars(fread($fp, filesize($filefullname)))); fclose($fp); } elseif ($_GET['op'] == 'repair') { $filename = checkfilename($_GET['filename']); $filefullname = $tpldir . $filename; //复制当前的文件 $d_file = $filefullname . '.bak'; if (file_exists($d_file)) { if (!@copy($d_file, $filefullname)) { swritefile($filefullname, sreadfile($d_file)); @unlink($d_file); } else { @unlink($d_file); } } else { cpmessage('designated_template_files_can_not_be_restored'); } cpmessage('do_success', $turl); }
} } $title = $lang["title"]; $earlier = 10; $description = $lang["description"]; $origroom = $room; $least = $_GET["dis"] ? intval($_GET["dis"]) : $leastnum; $touchme = $_POST['touchme']; if (!is_dir($roomdir)) { @mkdir($roomdir) or die("error when creating folder {$roomdir}"); } $room = $_GET['room']; if (!$room) { $room = $_POST["room"]; } $room = checkfilename($room); if (!$room) { $room = $origroom; } $filename = $roomdir . $room . ".dat.php"; $datafile = $roomdir . $room . ".php"; if (!file_exists($filename)) { @file_put_contents($filename, '<?php die();?>' . "\n" . time() . "|" . $lang["firstone"] . "\n"); } if (!file_exists($datafile)) { @file_put_contents($datafile, '<?php die();?>' . "\n"); } $action = $_POST["action"]; function checkfilename($file) { if (!$file) {
} ////////////文件上传////////////// if ($action == "upsave" && $user["upfile"]) { if (substr($path, -1) != "/") { $path .= "/"; } $tt = 0; $error = ''; $tsize = 0; if (!is_writable($path)) { exit3("上传失败:目录 {$path} 不可写!", 0); } foreach ($_FILES as $file) { if ($file['tmp_name']) { $myfile = $file["tmp_name"]; $myfile_name = checkfilename($file["name"]); $ftype = getext($myfile_name); if ($myfile_name != $file["name"] || !$myfile_name) { $error .= "{$myfile_name}上传失败:文件名有错误\\n"; } else { if ($user["limit"]["{$ftype}"] && !$user["only"]) { $error .= "{$myfile_name}上传失败:不能能上传 " . $user["limittype"] . " 类型的文件\\n"; } else { if (!$user["limit"]["{$ftype}"] && $user["only"]) { $error .= "{$myfile_name}上传失败:不能能上传除 " . $user["limittype"] . " 类型以外的文件\\n"; } else { if (file_exists($path . $myfile_name)) { $error .= $myfile_name . "上传失败:有同名文件存在!\\n"; continue; } else { if (@move_uploaded_file($myfile, $path . $myfile_name)) {
} else { if ($_POST['encode'] != $_POST['encodeto']) { echo "alert('{$out}');"; } } echo "parent.save_suc('{$out}');</script>"; die; } else { if ($action == "savefromurl" && $user["savefromurl"]) { if (!$path || !$url) { exitme("notice(lang.var_error)", "eval"); } if (!$filename) { $filename = basename1($url); } if ($filename != checkfilename($filename)) { exitme("notice(lang.download+lang.fail)", "eval"); } checktype($filename); if (!is_writeable($path)) { exitme("notice(lang.cannot_write)", "eval"); } if (file_exists($path . $filename)) { exitme("notice(lang.alreadyExist+':{$filename}')", "eval"); } $filename = dealpath($path . $filename); if (@copy($url, $filename)) { exitme("notice(lang.download+lang.success+': {$filename} ');reloaddata();", "eval"); } else { exitme("notice(lang.download+lang.fail);", "eval"); }
for ($fidx = 0; $fidx < count($filefield); $fidx++) { $userfile = $_FILES['userfile']['tmp_name'][$fidx]; $userfile_name = $_FILES['userfile']['name'][$fidx]; $this->setLog("\nUserfile:" . $userfile_name); if ($userfile != "none") { if ($userfile_name == "") { $val = ""; } else { $overwrite = $fileoverwrite[$fidx]; $filepatharray = explode("/", $userfile_name); $numsubdir = count($filepatharray); if ($numsubdir > 1) { $userfile_name = $filepatharray[$numsubdir - 1]; } // Making Process on file with Garbadge values. $userfile_name = checkfilename($userfile_name, $fields['label']); $ipath = $filedirectoryuploaded[$fidx]; if ($overwrite == "no") { $chk_file_name = $userfile_name; $file_num = 0; while (file_exists($ipath . "/" . $chk_file_name)) { if (preg_match("/^n[0-9]*_/", $chk_file_name, $match)) { $chk_file_name = str_replace($match[0], "", $chk_file_name); } $chk_file_name = "n" . ++$file_num . "_" . $chk_file_name; } $val = $chk_file_name; } else { $val = $userfile_name; } $destpath = $ipath . "/" . $val;