📄 templates.inc.php
字号:
cpmsg('templates_tplcopy_succeed', "admincp.php?action=tpledit&templateid=$templateid&fn=$fn");
} elseif($action == 'tpledit') {
$allowedittpls = checkpermission('tpledit', 0);
$query = $db->query("SELECT * FROM {$tablepre}templates WHERE templateid='$templateid'");
if(!$template = $db->fetch_array($query)) {
cpmsg('templates_edit_nonexistence');
}
$directorys = '';
$query = $db->query("SELECT templateid, directory FROM {$tablepre}templates WHERE templateid!='$templateid' GROUP BY directory");
while($directory = $db->fetch_array($query)) {
$directorys .='<option value="'.$directory['templateid'].'">'.$directory['directory'].'</option>';
}
$fn = str_replace(array('..', '/', '\\'), array('', '', ''), $fn);
$filename = DISCUZ_ROOT."./$template[directory]/$fn";
if(!is_writeable($filename)) {
cpmsg('templates_edit_invalid');
}
$keywordenc = rawurlencode($keyword);
if(!submitcheck('editsubmit') && $delete != 'yes' && $reset != 'yes') {
$fp = @fopen($filename, 'rb');
$content = @fread($fp, filesize($filename));
fclose($fp);
$resetbutton = $onclickevent = $checkresult = '';
if($template['templateid'] != 1) {
$defaulttpl = DISCUZ_ROOT."./templates/default/$fn";
if(file_exists($defaulttpl) && md5_file($defaulttpl) != md5_file($filename)) {
$resetbutton = ' <input class="button" style="vertical-align: middle" type="button" value="'.$lang['templates_reset'].'" accesskey="r" onclick="location.href=\'admincp.php?action=tpledit&templateid='.$template['templateid'].'&fn='.$fn.'&keyword='.$keywordenc.'&reset=yes\'"> '.
(strtolower(fileext($fn)) == 'htm' ? '<input class="button" style="vertical-align: middle" type="button" value="'.$lang['templates_check'].'" onclick="location.href=\'admincp.php?action=tpledit&templateid='.$template['templateid'].'&fn='.$fn.'&keyword='.$keywordenc.'&checktpl=yes\'"> ' : '');
}
$dellist = $addlist = array();
if($checktpl && strtolower(fileext($fn)) == 'htm') {
$fp = @fopen($defaulttpl, 'rb');
$defaultcontent = @fread($fp, filesize($defaulttpl));
fclose($fp);
if(substr($fn, 0, 3) == 'css') {
$find = "/\.[^\{]+?\s+{/s";
} else {
$find = "/(\<\!\-\-)?\{.+?\}(\-\-\>)?/s";
}
preg_match_all($find, $defaultcontent, $defaultmatch);
preg_match_all($find, $content, $match);
$defaultarray = $matcharray = array();
foreach($defaultmatch[0] as $value) {
while(in_array($value, $defaultarray)) {
$value .= ' ';
}
$defaultarray[] = $value;
}
foreach($match[0] as $value) {
while(in_array($value, $matcharray)) {
$value .= ' ';
}
$matcharray[] = $value;
}
$dellist = dhtmlspecialchars(array_diff($defaultarray, $matcharray));
$addlist = dhtmlspecialchars(array_diff($matcharray, $defaultarray));
if($dellist) {
$checkresult .= '<tr class="category"><td>'.$lang['templates_check_del'].'</td></tr>';
foreach($dellist as $item) {
$checkresult .= '<tr><td class="altbg2">'.trim($item).'</td></tr>';
}
}
if($addlist) {
$checkresult .= '<tr class="category"><td>'.$lang['templates_check_add'].'</td></tr>';
foreach($addlist as $item) {
$checkresult .= '<tr><td class="altbg2">'.trim($item).'</td></tr>';
}
}
$result = '<br><table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder"><tr class="header"><td>'.$lang['templates_check_result'].
' <a href="admincp.php?action=tpledit&templateid=1&fn='.$fn.'&keyword='.$keywordenc.'" target="_blank">['.$lang['templates_default'].']</a></td></tr>';
if($checkresult) {
$result .= $checkresult.'</table>';
} else {
$result .= '<tr><td class="altbg2">'.$lang['templates_check_ok'].'</td></tr></table>';
}
$checkresult = $result;
}
} else {
$onclickevent = 'onclick="return confirm(\''.$lang['templates_edit_default_overwriteconfirm'].'\')"';
}
$content = dhtmlspecialchars($content);
shownav('templates_edit');
$filemtime = date("$dateformat $timeformat", filemtime($filename));
?>
<script language="JavaScript">
var n = 0;
function displayHTML(obj) {
win = window.open(" ", 'popup', 'toolbar = no, status = no, scrollbars=yes');
win.document.write("" + obj.value + "");
}
function HighlightAll(obj) {
obj.focus();
obj.select();
if(document.all) {
obj.createTextRange().execCommand("Copy");
window.status = "<?=$lang['templates_edit_clickboard']?>";
setTimeout("window.status=''", 1800);
}
}
function findInPage(obj, str) {
var txt, i, found;
if(str == "") {
return false;
}
if(document.layers) {
if(!obj.find(str)) {
while(obj.find(str, false, true)) {
n++;
}
} else {
n++;
}
if(n == 0) {
alert("<?=$lang['templates_edit_keyword_not_found']?>");
}
}
if(document.all) {
txt = obj.createTextRange();
for(i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart('character', 1);
txt.moveEnd('textedit');
}
if(found) {
txt.moveStart('character', -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
} else {
if(n > 0) {
n = 0;
findInPage(obj, str);
} else {
alert("<?=$lang['templates_edit_keyword_not_found']?>");
}
}
}
return false;
}
</script>
<form method="post" action="admincp.php?action=tpledit&templateid=<?=$templateid?>&fn=<?=$fn?>&">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<input type="hidden" name="keyword" value="<?=$keywordenc?>">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td><?=$lang['templates_edit']?> - <?=$template['name']?> <?=$fn?> - <?=$lang['filecheck_filemtime']?>: <?=$filemtime?></td></tr>
<tr><td class="altbg1" align="center"><div align="center">
<textarea cols="100" rows="25" name="templatenew" style="width: 95%;"><?=$content?></textarea><br>
<input name="search" type="text" accesskey="t" size="20" onChange="n=0;">
<input class="button" type="button" value="<?=$lang['search']?>" accesskey="f" onClick="findInPage(this.form.templatenew, this.form.search.value)">
<input class="button" type="button" value="<?=$lang['return']?>" accesskey="e" onClick="location.href='admincp.php?action=templates&edit=<?=$templateid?>&keyword=<?=$keywordenc?>'">
<input class="button" type="button" value="<?=$lang['preview']?>" accesskey="p" onClick="displayHTML(this.form.templatenew)">
<input class="button" type="button" value="<?=$lang['copy']?>" accesskey="c" onClick="HighlightAll(this.form.templatenew)">
<?
if($allowedittpls) {
echo "<input class=\"button\" type=\"submit\" name=\"editsubmit\" value=\"$lang[submit]\" $onclickevent><br>";
if($directorys) {
echo $lang['templates_copyto_otherdirs']."<select id=\"copyto\" style=\"vertical-align: middle\">".
"$directorys</select> <input style=\"vertical-align: middle\" class=\"button\" type=\"button\" value=\"$lang[templates_start_copy]\" ".
"accesskey=\"r\" onclick=\"if(\$('copyto').value == 1 && confirm('$lang[templates_edit_default_overwriteconfirm]') || \$('copyto').value != 1) location.href='admincp.php?action=tplcopy&templateid={$template['templateid']}&fn={$fn}©to='+\$('copyto').value\">";
}
echo $resetbutton;
}
echo '</div></td></tr></table></form>'.$checkresult;
} elseif($delete == 'yes') {
checkpermission('tpledit');
if(!$confirmed) {
cpmsg('templates_delete_confirm', "admincp.php?action=tpledit&templateid=$templateid&fn=$fn&delete=yes", 'form');
} else {
if(@unlink($filename)) {
cpmsg('templates_delete_succeed', "admincp.php?action=templates&edit=$templateid");
} else {
cpmsg('templates_delete_fail');
}
}
} elseif($reset == 'yes') {
checkpermission('tpledit');
if(!$confirmed) {
cpmsg('templates_reset_confirm', "admincp.php?action=tpledit&templateid=$templateid&fn=$fn&keyword=$keywordenc&reset=yes", 'form');
} else {
$defaultfilename = DISCUZ_ROOT.'./templates/default/'.$fn;
$filename = DISCUZ_ROOT."./$template[directory]/$fn";
if(!copy($defaultfilename, $filename)) {
cpmsg('templates_edit_invalid');
}
cpmsg('templates_reset_succeed', "admincp.php?action=templates&edit=$templateid&keyword=$keywordenc");
}
} else {
checkpermission('tpledit');
$fp = fopen($filename, 'wb');
flock($fp, 2);
fwrite($fp, stripslashes(str_replace("\x0d\x0a", "\x0a", $templatenew)));
fclose($fp);
if(substr(basename($filename), 0, 3) == 'css') {
updatecache('styles');
}
cpmsg('templates_edit_succeed', "admincp.php?action=templates&edit=$templateid&keyword=$keywordenc");
}
} elseif($action == 'tpladd') {
checkpermission('tpledit');
$query = $db->query("SELECT * FROM {$tablepre}templates WHERE templateid='$edit'");
if(!$template = $db->fetch_array($query)) {
cpmsg('templates_add_invalid');
} elseif(!istpldir($template['directory'])) {
$directory = $template['directory'];
cpmsg('templates_directory_invalid');
} elseif(file_exists(DISCUZ_ROOT."./$template[directory]/$name.htm")) {
cpmsg('templates_add_duplicate');
} elseif(!@$fp = fopen(DISCUZ_ROOT."./$template[directory]/$name.htm", 'wb')) {
cpmsg('templates_add_file_invalid');
}
@fclose($fp);
cpmsg('templates_add_succeed', "admincp.php?action=tpledit&templateid=1&fn=$name.htm");
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -