www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/admin/setforum.php

    <?php
!function_exists('adminmsg') && exit('Forbidden');
$basename="$admin_file?adminjob=setforum";

include_once(D_P.'data/bbscache/forumcache.php');
require_once GetLang('all');
require_once(R_P.'require/updateforum.php');

list($hidefid,$hideforum) = GetHiddenForum();
//if(If_manager){
	$forumcache .= $hideforum;
//}
if(empty($action)){
	$catedb=$forumdb=$subdb1=$subdb2=array();
	$space="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

	$query=$db->query("SELECT fid,fup,type,name,vieworder,forumadmin,f_type,cms FROM pw_forums WHERE cms!='1' ORDER BY vieworder");
	while($forums=$db->fetch_array($query)){
		$forums['name'] = preg_replace("/\<(.+?)\>/is","",$forums['name']);//去除html标签
		$forums['name'] = str_replace("<","&lt;",$forums['name']);
		$forums['name'] = str_replace(">","&gt;",$forums['name']);
		if($forums['forumadmin']){
			if(substr($forums['forumadmin'],0,1)==',' && substr($forums['forumadmin'],-1)==','){
				$forums['forumadmin']=substr($forums['forumadmin'],1,-1);
			}
		}
		if($forums['type']=='category'){
			$forums['space']=$space.$lang['forum_cate'];
			$catedb[]=$forums;
		} elseif($forums['type']=='forum'){
			$forums['space']=$space.$space.$lang['forum_cate1'];
			$forumdb[]=$forums;
		} else{
			if($forum[$forums['fup']]['type']=='forum'){
				$forums['space']=$space.$space.$space.$lang['forum_cate2'];
				$subdb1[]=$forums;
			} else{
				$forums['space']=$space.$space.$space.$space.$lang['forum_cate3'];
				$subdb2[]=$forums;
			}
		}
	}
	$threaddb=array();
	foreach($catedb as $cate){
		$threaddb[]=$cate;
		foreach($forumdb as $key2=>$forumss){
			if($forumss['fup']==$cate['fid']){
				$threaddb[]=$forumss;
				unset($forumdb[$key2]);
				foreach($subdb1 as $key3=>$sub1){
					if($sub1['fup']==$forumss['fid']){
						$threaddb[]=$sub1;
						unset($subdb1[$key3]);
						foreach($subdb2 as $key4=>$sub2){
							if($sub2['fup']==$sub1['fid']){
								$threaddb[]=$sub2;
								unset($subdb2[$key4]);
							}
						}
					}
				}
			}
		}
	}
	$forum_L=array();
	if($forumdb){
		foreach($forumdb as $value){
			$value['space']=$space.$space.$lang['forum_cate1'];
			$forum_L[]=$value;
		}
	}
	if($subdb1){
		foreach($subdb1 as $value){
			$value['space']=$space.$space.$lang['forum_cate1'];
			$forum_L[]=$value;
			//$db->update("UPDATE pw_forums SET fup=0 WHERE fid='$value[fid]'");
		}
	}
	if($subdb2){
		foreach($subdb2 as $value){
			$value['space']=$space.$space.$lang['forum_cate1'];
			$forum_L[]=$value;
			//$db->update("UPDATE pw_forums SET fup=0 WHERE fid='$value[fid]'");
		}
	}
	include PrintEot('setforum');exit;
} elseif($_POST['action']=='addforum'){
	InitGP(array('name','forumtype','ifsave','fup'),'P');
	if(empty($name)){
		adminmsg('setforum_empty');
	}
	if(!is_numeric($fup) && $forumtype!='category'){
		$fupfid=$db->get_one("SELECT fid FROM pw_forums WHERE type='category' ORDER BY fid LIMIT 1");
		$fup=$fupfid['fid'];
	}

	if($forumtype=='forum' && $forum[$fup]['type']!='category' && $ifsave){
		$forumtype='sub';
		$fupset=$db->get_one("SELECT f.allowhide,f.allowsell,f.allowtype,f.copyctrl,f.viewsub,f.allowvisit,f.allowpost,f.allowrp,f.allowdownload,f.allowupload,f.f_type,f.f_check,f.cms,f.ifhide,fe.creditset,fe.forumset FROM pw_forums f LEFT JOIN pw_forumsextra fe USING(fid) WHERE f.fid='$fup'");
		Add_S($fupset);
		@extract($fupset,EXTR_OVERWRITE);
		$db->update("INSERT INTO pw_forums (fup,type,name,allowhide,allowsell,allowtype,copyctrl,viewsub,allowvisit,allowpost,allowrp,allowdownload,allowupload,f_type,f_check,cms,ifhide) VALUES ('".(int)$fup."','$forumtype','$name','$allowhide','$allowsell','$allowtype','$copyctrl','$viewsub','$allowvisit','$allowpost','$allowrp','$allowdownload','$allowupload','$f_type','$f_check','$cms','$ifhide')");
		$fid=$db->insert_id();
		if($creditset || $forumset){
			$db->update("INSERT INTO pw_forumsextra (fid,creditset,forumset) VALUES ('$fid','$creditset','$forumset')");
		}
	} else{
		$fup = (int)$fup;
		$forumtype=='forum' && $forum[$fup]['type']!='category' && $forumtype='sub';
		$f_type = $forum[$fup]['f_type']=='hidden' ? 'hidden' : 'forum';
		$db->update("INSERT INTO pw_forums (fup,type,name,f_type,cms,ifhide,allowtype) VALUES ('$fup','$forumtype','$name','$f_type','0','1','3')");
		$fid=$db->insert_id();
	}
	$db->update("INSERT INTO pw_forumdata (fid) VALUES ('$fid')");

	P_unlink(D_P.'data/bbscache/c_cache.php');
	updatecache_f();
	$forumtype!='category' && updatetop();
	adminmsg('operate_success');
} elseif($_POST['action']=='editforum'){
	$errorname='';
	InitGP(array('order','forumadmin'),'P');
	foreach ($order as $key => $vieworder) {
		if ($forumadmin[$key]) {
			$newadmin = array();
			$admin_a  = explode(",",$forumadmin[$key]);
			foreach ($admin_a as $aid=>$value) {
				$value = trim($value);
				if ($value && !in_array($value,$newadmin)) {
					$mb = $db->get_one("SELECT uid FROM pw_members WHERE username='$value'");
					if ($mb) {
						$newadmin[] = $value;
					} else {
						$errorname .= $value.',';
					}
				}
			}
			$newadmin = implode(',',$newadmin);
			$newadmin && $newadmin=','.$newadmin.',';
		} else {
			$newadmin = '';
		}
		$db->update("UPDATE pw_forums SET vieworder='$vieworder',forumadmin='$newadmin' WHERE fid='$key'");
	}
	updatecache_f();
	updateadmin();
	$errorname && adminmsg('user_not_exists');
	adminmsg('operate_success');
} elseif($action=='delete'){
	InitGP(array('fid'));
	if(!$_POST['step']){
		include PrintEot('setforum');exit;
	} else{
		@extract($db->get_one("SELECT fid,fup,type FROM pw_forums WHERE fid='$fid'"));
		@extract($db->get_one("SELECT count(*) AS count FROM pw_forums WHERE fup='$fid' AND type<>'category'"));
		if($count){
			adminmsg('forum_havesub');
		}
		delforum($fid);
		P_unlink(D_P.'data/bbscache/c_cache.php');
		updatecache_f();
		adminmsg('operate_success');
	}
} elseif($action=='credit'){
	InitGP(array('fid'));
	$basename="$admin_file?adminjob=setforum&action=credit&fid=$fid";
	$rt=$db->get_one("SELECT fid FROM pw_forums WHERE fid='$fid' AND type!='category'");
	if(!$rt){
		adminmsg('forum_not_exists');
	}
	if(!$_POST['step']){
		@extract($db->get_one("SELECT * FROM pw_forumsextra WHERE fid='$fid'"));
		if($creditset){
			$credit=unserialize($creditset);
			foreach($credit as $key => $value){
				foreach($value as $k => $val){
					if($val!=='' && $key == 'rvrc' && $k != 'Reply' && $k != 'Deleterp'){
						$val /= 10;
					}
					$val!=='' && $val = (int)$val;
					$credit[$key][$k] = $val;
				}
			}
		}
		include PrintEot('setforum');exit;
	} else{
		InitGP(array('creditdb','otherfid','otherforum'),'P');
		foreach($creditdb as $key => $value){
			foreach($value as $k => $val){
				if($val!=='' && $key == 'rvrc' && $k != 'Reply' && $k != 'Deleterp'){
					$val *= 10;
				}
				$val!=='' && $val = (int)$val;
				$creditdb[$key][$k] = $val;
			}
		}
		$creditset = $creditdb ? serialize($creditdb) : '';

		$db->pw_update(
			"SELECT fid FROM pw_forumsextra WHERE fid='$fid'",
			"UPDATE pw_forumsextra SET creditset='$creditset' WHERE fid='$fid'",
			"INSERT INTO pw_forumsextra SET creditset='$creditset',fid='$fid'"
		);
		if(is_array($otherfid) && is_array($otherforum)){
			foreach($otherfid as $key => $selfid){
				if(!$selfid || !is_numeric($selfid) || $selfid == $fid || $forum[$selfid]['type'] == 'category'){
					continue;
				}
				$rt = $db->get_one("SELECT fid,creditset FROM pw_forumsextra WHERE fid='$selfid'");
				if($rt['fid']){
					if($rt['creditset']){
						$newcreditset = unserialize($rt['creditset']);
						foreach($newcreditset as $key => $value){
							foreach($value as $k => $val){
								if($otherforum[$key][$k]){
									$newcreditset[$key][$k] = $creditdb[$key][$k];
								}
							}
						}
						$creditset = serialize($newcreditset);
						$db->update("UPDATE pw_forumsextra SET creditset='$creditset' WHERE fid='$selfid'");
					} else{
						$newcreditset = array();
						foreach($creditdb as $key => $value){
							foreach($value as $k => $val){
								if($otherforum[$key][$k]){
									$newcreditset[$key][$k] = $creditdb[$key][$k];
								} else{
									$newcreditset[$key][$k] = 0;
								}
							}
						}
						$creditset = serialize($newcreditset);
						$db->update("UPDATE pw_forumsextra SET creditset='$creditset' WHERE fid='$selfid'");
					}
				} else{
					$newcreditset = array();
					foreach($creditdb as $key => $value){
						foreach($value as $k => $val){
							if($otherforum[$key][$k]){
								$newcreditset[$key][$k] = $creditdb[$key][$k];
							} else{
								$newcreditset[$key][$k] = 0;
							}
						}
					}
					$creditset = serialize($newcreditset);
					$db->update("INSERT INTO pw_forumsextra SET creditset='$creditset',fid='$selfid'");
				}
			}
		}
		adminmsg('operate_success');
	}
} elseif($action=='edit') {

	InitGP(array('fid'));

	if (!$_POST['step']) {
		@extract($db->get_one("SELECT f.*,fe.forumset FROM pw_forums f LEFT JOIN pw_forumsextra fe USING(fid) WHERE f.fid='$fid'"));
		$forumset = unserialize($forumset);
		$forumset['newtime']  /= 60;
		$forumset['rvrcneed'] /= 10;
		$forumset['addtpctype'] ? $addtpctype_Y = 'checked' : $addtpctype_N = 'checked';

		$name = str_replace("<","&lt;",$name);
		$name = str_replace(">","&gt;",$name);
		if ($forumadmin) {
			if (substr($forumadmin,0,1)==',' && substr($forumadmin,-1)==',') {
				$forumadmin = substr($forumadmin,1,-1);
			}
		}
		require_once(R_P."require/forum.php");
		$setfid_style = getstyles($style);

		if ($type!='category') {
			require_once(R_P.'require/credit.php');
			$credit_a = GetCreditType();
			list($uploadcredit,$uplodmoney,$downloadmoney,$downloadimg) = explode("\t",$forumset['uploadset']);
			ifcheck($downloadimg,'img');
			ifcheck($forumset['dig'],'dig');
			ifcheck($forumset['inspect'],'inspect');
			ifcheck($forumset['watermark'],'watermark');
			ifcheck($forumset['allowencode'],'allowencode');
			ifcheck($forumset['anonymous'],'anonymous');
			ifcheck($forumset['commend'],'commend');
			list($rw_time,$rw_b_val,$rw_a_val,$rw_credit) = explode("\t",$forumset['rewarddb']);
			$rw_credit = explode(',',$rw_credit);

			for ($i = 0;$i < 5;$i++) {
				${'allowtype_'.pow(2,$i)} = $allowtype & pow(2,$i) ? 'checked' : '';
			}
			for ($i = 1;$i < 4;$i++) {
				${'recycle_'.pow(2,$i)} = $forumset['recycle'] & pow(2,$i) ? 'checked' : '';
			}
			${'autocommend_'.$forumset['autocommend']}='selected';
			${'sel_'.$forumset['orderway']}='selected';
			${'sel_'.$forumset['asc']}='selected';
			$name    = str_replace("<","&lt;",$name);
			$name    = str_replace(">","&gt;",$name);
			$descrip = str_replace("<","&lt;",$descrip);
			$descrip = str_replace(">","&gt;",$descrip);

			ifcheck($viewsub,'viewsub');
			ifcheck($allowhide,'allowhide');
			ifcheck($allowsell,'allowsell');
			ifcheck($copyctrl,'copyctrl');
			ifcheck($showsub,'showsub');
			ifcheck($ifhide,'ifhide');

			${'check_'.$f_check}='checked';
			$ftype[$f_type]='selected';
			$forumcache = str_replace("<option value=\"$fup\">","<option value=\"$fup\" selected>",$forumcache);
			$usergroup  = "<table cellspacing='0' cellpadding='0' border='0' width='100%' align='center'><tr>";
			foreach ($ltitle as $key=>$value) {
				if ($key==1||$key==2) continue;
				$htm_tr='';$num++;$num%5==0?$htm_tr='</tr><tr>':'';
				$usergroup.="<td><input type='checkbox' name='permit[]' value='$key' _{$key}_>$value</td>$htm_tr";
			}
			$usergroup  .= "</tr></table>";
			$viewvisit	 = str_replace('permit','allowvisit',$usergroup);
			$viewread	 = str_replace('permit','allowread',$usergroup);
			$viewpost    = str_replace('permit','allowpost',$usergroup);
			$viewrp      = str_replace('permit','allowrp',$usergroup);
			$viewupload  = str_replace('permit','allowupload',$usergroup);
			$viewdownload= str_replace('permit','allowdownload',$usergroup);
			$visitper = explode(",",$allowvisit);
			$readper  = explode(",",$allowread);
			$postper  = explode(",",$allowpost);
			$rpper	  = explode(",",$allowrp);
			$uploadper= explode(",",$allowupload);
			$downper  = explode(",",$allowdownload);
			$t_typedb = explode("\t",$t_type);/*主题分类*/
			$t_typedb[0] = (int)$t_typedb[0];
			${'t_type_'.$t_typedb[0]}='checked';
			foreach($visitper as $value)
				$viewvisit = str_replace("_{$value}_",'checked',$viewvisit);
			foreach($readper as $value)
				$viewread  = str_replace("_{$value}_",'checked',$viewread);
			foreach($postper as $value)
				$viewpost  = str_replace("_{$value}_",'checked',$viewpost);
			foreach($rpper as $value)
				$viewrp = str_replace("_{$value}_",'checked',$viewrp);
			foreach($uploadper as $value)
				$viewupload = str_replace("_{$value}_",'checked',$viewupload);
			foreach($downper as $value)
				$viewdownload = str_replace("_{$value}_",'checked',$viewdownload);
		}
		include PrintEot('setforum');exit;

	} elseif($_POST['step']==2) {

		$forum   = $db->get_one("SELECT type,fup,forumadmin FROM pw_forums WHERE fid='$fid'");
		InitGP(array('name','vieworder','forumadmin','dirname','style','across','keywords','descrip'),'P');
		$name     = Quot_cv($name);
		$name     = str_replace('<iframe','&lt;iframe',$name);
		$descrip  = str_replace('<iframe','&lt;iframe',$descrip);
		$keywords = Char_cv($keywords);
		strlen($descrip)>250 && adminmsg('descrip_long');

		if ($forum['forumadmin'] != ",$forumadmin,") {
			$newadmin = array();
			$admin_a  = explode(",",$forumadmin);
			foreach ($admin_a as $aid=>$value) {
				$value = trim($value);
				if ($value && !in_array($value,$newadmin)) {
					$mb = $db->get_one("SELECT uid FROM pw_members WHERE username='$value'");
					if ($mb) {
						$newadmin[] = $value;
					} else {
						$errorname .= $value.',';
					}
				}
			}
			$newadmin=implode(',',$newadmin);
			$newadmin && $newadmin=','.$newadmin.',';
			$sqladd = ",forumadmin='$newadmin'";
		} else {
			$sqladd = '';
		}
		if ($forum['type'] == 'category') {
			$db->update("UPDATE pw_forums SET name='$name',vieworder='$vieworder' $sqladd ,dirname='$dirname',style='$style',across='$across',cms='$cms' WHERE fid='$fid'");
		} else {
			InitGP(array('forumsetdb','uploadset','rewarddb','cfup','ffup','showsub','logo','f_type','ifhide','viewsub','allowhide','allowsell','copyctrl','f_check','t_db','password','allowvisit','allowread','allowpost','allowrp','allowupload','allowdownload','otherfid','otherforum','allowtime','allowtype','recycle','sdate','sprice'),'P');

			$forumsetdb['newtime'] *= 60;
			foreach ($forumsetdb as $key => $value) {
				if ($key == 'link') {
					$forumsetdb['link'] = str_replace(array('"',"'",'\\'),array('','',''),$value);
				} elseif($key == 'recycle') {
					$forumsetdb['recycle'] = array_sum($value);
				} elseif (!in_array($key,array('orderway','asc','commendlist','chat','forumsell'))) {
					$forumsetdb[$key] = (int)$value;
				}
			}
			$sellprice = array();
			foreach ($sdate as $key=>$value) {
				if ($value && $sprice[$key]) {
					$sellprice[$value] = $sprice[$key];
				}
			}
			ksort($sellprice);
			$forumsetdb['sellprice'] = $sellprice;
			$forumsetdb['uploadset'] = implode("\t",$uploadset);
			$forumsetdb['rvrcneed'] *= 10;
			$rewarddb[3] = implode(',',$rewarddb[3]);
			$forumsetdb['rewarddb']  = implode("\t",$rewarddb);
			$forumsetdb['allowtime'] = $allowtime ? ",".implode(",",$allowtime)."," : '';
			$forumsextradb = serialize($forumsetdb);
			$db->pw_update(
				"SELECT fid FROM pw_forumsextra WHERE fid='$fid'",
				"UPDATE pw_forumsextra SET forumset='$forumsextradb' WHERE fid='$fid'",
				"INSERT INTO pw_forumsextra SET forumset='$forumsextradb',fid='$fid'"
			);

			$fup = $cms=='1' ? $cfup : $ffup;
			$fup == $fid && adminmsg('setforum_fupsame');
			if (!$fup || !is_numeric($fup)) {
				$fupfid = $db->get_one("SELECT fid FROM pw_forums WHERE type='category' ORDER BY fid LIMIT 1");
				$fup = $fupfid['fid'];
			}
			if (!empty($password) && strlen($password)!=32) {
				$password = md5($password);
			}
			$allowvisit	  && $allowvisit   = ','.implode(",",$allowvisit).',';
			$allowread	  && $allowread	   = ','.implode(",",$allowread).',';
			$allowpost	  && $allowpost	   = ','.implode(",",$allowpost).',';
			$allowrp	  && $allowrp	   = ','.implode(",",$allowrp).',';
			$allowupload  && $allowupload  = ','.implode(",",$allowupload).',';
			$allowdownload&& $allowdownload= ','.implode(",",$allowdownload).',';
			$allowtype = array_sum($allowtype);

			$rt = $db->get_one("SELECT type,cms FROM pw_forums WHERE fid='$fup'");
			if ($rt['type'] == 'category') {
				$type = 'forum';
			} else {
				if (($rt['cms'] && !$cms) || (!$rt['cms'] && $cms)) {
					adminmsg('setforum_cms');
				}
				$type='sub';
			}

			$t_type = implode("\t",$t_db)."\t";/*主题分类*/
			$t_type = Quot_cv($t_type);
			if ($forum['fup'] != $fup) {
				$rt = $db->get_one("SELECT fid FROM pw_forums WHERE fup='$fid'");
				if ($rt && $rt['fid'] != $fid) {
					adminmsg('forum_havesub');
				}
			}
			if ($f_type=='hidden' && $allowvisit=='') {
				$basename = "$admin_file?adminjob=setforum&action=edit&fid=$fid";
				adminmsg('forum_hidden');
			}
			$db->update("UPDATE pw_forums SET fup='$fup',type='$type',name='$name',vieworder='$vieworder',logo='$logo',keywords='$keywords',descrip='$descrip' $sqladd ,style='$style',across='$across',allowhide='$allowhide',allowsell='$allowsell', allowtype='$allowtype',copyctrl='$copyctrl',password='$password',viewsub='$viewsub',allowvisit='$allowvisit',allowread='$allowread',allowpost='$allowpost',allowrp='$allowrp',allowdownload='$allowdownload',allowupload='$allowupload',f_type='$f_type',f_check='$f_check',t_type='$t_type',cms='$cms',ifhide='".(int)$ifhide."',showsub='$showsub' WHERE fid='$fid'");
			updateforum($fup);
			updateforum($forum['fup']);
		}
		P_unlink(D_P.'data/bbscache/c_cache.php');

		$othersql = $otherfids = $extra = $update_f = '';
		if (is_array($otherfid)) {
			$otherfids = "'".implode("','",$otherfid)."'";
		}
		if (is_array($otherforum)) {
			foreach ($otherforum as $key => $value) {
				if ($key === 'forumsetdb') {
					$update_f = 1;
					continue;
				}
				$othersql .= "$extra$key='".$$key."'";
				$extra = ',';
			}
		}
		if ($othersql && $otherfids) {
			$db->update("UPDATE pw_forums SET $othersql WHERE fid IN($otherfids)");
		}
		if ($otherfids && $update_f) {
			include(D_P.'data/bbscache/forum_cache.php');
			foreach ($otherfid as $key => $selfid) {
				if(!$selfid || !is_numeric($selfid) || $selfid == $fid || $forum[$selfid]['type'] == 'category'){
					continue;
				}
				$rt = $db->get_one("SELECT fid,forumset FROM pw_forumsextra WHERE fid='$selfid'");
				if ($rt['fid']) {
					$newforumset = unserialize($rt['forumset']);
					foreach ($forumsetdb as $key => $value) {
						if ($otherforum['forumsetdb'][$key]) {
							$newforumset[$key] = $value;
						} elseif (!isset($newforumset[$key])) {
							$newforumset[$key] = 0;
						}
					}
					$forumset = serialize($newforumset);
					$db->update("UPDATE pw_forumsextra SET forumset='$forumset' WHERE fid='$selfid'");
				} else {
					$newforumset = array();
					foreach ($forumsetdb as $key => $value) {
						if ($otherforum['forumsetdb'][$key]) {
							$newforumset[$key] = $value;
						} else {
							$newforumset[$key] = 0;
						}
					}
					$forumset = serialize($newforumset);
					$db->update("INSERT INTO pw_forumsextra SET forumset='$forumset',fid='$selfid'");
				}
			}
		}
		updatecache_f();
		$sqladd && updateadmin();
		$basename="$admin_file?adminjob=setforum&action=edit&fid=$fid";
		adminmsg('operate_success');
	}
}
function delforum($fid) {
	global $db,$db_guestdir,$db_guestthread,$db_guestread;
	$foruminfo = $db->get_one("SELECT fid,fup,forumadmin FROM pw_forums WHERE fid='$fid'");
	$db->update("DELETE FROM pw_forums WHERE fid='$fid'");
	$db->update("DELETE FROM pw_forumdata WHERE fid='$fid'");
	$db->update("DELETE FROM pw_forumsextra WHERE fid='$fid'");
	if ($foruminfo['forumadmin']) {
		$forumadmin = explode(",",$foruminfo['forumadmin']);
		foreach ($forumadmin as $key=>$value) {
			if ($value) {
				$gid = $db->get_one("SELECT uid,groupid FROM pw_members WHERE username='$value'");
				if ($gid['groupid']==5 && !ifadmin($value)) {
					$db->update("UPDATE pw_members SET groupid='-1' WHERE username='$value'");
					admincheck($gid['uid'],$value,$gid['groupid'],'','delete');
				}
			}
		}
	}
	if ($db_guestthread || $db_guestread) {
		require_once(R_P.'require/guestfunc.php');
		$db_guestthread && deldir(D_P."$db_guestdir/T_{$fid}");
	}
	$ttable_a = $ptable_a = array();
	$query = $db->query("SELECT tid,replies,ptable FROM pw_threads WHERE fid='$fid'");
	while ($tpc = $db->fetch_array($query)) {
		$tid = $tpc['tid'];
		$ttable_a[GetTtable($tid)] .= $tid.',';
		$ptable_a[$tpc['ptable']] = 1;
		$db_guestread && clearguestcache($tid,$tpc['replies']);
	}
	foreach ($ttable_a as $pw_tmsgs=>$val) {
		$val = substr($val,0,-1);
		$db->update("DELETE FROM $pw_tmsgs WHERE tid IN($val)");
	}
	$db->update("DELETE FROM pw_threads WHERE fid='$fid'");
	foreach ($ptable_a as $key=>$val) {
		$pw_posts = GetPtable($key);
		$db->update("DELETE FROM $pw_posts WHERE fid='$fid'");
	}
	updateforum($foruminfo['fup']);
}
?>