phpcp/editor.php

103 lines
3.9 KiB
PHP

<?php
require "config.php";
if (!isset($_GET['path'])) {
header("Location: ./404.php");
exit;
} elseif (($path = trim($_GET['path'])) == "") {
header("Location: ./404.php");
exit;
} elseif (!is_file($path)) {
header("Location: ./404.php");
exit;
} elseif (!is_writable($path)) {
xhtml_head("编辑文件");
echo "<div class=\"like\">\n";
echo "<a href=\"./index.php?path=" . urlencode(dirname($path)) . "\"]>返回目录</a>错误提示\n";
echo "</div>\n";
echo "<div class=\"love\">\n";
echo "此文件您没有写入权限!";
echo "</div>\n";
xhtml_footer();
} else {
xhtml_head("编辑文件");
echo "<div class=\"like\">\n";
echo "<a href=\"./index.php?path=" . urlencode(dirname($path)) . "\"]>返回目录</a>选择编码\n";
echo "</div>\n";
echo "<div class=\"love\">";
echo "<form action=\"\" method=\"GET\">\n";
echo "<select name=\"charset\">\n";
if (!function_exists("mb_convert_encoding")) {
echo "<option>缺少模块</option>\n";
} else {
$sencode = mb_list_encodings();
usort($sencode, "___sortcmp");
foreach ($sencode as $encode) {
if ($encode == "pass") {
continue;
}
if (function_exists("mb_encoding_aliases")) {
$alias = mb_encoding_aliases($encode);
echo "\n<optgroup label=\"$encode\">\n";
echo "<option value=\"$encode\">$encode</option>\n";
if (is_array($alias)) if (count($alias) >= 1) {
usort($alias, "___sortcmp");
foreach ($alias as $encodealias) {
if ($encodealias == $encode) {
continue;
}
echo "<option value=\"$encode\">$encodealias</option>\n";
}
}
echo "</optgroup>\n";
} else {
echo "<option value=\"$encode\">$encode</option>\n";
}
}
}
echo "</select>\n";
echo "<input type=\"hidden\" name=\"path\" value=\"$path\" />";
echo "<input type=\"submit\" value=\"设置编码\" />\n";
echo "</form>\n";
echo "</div>\n";
if (isset($_POST['content'])) if (trim($_POST['content']) != "") {
echo "<div class=\"like\">文件保存情况报告</div>\n";
if (!get_magic_quotes_gpc()) {
$fcontent = $_POST['content'];
} else {
$fcontent = stripslashes($_POST['content']);
}
if (isset($_POST['charset'])) if (trim($_POST['charset']) != "") {
$fcontent = ___convert($fcontent, trim($_POST['charset']), "UTF-8");
}
echo "<div class=\"love\">\n";
if (file_put_contents($path, $fcontent)) {
echo "文件数据已经成功存储!\n";
} else {
echo "文件数据无法存入文件!\n";
}
echo "</div>\n";
}
$data = file_get_contents($path);
if (!isset($_GET['charset'])) {
$charset = null;
$content = ___codepre($data, null);
} elseif (($charset = trim($_GET['charset'])) == "") {
$content = ___codepre($data, null);
} else {
$content = ___codepre(___convert($data, "UTF-8", $charset), null);
}
echo "<div class=\"like\">爱特文本编辑工具</div>\n";
echo "<div class=\"love\">\n";
echo "<form action=\"?path=" . urlencode($path) . "&charset={$charset}\" method=\"POST\">\n";
echo "<input type=\"submit\" value=\"保存文件\" />\n";
echo "<input type=\"reset\" value=\"重置文件\" />\n<br />\n";
if (isset($_GET['charset'])) if ($charset != "") {
echo "<input type=\"hidden\" name=\"charset\" value=\"$charset\" />\n";
}
echo "<textarea name=\"content\" style=\"width:99%;height:400px;\">$content</textarea>\n<br/>\n";
echo "</form>\n";
echo "</div>\n";
xhtml_footer();
}
?>