$filter[$i]不合适的单词"); if(eregi($filter[$i],$f_name)) Error("$filter[$i]不合适的单词"); if(eregi($filter[$i],$f_subject)) Error("$filter[$i]不合适的单词"); if(eregi($filter[$i],$f_email)) Error("$filter[$i]不合适的单词"); if(eregi($filter[$i],$f_homepage)) Error("$filter[$i]不合适的单词"); } } } //隐藏密码 if(strlen($password)) { $temp=mysql_fetch_array(mysql_query("select password('$password')")); $password=$temp[0]; } // 管理者或限制HTML级别时检查TAG的禁止情况 if(!$is_admin&&$setup[grant_html]<$member[level]) { // 禁止内容的HTML;; if(!$use_html||$setup[use_html]==0) $memo=del_html($memo); // 使用部分HTML时;; if($use_html&&$setup[use_html]==1) { $memo=str_replace("<","<",$memo); $tag=explode(",",$setup[avoid_tag]); for($i=0;$i","<".$tag[$i].">",$memo); $memo=eregi_replace("</".$tag[$i],"0) {Error("发表帖子30秒以后可以使用"); exit;} } // 检查有没有相同的内容;; if(!$is_admin&&$mode!="modify") { $max_no=mysql_fetch_array(mysql_query("select max(no) from $t_board"."_$id")); $temp=mysql_fetch_array(mysql_query("select count(*) from $t_board"."_$id where memo='$memo' and no='$max_no[0]'")); if($temp[0]>0) {Error("相同内容的帖子不能发表"); exit; } } // COOKIES设置;; if($mode!="modify") { // 已存在的SESSION处理(因4.0xSESSION处理进行**处理) //if($name) $HTTP_SESSION_VARS["zb_writer_name"] = $name; //if($email) $HTTP_SESSION_VARS["zb_writer_email"] = $email; //if($homepage) $HTTP_SESSION_VARS["zb_writer_homepage"] = $homepage; // 4.0x用SESSION处理 if($name) { $zb_writer_name = $name; session_register("zb_writer_name"); } if($email) { $zb_writer_email = $email; session_register("zb_writer_email"); } if($homepage) { $zb_writer_homepage = $homepage; session_register("zb_writer_homepage"); } } /*************************************************************************** * 上传文件时 **************************************************************************/ if($HTTP_POST_FILES[file1]) { $file1 = $HTTP_POST_FILES[file1][tmp_name]; $file1_name = $HTTP_POST_FILES[file1][name]; $file1_size = $HTTP_POST_FILES[file1][size]; $file1_type = $HTTP_POST_FILES[file1][type]; } if($HTTP_POST_FILES[file2]) { $file2 = $HTTP_POST_FILES[file2][tmp_name]; $file2_name = $HTTP_POST_FILES[file2][name]; $file2_size = $HTTP_POST_FILES[file2][size]; $file2_type = $HTTP_POST_FILES[file2][type]; } if($file1_size>0&&$setup[use_pds]&&$file1) { if(!is_uploaded_file($file1)) Error("请使用正确的方法上传文件"); if($file1_name==$file2_name) Error("相同的文件不能发表"); $file1_size=filesize($file1); if($setup[max_upload_size]<$file1_size&&!$is_admin) error("第一个文件最高能上传".GetFileSize($setup[max_upload_size])." 容量上限。"); // 禁止上传 if($file1_size>0) { $s_file_name1=$file1_name; if(eregi("\.inc",$s_file_name1)||eregi("\.phtm",$s_file_name1)||eregi("\.htm",$s_file_name1)||eregi("\.shtm",$s_file_name1)||eregi("\.ztx",$s_file_name1)||eregi("\.html",$s_file_name1)||eregi("\.dot",$s_file_name1)||eregi("\.asp",$s_file_name1)||eregi("\.cgi",$s_file_name1)||eregi("\.pl",$s_file_name1)) Error("Html, PHP文件不允许上传"); //检查文件格式 if($setup[pds_ext1]) { $temp=explode(".",$s_file_name1); $s_point=count($temp)-1; $upload_check=$temp[$s_point]; if(!eregi($upload_check,$setup[pds_ext1])||!$upload_check) Error("$setup[pds_ext1]格式文件才能上传"); } $file1=eregi_replace("\\\\","\\",$file1); $s_file_name1=str_replace(" ","_",$s_file_name1); $s_file_name1=str_replace("-","_",$s_file_name1); // 检查主题 if(!is_dir("data/".$id)) { @mkdir("data/".$id,0777); @chmod("data/".$id,0706); } // 存在重复文件时;; if(file_exists("data/$id/".$s_file_name1)) { @mkdir("data/$id/".$reg_date,0777); if(!move_uploaded_file($file1,"data/$id/".$reg_date."/".$s_file_name1)) Error("文件上传失败"); $file_name1="data/$id/".$reg_date."/".$s_file_name1; @chmod($file_name1,0706); @chmod("data/$id/".$reg_date,0707); } else { if(!move_uploaded_file($file1,"data/$id/".$s_file_name1)) Error("文件上传失败"); $file_name1="data/$id/".$s_file_name1; @chmod($file_name1,0706); } } } if($file2_size>0&&$setup[use_pds]&&$file2) { if(!is_uploaded_file($file2)) Error("请用正确的方法上传文件"); $file2_size=filesize($file2); if($setup[max_upload_size]<$file2_size&&!$is_admin) error("文件最高能上传".GetFileSize($setup[max_upload_size])."容量上限"); if($file2_size>0) { $s_file_name2=$file2_name; if(eregi("\.inc",$s_file_name2)||eregi("\.pht",$s_file_name2)||eregi("\.htm",$s_file_name2)||eregi("\.shtml",$s_file_name2)||eregi("\.ztx",$s_file_name2)||eregi("\.html",$s_file_name2)||eregi("\.dot",$s_file_name1)||eregi("\.asp",$s_file_name2)||eregi("\.cgi",$s_file_name2)||eregi("\.pl",$s_file_name2)) Error("Html, PHP不允许上传!"); //检查文件格式 if($setup[pds_ext2]) { $temp=explode(".",$s_file_name2); $s_point=count($temp)-1; $upload_check=$temp[$s_point]; if(!eregi($upload_check,$setup[pds_ext2])||!$upload_check) Error("$setup[pds_ext2]格式文件才能上传"); } $file2=eregi_replace("\\\\","\\",$file2); $s_file_name2=str_replace(" ","_",$s_file_name2); $s_file_name2=str_replace("-","_",$s_file_name2); // 检查主题 if(!is_dir("data/".$id)) { mkdir("data/".$id,0777); @chmod("data/".$id,0706); } // 有重复文件时;; if(file_exists("data/$id/".$s_file_name2)) { @mkdir("data/$id/".$reg_date,0777); if(!move_uploaded_file($file2,"data/$id/".$reg_date."/".$s_file_name2)) Error("上传文件失败"); $file_name2="data/$id/".$reg_date."/".$s_file_name2; @chmod($file_name2,0706); @chmod("data/$id/".$reg_date,0707); } else { if(!move_uploaded_file($file2,"data/$id/".$s_file_name2)) Error("上传文件失败"); $file_name2="data/$id/".$s_file_name2; @chmod($file_name2,0706); } } } /*************************************************************************** * 是修改的帖子时 **************************************************************************/ if($mode=="modify"&&$no) { if($s_data[ismember]) { if(!$is_admin&&$member[level]>$setup[grant_delete]&&$s_data[ismember]!=$member[no]) Error("请用正确的方法修改帖子"); } // 检查密码;; if($s_data[ismember]!=$member[no]&&!$is_admin) { if($password!=$s_data[password]) Error("密码错误"); } // 删除文件 if($del_file1==1) {@z_unlink("./".$s_data[file_name1]);$del_que1=",file_name1='',s_file_name1=''";} if($del_file2==1) {@z_unlink("./".$s_data[file_name2]);$del_que2=",file_name2='',s_file_name2=''";} // 文件登陆 if($file_name1) {$del_que1=",file_name1='$file_name1',s_file_name1='$s_file_name1'";} if($file_name2) {$del_que2=",file_name2='$file_name2',s_file_name2='$s_file_name2'";} // 公告-> 一般帖子 if(!$notice&&$s_data[headnum]<="-2000000000") { $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id")); $max_division=$temp[0]; $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id where num>0 and division!='$max_division'")); if(!$temp[0]) $second_division=0; else $second_division=$temp[0]; // HEADNUM+1的值;; $max_headnum=mysql_fetch_array(mysql_query("select min(headnum) from $t_board"."_$id where (division='$max_division' or division='$second_division') and headnum>-2000000000")); // 求不是公告的最小headnum $headnum=$max_headnum[0]-1; $next_data=mysql_fetch_array(mysql_query("select no,headnum,division from $t_board"."_$id where (division='$max_division' or division='$second_division') and headnum='$max_headnum[0]' and arrangenum='0'")); // 求下一个帖子;; if(!$next_data[0]) $next_data[0]="0"; $next_no=$next_data[0]; if(!$next_data[division]) $division=1; else $division=$next_data[division]; $prev_data=mysql_fetch_array(mysql_query("select no from $t_board"."_$id where (division='$max_division' or division='$second_division') and headnum<'$headnum' and no!='$no' order by headnum desc limit 1")); // 求上一贴;; if($prev_data[0]) $prev_no=$prev_data[0]; else $prev_no=0; $child="0"; $depth="0"; $arrangenum="0"; $father="0"; minus_division($s_data[division]); //by joys sitelink 20 @mysql_query("update $t_board"."_$id set headnum='$headnum',prev_no='$prev_no',next_no='$next_no',child='$child',depth='$depth',arrangenum='$arrangenum',father='$father',name='$name',email='$email',homepage='$homepage',subject='$subject',memo='$memo',sitelink1='$sitelink1',sitelink2='$sitelink2',sitelink3='$sitelink3',sitelink4='$sitelink4',sitelink5='$sitelink5',sitelink6='$sitelink6',sitelink7='$sitelink7',sitelink8='$sitelink8',sitelink9='$sitelink9',sitelink10='$sitelink10',sitelink11='$sitelink11',sitelink12='$sitelink12',sitelink13='$sitelink13',sitelink14='$sitelink14',sitelink15='$sitelink15',sitelink16='$sitelink16',sitelink17='$sitelink17',sitelink18='$sitelink18',sitelink19='$sitelink19',sitelink20='$sitelink20',use_html='$use_html',reply_mail='$reply_mail',is_secret='$is_secret',category='$category' $del_que1 $del_que2 where no='$no'") or error(mysql_error()); plus_division($division); // 修改下一个帖子的上一个帖子 if($next_no)mysql_query("update $t_board"."_$id set prev_no='$no' where division='$next_data[division]' and headnum='$next_data[headnum]'"); // 修改上一个帖子的下一个帖子 if($prev_no)mysql_query("update $t_board"."_$id set next_no='$no' where no='$prev_no'"); mysql_query("update $t_board"."_$id set prev_no=0 where (division='$max_division' or division='$second_division') and prev_no='$s_data[no]' and headnum!='$next_data[headnum]'"); mysql_query("update $t_category"."_$id set num=num-1 where no='$s_data[category]'",$connect); mysql_query("update $t_category"."_$id set num=num+1 where no='$category'",$connect); } // 一般帖子-> 公告 elseif($notice&&$s_data[headnum]>-2000000000) { $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id")); $max_division=$temp[0]; $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id where num>0 and division!='$max_division'")); if(!$temp[0]) $second_division=0; else $second_division=$temp[0]; $max_headnum=mysql_fetch_array(mysql_query("select min(headnum) from $t_board"."_$id where division='$max_division' or division='$second_division'")); // 坚旋击 掘 ;; $headnum=$max_headnum[0]-1; if($headnum>-2000000000) $headnum=-2000000000; // 最高headnum不是公告时,在现在帖子里添加公告; $next_data=mysql_fetch_array(mysql_query("select no,headnum,division from $t_board"."_$id where (division='$max_division' or division='$second_division') and headnum='$max_headnum[0]' and arrangenum='0'")); if(!$next_data[0]) $next_data[0]="0"; $next_no=$next_data[0]; $prev_no=0; $child="0"; $depth="0"; $arrangenum="0"; $father="0"; minus_division($s_data[division]); $division=add_division(); //by joys sitelink 20 @mysql_query("update $t_board"."_$id set division='$division',headnum='$headnum',prev_no='$prev_no',next_no='$next_no',child='$child',depth='$depth',arrangenum='$arrangenum',father='$father',name='$name',email='$email',homepage='$homepage',subject='$subject',memo='$memo',sitelink1='$sitelink1',sitelink2='$sitelink2',sitelink3='$sitelink3',sitelink4='$sitelink4',sitelink5='$sitelink5',sitelink6='$sitelink6',sitelink7='$sitelink7',sitelink8='$sitelink8',sitelink9='$sitelink9',sitelink10='$sitelink10',sitelink11='$sitelink11',sitelink12='$sitelink12',sitelink13='$sitelink13',sitelink14='$sitelink14',sitelink15='$sitelink15',sitelink16='$sitelink16',sitelink17='$sitelink17',sitelink18='$sitelink18',sitelink19='$sitelink19',sitelink20='$sitelink20',use_html='$use_html',reply_mail='$reply_mail',is_secret='$is_secret',category='$category' $del_que1 $del_que2 where no='$no'") or error(mysql_error()); if($s_data[father]) mysql_query("update $t_board"."_$id set child='$s_data[child]' where no='$s_data[father]'"); // 港旋桧历戏贼 锰狱旋暧 港旋击 营旋暧 港旋煎 渠羹 if($s_data[child]) mysql_query("update $t_board"."_$id set depth=depth-1,father='$s_data[father]' where no='$s_data[child]'"); // 港旋桧 毡戏贼 营旋暧 嫔纂煎;; // 用原来下一个帖子替换这个帖子本来的数据的PREV_NO; $temp=mysql_fetch_array(mysql_query("select max(headnum) from $t_board"."_$id where headnum<='$s_data[headnum]'")); $temp=mysql_fetch_array(mysql_query("select no from $t_board"."_$id where headnum='$temp[0]' and depth='0'")); mysql_query("update $t_board"."_$id set prev_no='$temp[no]' where prev_no='$s_data[no]'"); mysql_query("update $t_board"."_$id set next_no='$s_data[next_no]' where next_no='$s_data[no]'"); mysql_query("update $t_board"."_$id set prev_no='$no' where prev_no='0' and no!='$no'") or error(mysql_error()); // 挤旋暧 桧瞪旋击 扑姜 mysql_query("update $t_category"."_$id set num=num-1 where no='$s_data[category]'",$connect); mysql_query("update $t_category"."_$id set num=num+1 where no='$category'",$connect); // 一般->一般, 公告->公告时 } else { //by joys sitelink 20 @mysql_query("update $t_board"."_$id set name='$name',subject='$subject',email='$email',homepage='$homepage',memo='$memo',sitelink1='$sitelink1',sitelink2='$sitelink2',sitelink3='$sitelink3',sitelink4='$sitelink4',sitelink5='$sitelink5',sitelink6='$sitelink6',sitelink7='$sitelink7',sitelink8='$sitelink8',sitelink9='$sitelink9',sitelink10='$sitelink10',sitelink11='$sitelink11',sitelink12='$sitelink12',sitelink13='$sitelink13',sitelink14='$sitelink14',sitelink15='$sitelink15',sitelink16='$sitelink16',sitelink17='$sitelink17',sitelink18='$sitelink18',sitelink19='$sitelink19',sitelink20='$sitelink20',use_html='$use_html',reply_mail='$reply_mail',is_secret='$is_secret',category='$category' $del_que1 $del_que2 where no='$no'") or error(mysql_error()); mysql_query("update $t_category"."_$id set num=num-1 where no='$s_data[category]'",$connect); mysql_query("update $t_category"."_$id set num=num+1 where no='$category'",$connect); } /*************************************************************************** * 是回复帖子时 **************************************************************************/ } elseif($mode=="reply"&&$no) { $prev_no=$s_data[prev_no]; $next_no=$s_data[next_no]; $father=$s_data[no]; $child=0; $headnum=$s_data[headnum]; if($headnum<=-2000000000&&$notice) Error("不能回复公告"); $depth=$s_data[depth]+1; $arrangenum=$s_data[arrangenum]+1; $move_result=mysql_query("select no from $t_board"."_$id where division='$s_data[division]' and headnum='$headnum' and arrangenum>='$arrangenum'"); while($move_data=mysql_fetch_array($move_result)) { mysql_query("update $t_board"."_$id set arrangenum=arrangenum+1 where no='$move_data[no]'"); } $division=$s_data[division]; plus_division($s_data[division]); // 输入回复数据;; //by joys sitelink 20 mysql_query("insert into $t_board"."_$id (division,headnum,arrangenum,depth,prev_no,next_no,father,child,ismember,memo,ip,password,name,homepage,email,subject,use_html,reply_mail,category,is_secret,sitelink1,sitelink2,sitelink3,sitelink4,sitelink5,sitelink6,sitelink7,sitelink8,sitelink9,sitelink10,sitelink11,sitelink12,sitelink13,sitelink14,sitelink15,sitelink16,sitelink17,sitelink18,sitelink19,sitelink20,file_name1,file_name2,s_file_name1,s_file_name2,x,y,reg_date,islevel) values ('$division','$headnum','$arrangenum','$depth','$prev_no','$next_no','$father','$child','$member[no]','$memo','$ip','$password','$name','$homepage','$email','$subject','$use_html','$reply_mail','$category','$is_secret','$sitelink1','$sitelink2','$sitelink3','$sitelink4','$sitelink5','$sitelink6','$sitelink7','$sitelink8','$sitelink9','$sitelink10','$sitelink11','$sitelink12','$sitelink13','$sitelink14','$sitelink15','$sitelink16','$sitelink17','$sitelink18','$sitelink19','$sitelink20','$file_name1','$file_name2','$s_file_name1','$s_file_name2','$x','$y','$reg_date','$member[is_admin]')") or error(mysql_error()); // 变更原帖子和原帖子下一个帖子的属性;; $no=mysql_insert_id(); mysql_query("update $t_board"."_$id set child='$no' where no='$s_data[no]'"); mysql_query("update $t_category"."_$id set num=num+1 where no='$category'",$connect); // 为了不让使用现在帖子的浏览数,登陆SESSION $hitStr=",".$setup[no]."_".$no; $zb_hit=$HTTP_SESSION_VARS["zb_hit"].$hitStr; session_register("zb_hit"); // 为了不让推荐,登陆SESSION $voteStr=",".$setup[no]."_".$no; $zb_vote=$HTTP_SESSION_VARS["zb_vote"].$voteStr; session_register("zb_vote"); // 发送回复帖子时;; if($s_data[reply_mail]&&$s_data[email]) { if($use_html<2) $memo=nl2br($memo); $memo = stripslashes($memo); zb_sendmail($use_html, $s_data[email], $s_data[name], $email, $name, $subject, $memo); } /*************************************************************************** * 发表新贴时 **************************************************************************/ } elseif($mode=="write") { // 不是公告帖子时;; if(!$notice) { $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id")); $max_division=$temp[0]; $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id where num>0 and division!='$max_division'")); if(!$temp[0]) $second_division=0; else $second_division=$temp[0]; $max_headnum=mysql_fetch_array(mysql_query("select min(headnum) from $t_board"."_$id where (division='$max_division' or division='$second_division') and headnum>-2000000000")); if(!$max_headnum[0]) $max_headnum[0]=0; $headnum=$max_headnum[0]-1; $next_data=mysql_fetch_array(mysql_query("select division,headnum,arrangenum from $t_board"."_$id where (division='$max_division' or division='$second_division') and headnum>-2000000000 order by headnum limit 1")); if(!$next_data[0]) $next_data[0]="0"; else { $next_data=mysql_fetch_array(mysql_query("select no,headnum,division from $t_board"."_$id where division='$next_data[division]' and headnum='$next_data[headnum]' and arrangenum='$next_data[arrangenum]'")); } $prev_data=mysql_fetch_array(mysql_query("select no from $t_board"."_$id where (division='$max_division' or division='$second_division') and headnum<=-2000000000 order by headnum desc limit 1")); if($prev_data[0]) $prev_no=$prev_data[0]; else $prev_no="0"; // 是公告帖子时;; } else { $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id")); $max_division=$temp[0]+1; $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id where num>0 and division!='$max_division'")); if(!$temp[0]) $second_division=0; else $second_division=$temp[0]; $max_headnum=mysql_fetch_array(mysql_query("select min(headnum) from $t_board"."_$id where division='$max_division' or division='$second_division'")); $headnum=$max_headnum[0]-1; if($headnum>-2000000000) $headnum=-2000000000; $next_data=mysql_fetch_array(mysql_query("select division,headnum from $t_board"."_$id where division='$max_division' or division='$second_division' order by headnum limit 1")); if(!$next_data[0]) $next_data[0]="0"; else { $next_data=mysql_fetch_array(mysql_query("select no,headnum,division from $t_board"."_$id where division='$next_data[division]' and headnum='$next_data[headnum]' and arrangenum='0'")); } $prev_no=0; } $next_no=$next_data[no]; $child="0"; $depth="0"; $arrangenum="0"; $father="0"; $division=add_division(); //by joys sitelink 20 mysql_query("insert into $t_board"."_$id (division,headnum,arrangenum,depth,prev_no,next_no,father,child,ismember,memo,ip,password,name,homepage,email,subject,use_html,reply_mail,category,is_secret,sitelink1,sitelink2,sitelink3,sitelink4,sitelink5,sitelink6,sitelink7,sitelink8,sitelink9,sitelink10,sitelink11,sitelink12,sitelink13,sitelink14,sitelink15,sitelink16,sitelink17,sitelink18,sitelink19,sitelink20,file_name1,file_name2,s_file_name1,s_file_name2,x,y,reg_date,islevel) values ('$division','$headnum','$arrangenum','$depth','$prev_no','$next_no','$father','$child','$member[no]','$memo','$ip','$password','$name','$homepage','$email','$subject','$use_html','$reply_mail','$category','$is_secret','$sitelink1','$sitelink2','$sitelink3','$sitelink4','$sitelink5','$sitelink6','$sitelink7','$sitelink8','$sitelink9','$sitelink10','$sitelink11','$sitelink12','$sitelink13','$sitelink14','$sitelink15','$sitelink16','$sitelink17','$sitelink18','$sitelink19','$sitelink20','$file_name1','$file_name2','$s_file_name1','$s_file_name2','$x','$y','$reg_date','$member[is_admin]')") or error(mysql_error()); $no=mysql_insert_id(); // 为了不允许使用浏览数,登陆SESSION $hitStr=",".$setup[no]."_".$no; $zb_hit=$HTTP_SESSION_VARS["zb_hit"].$hitStr; session_register("zb_hit"); // 为了不允许推荐数,登陆SESSION $voteStr=",".$setup[no]."_".$no; $zb_vote=$HTTP_SESSION_VARS["zb_vote"].$voteStr; session_register("zb_vote"); if($prev_no) mysql_query("update $t_board"."_$id set next_no='$no' where no='$prev_no'"); if($next_no) mysql_query("update $t_board"."_$id set prev_no='$no' where headnum='$next_data[headnum]' and division='$next_data[division]'"); mysql_query("update $t_category"."_$id set num=num+1 where no='$category'",$connect); } // 重新更新字数 $total=mysql_fetch_array(mysql_query("select count(*) from $t_board"."_$id ")); mysql_query("update $admin_table set total_article='$total[0]' where name='$id'"); // 是会员时给相应的分数 if($mode=="write"||$mode=="reply") @mysql_query("update $member_table set point1=point1+1 where no='$member[no]'",$connect) or error(mysql_error()); // 关闭MySQL if($connect) { mysql_close($connect); unset($connect); } // 跳转页面 //if($setup[use_alllist]) $view_file="list.html"; else $view_file="show.html"; $view_file = "list.html"; movepage($view_file."?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&no=$no&category=$category"); ?>