📄 global.func.php
字号:
<?php
/*
[Discuz!] (C)2001-2007 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$RCSfile: global.func.php,v $
$Revision: 1.115.2.10 $
$Date: 2007/03/23 18:19:30 $
*/
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
exit('Access Denied');
}
@set_time_limit(0);
function cpmsg($message, $url_forward = '', $msgtype = 'message', $extra = '', $cancelurl = '') {
extract($GLOBALS, EXTR_SKIP);
eval("\$message = \"".(isset($msglang[$message]) ? $msglang[$message] : $message)."\";");
if($msgtype == 'form') {
$message = "<form method=\"post\" action=\"$url_forward\"><input type=\"hidden\" name=\"formhash\" value=\"".FORMHASH."\">".
"<br><br><br>$message$extra<br><br><br><br>\n".
"<input class=\"button\" type=\"submit\" name=\"confirmed\" value=\"$lang[ok]\"> \n".
"<input class=\"button\" type=\"button\" value=\"$lang[cancel]\" onClick=\"".
($cancelurl == '' ? 'history.go(-1)' : 'location.href=\''.$cancelurl.'\'').
";\"></form><br>";
} else {
if($url_forward) {
$message .= "<br><br><br><a href=\"$url_forward\">$lang[message_redirect]</a>";
$url_forward = transsid($url_forward);
$message .= "<script>setTimeout(\"redirect('$url_forward');\", 1250);</script>";
} elseif(strpos($message, $lang['return'])) {
$message .= "<br><br><br><a href=\"javascript:history.go(-1);\" class=\"mediumtxt\">$lang[message_return]</a>";
}
$message = "<br><br><br>$message$extra<br><br>";
}
?>
<br><br><br><br><br><br>
<table width="500" border="0" cellpadding="0" cellspacing="0" align="center" class="tableborder">
<tr class="header"><td><?=$lang['discuz_message']?></td></tr><tr><td class="altbg2"><div align="center">
<?=$message?></div><br><br>
</td></tr></table>
<br><br><br>
<?
cpfooter();
dexit();
}
function istpldir($dir) {
return is_dir(DISCUZ_ROOT.'./'.$dir) && !in_array(substr($dir, -1, 1), array('/', '\\')) &&
strpos(realpath(DISCUZ_ROOT.'./'.$dir), realpath(DISCUZ_ROOT.'./templates')) === 0;
}
function isplugindir($dir) {
return !$dir || (!preg_match("/(\.\.|[\\\\]+$)/", $dir) && substr($dir, -1) =='/');
}
function ispluginkey($key) {
return preg_match("/^[a-z]+[a-z0-9_]*$/i", $key);
}
function dir_writeable($dir) {
if(!is_dir($dir)) {
@mkdir($dir, 0777);
}
if(is_dir($dir)) {
if($fp = @fopen("$dir/test.txt", 'w')) {
@fclose($fp);
@unlink("$dir/test.txt");
$writeable = 1;
} else {
$writeable = 0;
}
}
return $writeable;
}
function hookselect($hooksarray, $title = '') {
$hookselect = '';
foreach($hooksarray as $group => $hooks) {
$hookselect .= "<optgroup label=\"$group\">";
foreach($hooks as $hook) {
$hookselect .= "<option value=\"$hook\" ".($title && $title == $hook ? 'selected' : '').">$hook</option>";
}
$hookselect .= "</optgroup>";
}
return $hookselect;
}
function checkpermission($action, $break = 1) {
if(!isset($GLOBALS['admincp'])) {
cpmsg('action_access_noexists');
} elseif($break && !$GLOBALS['admincp'][$action]) {
cpmsg('action_noaccess_config');
} else {
return $GLOBALS['admincp'][$action];
}
}
function showforum($key, $type = '') {
global $forums, $showedforums, $lang, $indexname;
$forum = $forums[$key];
$showedforums[] = $key;
return '<li><a href="'.($type == 'group' ? './'.$indexname.'?gid='.$forum['fid'] : './forumdisplay.php?fid='.$forum['fid']).'" target="_blank"><b>'.$forum['name'].'</b><span class="smalltxt">'.
($forum['status'] ? '' : ' ('.$lang['forums_hidden'].')').'</span></a> - '.
$lang['display_order'].': <input type="text" name="order['.$forum['fid'].']" value="'.$forum['displayorder'].'" size="1"> - '.
($type != 'sub' ? '<a href="admincp.php?action=forumadd&fupid='.$forum['fid'].'" title="'.$lang['forums_add_comment'].'">['.$lang['forums_add'].']</a> ' : '').
'<a href="admincp.php?action=forumdetail&fid='.$forum['fid'].'" title="'.$lang['forums_edit_comment'].'">['.$lang['edit'].']</a>'.
($type != 'group' ? ' <a href="admincp.php?action=forumcopy&source='.$forum['fid'].'" title="'.$lang['forums_copy_comment'].'">['.$lang['forums_copy'].']</a> ' : ' ').
'<a href="admincp.php?action=forumdelete&fid='.$forum['fid'].'" title="'.$lang['forums_delete_comment'].'">['.$lang['delete'].']</a> - '.
'<a href="admincp.php?action=moderators&fid='.$forum['fid'].'" title="'.$lang['forums_moderators_comment'].'">['.$lang['forums_moderators'].($forum['moderators'] ? ': '.str_replace("\t", ', ', $forum['inheritedmod'] ? '<b>'.$forum['moderators'].'</b>' : $forum['moderators']) : '').']</a>'.
'<br></li>';
}
function showtype($name, $type = '', $submit = '', $colspan = 2) {
$name = isset($GLOBALS['lang'][$name]) ? $GLOBALS['lang'][$name] : $name;
$id = substr(md5($name), 16);
$submithtml = $submit ? '<center><input class="button" type="submit" name="'.$submit.'" value="'.$GLOBALS['lang']['submit'].'"></center>' : '';
if($type != 'bottom') {
if(!$type) {
echo '</table><br>';
}
if(!$type || $type == 'top') {
?>
<a name="<?=$id?>"></a>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header">
<td colspan="<?=$colspan?>"><?=$name?>
<a href="###" onclick="collapse_change('<?=$id?>')"><img id="menuimg_<?=$id?>" src="./images/admincp/menu_reduce.gif" border="0" style="float: right; margin-top: -12px; margin-right: 8px;" /></a>
</td>
</tr>
<tbody id="menu_<?=$id?>" style="display: yes">
<?
}
} else {
echo '</tbody></table>'.$submithtml;
}
}
function showsetting($setname, $varname, $value, $type = 'radio', $width = '60%') {
global $lang;
$check = array();
$comment = isset($lang[$setname.'_comment']) ? $lang[$setname.'_comment'] : '';
$aligntop = $type == "textarea" || $width != "60%" ? "valign=\"top\"" : NULL;
echo "<tr><td width=\"$width\" class=\"altbg1\" $aligntop>".
'<b>'.(isset($lang[$setname]) ? $lang[$setname] : $setname).'</b>'.($comment ? '<br><span class="smalltxt">'.$comment.'</span>' : NULL).'</td>'.
'<td class="altbg2">';
if($type == 'radio') {
$value ? $check['true'] = "checked" : $check['false'] = "checked";
$value ? $check['false'] = '' : $check['true'] = '';
echo "<input class=\"radio\" class=\"radio\" type=\"radio\" name=\"$varname\" value=\"1\" $check[true]> {$lang['yes']} \n".
"<input class=\"radio\" class=\"radio\" type=\"radio\" name=\"$varname\" value=\"0\" $check[false]> {$lang['no']}\n";
} elseif($type == 'radioplus') {
$value == -1 ? $check['default'] = 'checked' : ($value ? $check['true'] = 'checked' : $check['false'] = 'checked');
echo "<input class=\"radio\" class=\"radio\" type=\"radio\" name=\"$varname\" value=\"-1\" $check[default]> ".$lang['default']." \n".
"<input class=\"radio\" class=\"radio\" type=\"radio\" name=\"$varname\" value=\"1\" $check[true]> {$lang['yes']} \n".
"<input class=\"radio\" class=\"radio\" type=\"radio\" name=\"$varname\" value=\"0\" $check[false]> {$lang['no']}\n";
} elseif($type == 'color') {
global $stylestuff;
$preview_varname = str_replace('[', '_', str_replace(']', '', $varname));
$background = strexists($value, '.') ? "url('".$stylestuff['imgdir']['subst']."/$value')" : $value;
echo "<input type=\"text\" size=\"30\" value=\"$value\" name=\"$varname\" onchange=\"if(this.value.indexOf('.')==-1) this.form.$preview_varname.style.background=this.value; else this.form.$preview_varname.style.background='url(".$stylestuff['imgdir']['subst']."/'+this.value+')'\">\n".
"<input type=\"button\" id=\"$preview_varname\" value=\"\" style=\"width: 20px;background: $background\" disabled>\n";
} elseif($type == 'text' || $type == 'password') {
echo "<input type=\"$type\" size=\"30\" name=\"$varname\" value=\"".dhtmlspecialchars($value)."\">\n";
} elseif($type == 'calendar') {
echo "<input type=\"$type\" size=\"30\" name=\"$varname\" value=\"".dhtmlspecialchars($value)."\" onclick=\"showcalendar(event, this)\">\n";
} elseif($type == 'textarea') {
echo "<img src=\"images/admincp/zoomin.gif\" onmouseover=\"this.style.cursor='pointer'\" onclick=\"zoomtextarea('$varname', 1)\"> <img src=\"images/admincp/zoomout.gif\" onmouseover=\"this.style.cursor='pointer'\" onclick=\"zoomtextarea('$varname', 0)\"><br><textarea rows=\"5\" name=\"$varname\" id=\"$varname\" cols=\"30\">".dhtmlspecialchars($value)."</textarea>";
} else {
echo $type;
}
echo '</td></tr>';
}
function showmenu($title, $menus = array()) {
global $menucount, $collapse;
echo '<table width="146" border="0" cellspacing="0" align="center" cellpadding="0" class="leftmenulist" style="margin-bottom: 5px;">';
if(is_array($menus)) {
$menucount++;
$collapsed = preg_match("/\[$menucount\]/", $collapse);
echo '<tr class="leftmenutext"><td><a href="###" onclick="collapse_change('.$menucount.')"><img id="menuimg_'.$menucount.'" src="./images/admincp/menu_'.($collapsed ? 'add' : 'reduce').'.gif" border="0"/></a> '.
'<a href="###" onclick="collapse_change('.$menucount.')">'.$title.'</a></td></tr>'.
'<tbody id="menu_'.$menucount.'" style="display:'.($collapsed ? 'none' : '').'">'.
'<tr class="leftmenutd"><td><table border="0" cellspacing="0" cellpadding="0" class="leftmenuinfo">';
foreach($menus as $menudata) {
echo $menudata['name'] ? '<tr><td><a href="'.$menudata['url'].'" target="main">'.$menudata['name'].'</a></td></tr>' : '';
}
echo '</table></td></tr></tbody>';
} else {
echo "<tr class=\"leftmenutext\"><td><img src=\"./images/admincp/menu_reduce.gif\" /> <a href=\"$menus\" target=\"main\">$title</a></td></tr>\n";
}
echo "</table>\n";
}
function showtips($tips) {
global $_DCOOKIE;
$tips = isset($GLOBALS['lang'][$tips]) ? $GLOBALS['lang'][$tips] : $tips;
$collapsed = preg_match("/\[tip\]/", isset($_DCOOKIE['collapse']) ? $_DCOOKIE['collapse'] : '');
echo '<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">'.
'<tr class="header"><td><div style="float:left; margin-left:0px; padding-top:8px"><a href="###" onclick="collapse_change(\'tip\')">'.$GLOBALS['lang']['tips'].'</a></div><div style="float:right; margin-right:4px; padding-bottom:9px">'.
'<a href="###" onclick="collapse_change(\'tip\')"><img id="menuimg_tip" src="./images/admincp/menu_'.($collapsed ? 'add' : 'reduce').'.gif" border="0"/></a></div>'.
'</td></tr><tbody id="menu_tip" style="display:'.($collapsed ? 'none' : '').'"><tr><td>'.$tips.'</td></tr></tbody></table><br />';
}
function shownav($navs) {
$navs = isset($GLOBALS['lang'][$navs]) ? $GLOBALS['lang'][$navs] : $navs;
echo '<table width="100%" border="0" cellpadding="0" cellspacing="0" class="guide">'.
'<tr><td><a href="#" onClick="parent.menu.location=\'admincp.php?action=menu\'; parent.main.location=\'admincp.php?action=home\';return false;">'.$GLOBALS['lang']['header_system'].'</a> » '.$navs.'</td></tr></table><br />';
}
function sqldumptable($table, $startfrom = 0, $currsize = 0) {
global $db, $sizelimit, $startrow, $extendins, $sqlcompat, $sqlcharset, $dumpcharset, $usehex, $complete, $excepttables;
$offset = 300;
$tabledump = '';
$tablefields = array();
$query = $db->query("SHOW FULL COLUMNS FROM $table", 'SILENT');
if(strexists($table, 'adminsessions')) {
return ;
} elseif(!$query && $db->errno() == 1146) {
return;
} elseif(!$query) {
$usehex = FALSE;
} else {
while($fieldrow = $db->fetch_array($query)) {
$tablefields[] = $fieldrow;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -