📄 misc.inc.php
字号:
showformheader("misc&operation=censor&page=$page", '', 'listform');
showtableheader('', 'fixpadding');
showsubtitle(array('', 'censor_word', 'censor_replacement', 'operator'));
$query = $db->query("SELECT * FROM {$tablepre}words ORDER BY find ASC LIMIT $startlimit, $ppp");
while($censor = $db->fetch_array($query)) {
$censor['replacement'] = stripslashes($censor['replacement']);
$disabled = $adminid != 1 && $censor['admin'] != $discuz_userss ? 'disabled' : NULL;
showtablerow('', array('class="td25"', 'class="td24"', 'class="td24"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$censor[id]\" $disabled>",
"<input type=\"text\" class=\"txt\" size=\"30\" name=\"find[$censor[id]]\" value=\"$censor[find]\" $disabled>",
"<input type=\"text\" class=\"txt\" size=\"30\" name=\"replace[$censor[id]]\" value=\"$censor[replacement]\" $disabled>",
$censor[admin]
));
}
showtablerow('', array('class="td25"', 'class="td24"', 'class="td24"'), array(
lang('add_new'),
'<input type="text" class="txt" size="30" name="newfind">',
'<input type="text" class="txt" size="30" name="newreplace">',
''
));
showsubmit('censorsubmit', 'submit', 'del', '', $multipage);
showtablefooter();
showformfooter();
showtagfooter('div');
showtagheader('div', 'import', $anchor == 'import');
showformheader("misc&operation=censor&page=$page", 'fixpadding');
showtableheader('', 'fixpadding', 'importform');
showtablerow('', 'class="vtop rowform"', '<br /><textarea name="addcensors" class="tarea" rows="10" cols="80"></textarea><br /><br />'.mradio('overwrite', array(
2 => lang('censor_batch_add_clear'),
1 => lang('censor_batch_add_overwrite'),
0 => lang('censor_batch_add_no_overwrite')
)));
showsubmit('addcensorsubmit');
showtablefooter();
showformfooter();
showtagfooter('div');
} else {
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}words WHERE id IN ($ids) AND ('$adminid'='1' OR admin='$discuz_user')");
}
if(is_array($find)) {
foreach($find as $id => $val) {
$find[$id] = $val = trim(str_replace('=', '', $find[$id]));
if(strlen($val) < 3) {
cpmsg('censor_keywords_tooshort', '', 'error');
}
$replace[$id] = daddslashes(str_replace("\\\'", '\'', $replace[$id]), 1);
$db->query("UPDATE {$tablepre}words SET find='$find[$id]', replacement='$replace[$id]' WHERE id='$id' AND ('$adminid'='1' OR admin='$discuz_user')");
}
}
$newfind = trim(str_replace('=', '', $newfind));
$newreplace = trim($newreplace);
if($newfind != '') {
if(strlen($newfind) < 3) {
cpmsg('censor_keywords_tooshort', '', 'error');
}
$newreplace = daddslashes(str_replace("\\\'", '\'', $newreplace), 1);
if($oldcenser = $db->fetch_first("SELECT admin FROM {$tablepre}words WHERE find='$newfind'")) {
cpmsg('censor_keywords_existence', '', 'error');
} else {
$db->query("INSERT INTO {$tablepre}words (admin, find, replacement) VALUES
('$discuz_user', '$newfind', '$newreplace')");
}
}
updatecache('censor');
cpmsg('censor_succeed', "admincp.php?action=misc&operation=censor&page=$page", 'succeed');
}
} elseif($operation == 'icons') {
if(!submitcheck('iconsubmit')) {
$anchor = in_array($anchor, array('list', 'add')) ? $anchor : 'list';
shownav('topic', 'nav_thread_icon');
showsubmenuanchors('nav_thread_icon', array(
array('admin', 'list', $anchor == 'list'),
array('add', 'add', $anchor == 'add')
));
showtagheader('div', 'list', $anchor == 'list');
showformheader('misc&operation=icons');
showtableheader();
showsubtitle(array('', 'display_order', 'smilies_edit_image', 'smilies_edit_filename'));
$imgfilter = array();
$query = $db->query("SELECT * FROM {$tablepre}smilies WHERE type='icon' ORDER BY displayorder");
while($smiley = $db->fetch_array($query)) {
showtablerow('', array('class="td25"', 'class="td28 td24"', 'class="td23"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$smiley[id]\">",
"<input type=\"text\" class=\"txt\" size=\"2\" name=\"displayorder[$smiley[id]]\" value=\"$smiley[displayorder]\">",
"<img src=\"images/icons/$smiley[url]\">",
$smiley[url]
));
$imgfilter[] = $smiley[url];
}
showsubmit('iconsubmit', 'submit', 'del');
showtablefooter();
showformfooter();
showtagfooter('div');
showtagheader('div', 'add', $anchor == 'add');
showformheader('misc&operation=icons');
showtableheader();
showsubtitle(array('', 'display_order', 'smilies_edit_image', 'smilies_edit_filename'));
$newid = 0;
$imgextarray = array('jpg', 'gif');
$iconsdir = dir(DISCUZ_ROOT.'./images/icons');
while($entry = $iconsdir->read()) {
if(in_array(strtolower(fileext($entry)), $imgextarray) && !in_array($entry, $imgfilter) && is_file(DISCUZ_ROOT.'./images/icons/'.$entry)) {
showtablerow('', array('class="td25"', 'class="td28 td24"', 'class="td23"'), array(
"<input type=\"checkbox\" name=\"addcheck[$newid]\" class=\"checkbox\">",
"<input type=\"text\" class=\"txt\" size=\"2\" name=\"adddisplayorder[$newid]\" value=\"0\">",
"<img src=\"images/icons/$entry\">",
"<input type=\"text\" class=\"txt\" size=\"35\" name=\"addurl[$newid]\" value=\"$entry\" readonly>"
));
$newid ++;
}
}
$iconsdir->close();
if(!$newid) {
showtablerow('', array('class="td25"', 'colspan="3"'), array('', lang('icon_tips')));
} else {
showsubmit('iconsubmit', 'submit', '<input type="checkbox" class="checkbox" name="chkall2" onclick="checkAll(\'prefix\', this.form, \'addcheck\', \'chkall2\')">'.lang('enable'));
}
showtablefooter();
showformfooter();
showtagfooter('div');
} else {
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}smilies WHERE id IN ($ids)");
}
if(is_array($displayorder)) {
foreach($displayorder as $id => $val) {
$displayorder[$id] = intval($displayorder[$id]);
$db->query("UPDATE {$tablepre}smilies SET displayorder='$displayorder[$id]' WHERE id='$id'");
}
}
if(is_array($addurl)) {
foreach($addurl as $k => $v) {
if($addcheck[$k]) {
$query = $db->query("INSERT INTO {$tablepre}smilies (displayorder, type, url)
VALUES ('{$adddisplayorder[$k]}', 'icon', '$addurl[$k]')");
}
}
}
updatecache('icons');
cpmsg('thread_icon_succeed', "admincp.php?action=misc&operation=icons", 'succeed');
}
} elseif($operation == 'attachtypes') {
if(!submitcheck('typesubmit')) {
$attachtypes = '';
$query = $db->query("SELECT * FROM {$tablepre}attachtypes");
while($type = $db->fetch_array($query)) {
$attachtypes .= showtablerow('', array('class="td25"', 'class="td24"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$type[id]\" />",
"<input type=\"text\" class=\"txt\" size=\"10\" name=\"extension[$type[id]]\" value=\"$type[extension]\" />",
"<input type=\"text\" class=\"txt\" size=\"15\" name=\"maxsize[$type[id]]\" value=\"$type[maxsize]\" />"
), TRUE);
}
?>
<script type="text/JavaScript">
var rowtypedata = [
[
[1,'', 'td25'],
[1,'<input name="newextension[]" type="text" class="txt" size="10">', 'td24'],
[1,'<input name="newmaxsize[]" type="text" class="txt" size="15">']
]
];
</script>
<?
shownav('topic', 'nav_posting_attachtypes');
showsubmenu('nav_posting_attachtypes');
showtips('attachtypes_tips');
showformheader('misc&operation=attachtypes');
showtableheader();
showtablerow('class="partition"', array('class="td25"'), array('', lang('attachtypes_ext'), lang('attachtypes_maxsize')));
echo $attachtypes;
echo '<tr><td></td><td colspan="2"><div><a href="###" onclick="addrow(this, 0)" class="addtr">'.$lang['attachtypes_add'].'</a></div></tr>';
showsubmit('typesubmit', 'submit', 'del');
showtablefooter();
showformfooter();
} else {
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}attachtypes WHERE id IN ($ids)");
}
if(is_array($extension)) {
foreach($extension as $id => $val) {
$db->query("UPDATE {$tablepre}attachtypes SET extension='$extension[$id]', maxsize='$maxsize[$id]' WHERE id='$id'");
}
}
if(is_array($newextension)) {
foreach($newextension as $key => $value) {
if($newextension1 = trim($value)) {
if($db->result_first("SELECT id FROM {$tablepre}attachtypes WHERE extension='$newextension1'")) {
cpmsg('attachtypes_duplicate', '', 'error');
}
$db->query("INSERT INTO {$tablepre}attachtypes (extension, maxsize) VALUES
('$newextension1', '$newmaxsize[$key]')");
}
}
}
cpmsg('attachtypes_succeed', 'admincp.php?action=misc&operation=attachtypes', 'succeed');
}
} elseif($operation == 'crons') {
if(empty($edit) && empty($run)) {
if(!submitcheck('cronssubmit')) {
shownav('misc', 'crons');
showsubmenu('nav_misc_crons');
showtips('crons_tips');
showformheader('misc&operation=crons');
showtableheader('', 'fixpadding');
showsubtitle(array('', 'name', 'available', 'type', 'time', 'crons_last_run', 'crons_next_run', ''));
$query = $db->query("SELECT * FROM {$tablepre}crons ORDER BY type DESC");
while($cron = $db->fetch_array($query)) {
$disabled = $cron['weekday'] == -1 && $cron['day'] == -1 && $cron['hour'] == -1 && $cron['minute'] == '' ? 'disabled' : '';
if($cron['day'] > 0 && $cron['day'] < 32) {
$cron['time'] = lang('crons_permonth').$cron['day'].lang('crons_day');
} elseif($cron['weekday'] >= 0 && $cron['weekday'] < 7) {
$cron['time'] = lang('crons_perweek').lang('crons_week_day_'.$cron['weekday']);
} elseif($cron['hour'] >= 0 && $cron['hour'] < 24) {
$cron['time'] = lang('crons_perday');
} else {
$cron['time'] = lang('crons_perhour');
}
$cron['time'] .= $cron['hour'] >= 0 && $cron['hour'] < 24 ? sprintf('%02d', $cron[hour]).lang('crons_hour') : lang('crons_perhour');
if(!in_array($cron['minute'], array(-1, ''))) {
foreach($cron['minute'] = explode("\t", $cron['minute']) as $k => $v) {
$cron['minute'][$k] = sprintf('%02d', $v);
}
$cron['minute'] = implode(',', $cron['minute']);
$cron['time'] .= $cron['minute'].lang('crons_minute');
} else {
$cron['time'] .= '00'.lang('crons_minute');
}
$cron['lastrun'] = $cron['lastrun'] ? gmdate("$dateformat<\b\\r />$timeformat", $cron['lastrun'] + $_DCACHE['settings']['timeoffset'] * 3600) : '<b>N/A</b>';
$cron['nextcolor'] = $cron['nextrun'] && $cron['nextrun'] + $_DCACHE['settings']['timeoffset'] * 3600 < $timestamp ? 'style="color: #ff0000"' : '';
$cron['nextrun'] = $cron['nextrun'] ? gmdate("$dateformat<\b\\r />$timeformat", $cron['nextrun'] + $_DCACHE['settings']['timeoffset'] * 3600) : '<b>N/A</b>';
showtablerow('', array('class="td25"', 'class="crons"', 'class="td25"', 'class="td25"', 'class="td23"', 'class="td23"', 'class="td23"', 'class="td25"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$cron[cronid]\" ".($cron['type'] == 'system' ? 'disabled' : '').">",
"<input type=\"text\" class=\"txt\" name=\"namenew[$cron[cronid]]\" size=\"20\" value=\"$cron[name]\"><br /><b>$cron[filename]</b>",
"<input class=\"checkbox\" type=\"checkbox\" name=\"availablenew[$cron[cronid]]\" value=\"1\" ".($cron['available'] ? 'checked' : '')." $disabled>",
$lang['crons_type_'.$cron['type']],
$cron[time],
$cron[lastrun],
$cron[nextrun],
"<a href=\"admincp.php?action=misc&operation=crons&edit=$cron[cronid]\" class=\"act\">$lang[edit]</a><br />".
($cron['available'] ? " <a href=\"admincp.php?action=misc&operation=crons&run=$cron[cronid]\" class=\"act\">$lang[crons_run]</a>" : " <a href=\"###\" class=\"act\" disabled>$lang[crons_run]</a>")
));
}
showtablerow('', array('','colspan="10"'), array(
lang('add_new'),
'<input type="text" class="txt" name="newname" value="" size="20" />'
));
showsubmit('cronssubmit', 'submit', 'del');
showtablefooter();
showformfooter();
} else {
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}crons WHERE cronid IN ($ids) AND type='user'");
}
if(is_array($namenew)) {
foreach($namenew as $id => $name) {
$db->query("UPDATE {$tablepre}crons SET name='".dhtmlspecialchars($namenew[$id])."', available='".$availablenew[$id]."' ".($availablenew[$id] ? '' : ', nextrun=\'0\'')." WHERE cronid='$id'");
}
}
if($newname = trim($newname)) {
$db->query("INSERT INTO {$tablepre}crons (name, type, available, weekday, day, hour, minute, nextrun)
VALUES ('".dhtmlspecialchars($newname)."', 'user', '0', '-1', '-1', '-1', '', '$timestamp')");
}
$query = $db->query("SELECT cronid, filename FROM {$tablepre}crons");
while($cron = $db->fetch_array($query)) {
if(!file_exists(DISCUZ_ROOT.'./include/crons/'.$cron['filename'])) {
$db->query("UPDATE {$tablepre}crons SET available='0', nextrun='0' WHERE cronid='$cron[cronid]'");
}
}
//updatecache('crons');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -