📄 misc.inc.php
字号:
"<input type=\"checkbox\" class=\"checkbox\" name=\"delete[]\" value=\"$custom[id]\">",
"<input type=\"text\" class=\"txt\" size=\"3\" name=\"displayordernew[$custom[id]]\" value=\"$custom[displayorder]\">",
"<input type=\"text\" class=\"txt\" size=\"25\" name=\"titlenew[$custom[id]]\" value=\"".lang($custom['title'])."\"><input type=\"hidden\" name=\"langnew[$custom[id]]\" value=\"$custom[title]\">",
"<input type=\"text\" class=\"txt\" size=\"40\" name=\"urlnew[$custom[id]]\" value=\"$custom[url]\">"
), TRUE);
$ajaxoptionlist .= '<li><a href="'.$custom['url'].'" target="'.(substr($custom['url'], 0, 19) == $BASESCRIPT.'?action=' ? 'main' : '_blank').'">'.lang($custom['title']).'</a></li>';
}
if($inajax) {
ajaxshowheader();
echo $ajaxoptionlist.'<li>'.$multipage.'</li><script reload="1">initCpMenus(\'custommenu\');parent.cmcache=true;</script>';
ajaxshowfooter();
exit;
}
echo <<<EOT
<script type="text/JavaScript">
var rowtypedata = [
[
[1,'', 'td25'],
[1,'<input type="text" class="txt" name="newdisplayorder[]" size="3">', 'td28'],
[1,'<input type="text" class="txt" name="newtitle[]" size="25">'],
[1,'<input type="text" class="txt" name="newurl[]" size="40">', 'td26']
]
];
</script>
EOT;
shownav('tools', 'nav_custommenu');
showsubmenu('nav_custommenu');
showformheader('misc&operation=custommenu');
showtableheader();
showsubtitle(array('', 'display_order', 'name', 'URL'));
echo $optionlist;
echo '<tr><td></td><td colspan="3"><div><a href="###" onclick="addrow(this, 0)" class="addtr">'.$lang['misc_custommenu_add'].'</a></div></td></tr>';
showsubmit('optionsubmit', 'submit', 'del', '', $multipage);
showtablefooter();
showformfooter();
} else {
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}admincustom WHERE id IN ($ids) AND uid='$discuz_uid'");
}
if(is_array($titlenew)) {
foreach($titlenew as $id => $title) {
$title = dhtmlspecialchars($langnew[$id] && lang($langnew[$id], false) ? $langnew[$id] : $title);
$db->query("UPDATE {$tablepre}admincustom SET title='$title', displayorder='$displayordernew[$id]', url='".dhtmlspecialchars($urlnew[$id])."' WHERE id='$id'");
}
}
if(is_array($newtitle)) {
foreach($newtitle as $k => $v) {
$db->query("INSERT INTO {$tablepre}admincustom (title, displayorder, url, sort, uid) VALUES ('".dhtmlspecialchars($v)."', '".intval($newdisplayorder[$k])."', '".dhtmlspecialchars($newurl[$k])."', '1', '$discuz_uid')");
}
}
cpmsg('custommenu_edit_succeed', $BASESCRIPT.'?action=misc&operation=custommenu', 'succeed', '<script type="text/JavaScript">parent.cmcache=false;</script>');
}
} elseif($do == 'add') {
if($title && $url) {
admincustom($title, dhtmlspecialchars($url), 1);
cpmsg('custommenu_add_succeed', $BASESCRIPT.'?'.$url, 'succeed', '<script type="text/JavaScript">parent.cmcache=false;</script>');
} else {
cpmsg('undefined_action', '', 'error');
}
} elseif($do == 'clean') {
if(!$confirmed) {
cpmsg('custommenu_history_delete_confirm', "$BASESCRIPT?action=misc&operation=custommenu&do=clean", 'form');
} else {
$db->query("DELETE FROM {$tablepre}admincustom WHERE uid='$discuz_uid' AND sort='0'");
cpmsg('custommenu_history_delete_succeed', '#', 'succeed', '<script type="text/JavaScript">setTimeout("parent.location.reload();", 2999);</script>');
}
} else {
cpmsg('undefined_action');
}
} elseif($operation == 'customnav') {
if(!$do) {
if(!submitcheck('submit')) {
shownav('style', 'settings_styles');
showsubmenu('settings_styles', array(
array('nav_settings_global', 'settings&operation=styles&anchor=global', 0),
array('nav_settings_index', 'settings&operation=styles&anchor=index', 0),
array('nav_settings_forumdisplay', 'settings&operation=styles&anchor=forumdisplay', 0),
array('nav_settings_viewthread', 'settings&operation=styles&anchor=viewthread', 0),
array('nav_settings_member', 'settings&operation=styles&anchor=member', 0),
array('nav_settings_customnav', 'misc&operation=customnav', 1),
array(array('menu' => 'jswizard_infoside', 'submenu' => array(
array('jswizard_infoside_global', 'jswizard&operation=infoside&from=style'),
array('jswizard_infoside_2', 'jswizard&operation=infoside&sideid=2&from=style'),
array('jswizard_infoside_0', 'jswizard&operation=infoside&sideid=0&from=style'),
))),
array('nav_settings_refresh', 'settings&operation=styles&anchor=refresh', 0),
array('nav_settings_sitemessage', 'settings&operation=styles&anchor=sitemessage', 0)
));
showformheader('misc&operation=customnav');
showtableheader();
showsubtitle(array('', 'display_order', 'name', 'url', 'type', 'available', ''));
$navlist = $subnavlist = array();
$query = $db->query("SELECT * FROM {$tablepre}navs ORDER BY displayorder");
while($nav = $db->fetch_array($query)) {
if($nav['parentid']) {
$subnavlist[$nav['parentid']][] = $nav;
} else {
$navlist[$nav['id']] = $nav;
}
}
foreach($navlist as $nav) {
showtablerow('', array('class="td25"', 'class="td25"', 'width="210"'), array(
$nav['type'] == '0' ? '' : "<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$nav[id]\">",
"<input type=\"text\" class=\"txt\" size=\"2\" name=\"displayordernew[$nav[id]]\" value=\"$nav[displayorder]\">",
"<div><input type=\"text\" class=\"txt\" size=\"15\" name=\"namenew[$nav[id]]\" value=\"".dhtmlspecialchars($nav['name'])."\">".($nav['type'] == '1' ? "<a href=\"###\" onclick=\"addrowdirect=1;addrow(this, 1, $nav[id])\" class=\"addchildboard\">$lang[misc_nav_add_submenu]</a>" : '').'</div>',
$nav['type'] == '0' ? $nav['url'] : "<input type=\"text\" class=\"txt\" size=\"15\" name=\"urlnew[$nav[id]]\" value=\"".dhtmlspecialchars($nav['url'])."\">",
lang($nav['type'] == '0' ? 'inbuilt' : 'costom'),
"<input class=\"checkbox\" type=\"checkbox\" name=\"availablenew[$nav[id]]\" value=\"1\" ".($nav['available'] ? 'checked' : '').">",
"<a href=\"$BASESCRIPT?action=misc&operation=customnav&do=edit&id=$nav[id]\" class=\"act\">$lang[detail]</a>"
));
if(!empty($subnavlist[$nav['id']])) {
$subnavnum = count($subnavlist[$nav['id']]);
foreach($subnavlist[$nav['id']] as $sub) {
$subnavnum--;
showtablerow('', array('class="td25"', 'class="td25"'), array(
$sub['type'] == '0' ? '' : "<input class=\"checkbox\" type=\"checkbox\" name=\"delete[]\" value=\"$sub[id]\">",
"<input type=\"text\" class=\"txt\" size=\"2\" name=\"displayordernew[$sub[id]]\" value=\"$sub[displayorder]\">",
"<div class=\"".($subnavnum ? 'board' : 'lastboard')."\"><input type=\"text\" class=\"txt\" size=\"15\" name=\"namenew[$sub[id]]\" value=\"".dhtmlspecialchars($sub['name'])."\"></div>",
$sub['type'] == '0' ? $sub['url'] : "<input type=\"text\" class=\"txt\" size=\"15\" name=\"urlnew[$sub[id]]\" value=\"".dhtmlspecialchars($sub['url'])."\">",
lang($sub['type'] == '0' ? 'inbuilt' : 'costom'),
"<input class=\"checkbox\" type=\"checkbox\" name=\"availablenew[$sub[id]]\" value=\"1\" ".($sub['available'] ? 'checked' : '').">",
"<a href=\"$BASESCRIPT?action=misc&operation=customnav&do=edit&id=$sub[id]\" class=\"act\">$lang[detail]</a>"
));
}
}
}
echo '<tr><td colspan="2"></td><td colspan="5"><div><a href="###" onclick="addrow(this, 0, 0)" class="addtr">'.$lang['misc_nav_add_menu'].'</a></div></td></tr>';
showsubmit('submit', 'submit', 'del');
showtablefooter();
showformfooter();
require_once DISCUZ_ROOT.'./uc_client/client.php';
$ucapparray = uc_app_ls();
$applist = '';
if(count($ucapparray) > 1) {
$applist = $lang['misc_nav_add_ucenter'].'<select name="applist" onchange="app(this)"><option value=""></option>';
foreach($ucapparray as $app) {
if($app['appid'] != UC_APPID) {
$applist .= "<option value=\"$app[url]\">$app[name]</option>";
}
}
$applist .= '</select>';
}
echo <<<EOT
<script type="text/JavaScript">
var rowtypedata = [
[[1, '', 'td25'], [1,'<input name="newdisplayorder[]" value="" size="3" type="text" class="txt">', 'td28'], [1, '<input name="newname[]" value="" size="30" type="text" class="txt">'], [1, '<input name="newurl[]" value="" size="30" type="text" class="txt">', 'td29'], [3, '$applist <input type="hidden" name="newparentid[]" value="0" />']],
[[1, '', 'td25'], [1,'<input name="newdisplayorder[]" value="" size="3" type="text" class="txt">', 'td28'], [1, '<div class=\"board\"><input name="newname[]" value="" size="30" type="text" class="txt"></div>'], [1, '<input name="newurl[]" value="" size="30" type="text" class="txt">', 'td29'], [3, '$applist <input type="hidden" name="newparentid[]" value="{1}" />']]
];
function app(obj) {
var inputs = obj.parentNode.parentNode.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].name == 'newname[]') {
inputs[i].value = obj.options[obj.options.selectedIndex].innerHTML;
} else if(inputs[i].name == 'newurl[]') {
inputs[i].value = obj.value;
}
}
}
</script>
EOT;
} else {
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}navs WHERE id IN ($ids)");
$db->query("DELETE FROM {$tablepre}navs WHERE parentid IN ($ids)");
}
if(is_array($namenew)) {
foreach($namenew as $id => $name) {
$name = dhtmlspecialchars($name);
$urladd = !empty($urlnew[$id]) ? ", url='".dhtmlspecialchars($urlnew[$id])."'" : '';
$availablenew[$id] = $name && (!isset($urlnew[$id]) || $urlnew[$id]) && $availablenew[$id];
$displayordernew[$id] = intval($displayordernew[$id]);
$db->query("UPDATE {$tablepre}navs SET name='$name', displayorder='$displayordernew[$id]', available='$availablenew[$id]' $urladd WHERE id='$id'");
}
}
if(is_array($newname)) {
foreach($newname as $k => $v) {
$v = dhtmlspecialchars(trim($v));
if(!empty($v)) {
$newavailable = $v && $newurl[$k];
$newparentid[$k] = intval($newparentid[$k]);
$newdisplayorder[$k] = intval($newdisplayorder[$k]);
$newurl[$k] = dhtmlspecialchars($newurl[$k]);
$db->query("INSERT INTO {$tablepre}navs (parentid, name, displayorder, url, type, available) VALUES ('$newparentid[$k]', '$v', '$newdisplayorder[$k]', '$newurl[$k]', '1', '$newavailable')");
}
}
}
updatecache('settings');
cpmsg('nav_add_succeed', $BASESCRIPT.'?action=misc&operation=customnav', 'succeed');
}
} elseif($do == 'edit' && $id) {
$nav = $db->fetch_first("SELECT * FROM {$tablepre}navs WHERE id='$id'");
if(!$nav) {
cpmsg('undefined_action', '', 'error');
}
if(!submitcheck('editsubmit')) {
$string = sprintf('%02d', $nav['highlight']);
shownav('global', 'misc_nav');
showsubmenu('settings_styles', array(
array('nav_settings_global', 'settings&operation=styles&anchor=global', 0),
array('nav_settings_customnav', 'misc&operation=customnav', 1),
array('nav_settings_index', 'settings&operation=styles&anchor=index', 0),
array('nav_settings_forumdisplay', 'settings&operation=styles&anchor=forumdisplay', 0),
array('nav_settings_viewthread', 'settings&operation=styles&anchor=viewthread', 0),
array('nav_settings_member', 'settings&operation=styles&anchor=member', 0),
array('nav_settings_refresh', 'settings&operation=styles&anchor=refresh', 0)
));
showformheader("misc&operation=customnav&do=edit&id=$id");
showtableheader();
showtitle('customnav');
showsetting('customnav_name', 'namenew', $nav['name'], 'text');
showsetting('customnav_title', 'titlenew', $nav['title'], 'text');
showsetting('customnav_url', 'urlnew', $nav['url'], 'text', $nav['type'] == '0');
showsetting('customnav_style', array('stylenew', array(lang('customnav_style_underline'), lang('customnav_style_italic'), lang('customnav_style_bold'))), $string[0], 'binmcheckbox');
showsetting('customnav_style_color', array('colornew', array(
array(0, '<span style="color: '.LINK.';">Default</span>'),
array(1, '<span style="color: Red;">Red</span>'),
array(2, '<span style="color: Orange;">Orange</span>'),
array(3, '<span style="color: Yellow;">Yellow</span>'),
array(4, '<span style="color: Green;">Green</span>'),
array(5, '<span style="color: Cyan;">Cyan</span>'),
array(6, '<span style="color: Blue;">Blue</span>'),
array(7, '<span style="color: Purple;">Purple</span>'),
array(8, '<span style="color: Gray;">Gray</span>'),
)), $string[1], 'mradio');
showsetting('customnav_url_open', array('targetnew', array(
array(0, lang('customnav_url_open_default')),
array(1, lang('customnav_url_open_blank'))
), TRUE), $nav['target'], 'mradio');
showsetting('plugins_edit_modules_adminid', array('levelnew', array(
array(0, lang('nolimit')),
array(1, lang('member')),
array(2, lang('usergroups_system_3')),
array(3, lang('usergroups_system_1')),
)), $nav['level'], 'select');
showsubmit('editsubmit');
showtablefooter();
showformfooter();
} else {
$namenew = dhtmlspecialchars(trim($namenew));
$titlenew = dhtmlspecialchars(trim($titlenew));
$urlnew = dhtmlspecialchars(trim($urlnew));
$stylebin = '';
for($i = 3; $i >= 1; $i--) {
$stylebin .= empty($stylenew[$i]) ? '0' : '1';
}
$stylenew = bindec($stylebin);
$targetnew = intval($targetnew) ? 1 : 0;
$levelnew = intval($levelnew) && $levelnew > 0 && $levelnew < 4 ? intval($levelnew) : 0 ;
$urladd = $nav['type'] == '1' && $urlnew ? ", url='".dhtmlspecialchars($urlnew)."'" : '';
$db->query("UPDATE {$tablepre}navs SET name='$namenew', title='$titlenew', highlight='$stylenew$colornew', target='$targetnew', level='$levelnew' $urladd WHERE id='$id'");
updatecache('settings');
cpmsg('nav_add_succeed', $BASESCRIPT.'?action=misc&operation=customnav', 'succeed');
}
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -