/***************************************************************************
* 当频繁调入时禁止发生错误
**************************************************************************/
if($_head_php_excuted) return;
$_head_php_excuted = true;
/***************************************************************************
* 基本 include
**************************************************************************/
// 基本函数文件 include
if(eregi(":\/\/",$_zb_path)||eregi("\.\.",$_zb_path)) $_zb_path ="./";
include $_zb_path."lib.html";
/***************************************************************************
* 检查现在调入_head.html的文件是不是跟版块相关的文件
**************************************************************************/
$_zb_file_list = array("apply_vote.html","comment_ok.html","del_comment.html","del_comment_ok.html","delete.html","download.html","list_all.html","show.html","vote.html","write.html","write_ok.html","list.html","image_box.html");
$_zb_c = count($_zb_file_list);
for($i=0;$i<$_zb_c;$i++) {
if(eregi($_zb_file_list[$i],$PHP_SELF)) { $_zboardis = TRUE; break; }
else $_zboardis = FALSE;
}
// 核对表格函数文件 include
if($_zboardis) include "include/list_check.html";
/***************************************************************************
* 核对基本设置
**************************************************************************/
// 核对版块$id
if(!$id&&$_zboardis) Error("请指定论坛版块名字.
例) list.html?id=名字",""); // 核对版块名
/***************************************************************************
* 连接数据库读取基本数据
**************************************************************************/
// 连接数据库
if(!$connect) $connect=dbConn();
// 读取会员信息;;; 存在会员时
$_dbTimeStart = getmicrotime();
$member=member_info();
$_dbTime += getmicrotime()-$_dbTimeStart;
/***************************************************************************
* 现在调入 _head.html的文件是论坛形式的版块时,要核对的内容
**************************************************************************/
if($_zboardis) {
// 读取版块设置
$_dbTimeStart = getmicrotime();
$setup = get_table_attrib($id);
if(!$setup[name]) Error("这个论坛版块不存在.
先生成论坛版块后使用",""); // 不存在的版块
// 读取版块的论坛设置
if($_zboardis) $group=group_info($setup[group_no]);
$_dbTime += getmicrotime()-$_dbTimeStart;
// 检查在线会员的身份
if($member[is_admin]==1||($member[is_admin]==2&&$member[group_no]==$setup[group_no])||check_board_master($member, $setup[no])) $is_admin=1; else $is_admin="";
// 当论坛为非公开论坛或登陆者不是会员时表示错误
if($group[is_open]==0&&!$is_admin&&$member[group_no]!=$setup[group_no]) Error("不是公开的论坛.");
// 禁止访问临近的IP时;;;
if(!$is_admin) check_blockip();
// 当管理员时无条件的激活同时浏览多贴功能(为了整理帖子)
if($is_admin) $setup[use_cart]=1;
// SKIN目录 : 用$dir变量继续指向SKIN目录文件
$dir="skin/".$setup[skinname];
// 设置版块宽度
$width=$setup[table_width];
// 读取分类
if($setup[use_category]) {
$_dbTimeStart = getmicrotime();
$result=mysql_query("select * from $t_category"."_$id order by no");
$_dbTime += getmicrotime()-$_dbTimeStart;
$a_category="";
} else {
$category="";
}
if(!$browser) $a_category="Category";
/////////////////////////////////////////////
// 当不是write.html时的搜索数量及QUERY整理
/////////////////////////////////////////////
if(!eregi("write.html",$PHP_SELF)) {
// 核对Division状态
$_dbTimeStart = getmicrotime();
$division_result=mysql_query("select * from $t_division"."_$id where num>0 order by division desc");
$_dbTime += getmicrotime()-$_dbTimeStart;
$total_division=mysql_num_rows($division_result);
$sum=0;
$division=0;
// 不存在division页面时设置 (搜索时使用的单位页面)
if(!$divpage) $divpage = $total_division;
if($divpage<$total_division) $prevdivpage = $divpage +1;
if($divpage>1) $nextdivpage = $divpage -1;
// 排序功能 : $select_arrange 是顺排序, $desc 是逆排序时
if(!$select_arrange) $select_arrange="headnum";
if(!$desc) $desc="asc";
// 主题上不出现回复时 (设置论坛版块时选择use_showreply时)
if(!$setup[use_showreply]) if(!$s_que) $s_que=" arrangenum=0 "; else $s_que.=" and arrangenum=0 ";
// 分类 : 使用分类功能时把category放在搜索条件里
if($category) if(!$s_que) $s_que=" category='$category' "; else $s_que.=" and category='$category'";
// 核对搜索功能, $sn 名字 $ss 主题 $sc 内容检查, $keyword 内容;;
$keyword=stripslashes($keyword);
$keyword=str_replace("`","",$keyword);
$keyword=str_replace("\"","",$keyword);
$keyword=str_replace("'","",$keyword);
if(!$sn) $sn="off";
if(!$ss) $ss="off";
if(!$sc) $sc="off";
if($sc=="off"&&$sn=="off"&&$ss=="off") {
$sc="on";
$ss="on";
}
if(!isblank($keyword)) {
$keyword=addslashes($keyword);
if(!$sn1) {
if($sn=="on"&&$t_s_que) $t_s_que.=" or name like '%$keyword%' ";
elseif($sn=="on") $t_s_que.=" name like '%$keyword%' ";
} else {
if($sn=="on"&&$t_s_que) $t_s_que.=" or name = '$keyword' ";
elseif($sn=="on") $t_s_que.=" name = '$keyword' ";
}
if($ss=="on"&&$t_s_que) $t_s_que.=" or subject like '%$keyword%' "; elseif($ss=="on") $t_s_que.=" subject like '%$keyword%' ";
if($sc=="on"&&$t_s_que) $t_s_que.=" or memo like '%$keyword%' "; elseif($sc=="on") $t_s_que.=" memo like '%$keyword%' ";
if($s_que) $s_que.=" and ( ".$t_s_que." ) ";
else $s_que.= " ( ".$t_s_que." ) ";
$keyword=stripslashes($keyword);
}
// 当有搜索条件时在前面加where
if($s_que) $s_que=" where ".$s_que;
// 求总数 : 当有搜索语时另求全体个数,或者根据版块上的
if($s_que) {
// 只有分类时
if(!$keyword&&$setup[use_showreply]) {
$total=$_category_data[$category];
// 当选择搜索语或无回复时
} else {
$use_division = true;
$s_que = str_replace("where","where division='$divpage' and ", $s_que);
$_dbTimeStart = getmicrotime();
$temp=mysql_fetch_array(mysql_query("select count(*) from $t_board"."_$id $s_que ",$connect));
$_dbTime += getmicrotime()-$_dbTimeStart;
$total=$temp[0];
}
} else $total=$setup[total_article];
// 求页面相关的变量值
$page_num=$setup[memo_num];
if(!$page) $page=1; // 若$page变量为空值,任意输入1页
$total_page=(int)(($total-1)/$page_num)+1; // 求所有页面
if($page>$total_page) $page=$total_page; // 当页面大于全体页面时换页数
$start_num=($page-1)*$page_num; // 当显示随页数的页面时求要当第一个帖子的编号
}
// 连接设置
unset($href);
$href="id=$id&page=$page&sn1=$sn1&divpage=$divpage";
if($category) $href.="&category=$category";
if($sn) $href.="&sn=$sn";
if($ss) $href.="&ss=$ss";
if($sc) $href.="&sc=$sc";
if($prev_num) $href.="&prev_num=$prev_num";
if($keyword) $href.="&keyword=$keyword";
unset($sort);
if($select_arrange) $sort.="&select_arrange=$select_arrange";
if($desc) $sort.="&desc=$desc";
// 显示分类变量
if(!$setup[use_category]) {
$hide_category_start="";
}
// 显示同时浏览多贴变量
if($is_admin||$setup[use_cart]) {
$a_cart="";
} else {
$hide_cart_start="";
$a_cart="";
}
// 全部删除按钮
if($is_admin) $a_delete_all=""; else $a_delete_all=""; else $a_status=""; else $a_setup="";
$memo_on_sound="";
} else $member_memo_icon="
";
} else $member_memo_icon="";
}
/***************************************************************************
* 设置各种基本按钮
**************************************************************************/
// 登陆、注销、修改会员信息、短消息菜单按钮
$s_url = $REQUEST_URI;
if($id&&!eregi($id, $s_url)) {
if(eregi("\?",$s_url)) $s_url = $s_url . "&id=$id";
else $s_url = $s_url . "?id=$id";
}
$s_url = urlencode($s_url);
if(!$member[no]) {
$a_login="";
$a_logout="";
$a_member_modify="";
$a_member_memo="";
}
// 注册按钮;;
if(!$member[no]&&$group[use_join]) $a_member_join=""; else $a_member_join="