📄 setforum.php
字号:
$name = str_replace("<","<",$name);
$name = str_replace(">",">",$name);
if($forumadmin){
if(strpos($forumadmin,"\t")!==false){
$forumadmin=substr($forumadmin,0,strpos($forumadmin,"\t"));
}
if(substr($forumadmin,0,1)==',' && substr($forumadmin,-1)==','){
$forumadmin=substr($forumadmin,1,-1);
}
}
$selected[$style]='selected';
$cms ? $check_c='checked' : $check_f='checked';
//$ifhide ? $ifhide_close='checked' : $ifhide_open='checked';
$fb=opendir(D_P."data/style/");
while ($skinfile=readdir($fb)){
if (eregi("\.php$",$skinfile)) {
$skinfile=str_replace(".php","",$skinfile);
$setfid_style.="<option value=$skinfile $selected[$skinfile]>$skinfile</option>";
}
}closedir($fb);
if($type!='category'){
$descrip = str_replace("<","<",$descrip);
$descrip = str_replace(">",">",$descrip);
$viewsub?$sub_open='checked':$sub_close='checked';
$allowhide?$hide_open='checked':$hide_close='checked';
$allowsell?$sell_open='checked':$sell_close='checked';
$allowencode?$encode_open='checked':$encode_close='checked';
$copyctrl?$copyctrl_open='checked':$copyctrl_close='checked';
${'check_'.$f_check}='checked';
$ftype[$f_type]='selected';
$ifhide ? $ifhide_close='checked' :$ifhide_open='checked';
$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);
$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);
$postper =explode(",",$allowpost);
$rpper =explode(",",$allowrp);
$uploadper=explode(",",$allowupload);
$downper =explode(",",$allowdownload);
$t_typedb=explode("\t",$t_type);/*主题分类*/
$t_typedb[0]==0 ? $t_type_close='checked' : $t_type_open='checked';
foreach($visitper as $value)
$viewvisit =str_replace("_{$value}_",'checked',$viewvisit);
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'");
$name = Quot_cv($name);
$descrip = Quot_cv($descrip);
$name = str_replace('<iframe','<iframe',$name);
$descrip = str_replace('<iframe','<iframe',$descrip);
if($forum['forumadmin']){
if(strpos($forum['forumadmin'],"\t")!==false){
$forum['forumadmin']=substr($forum['forumadmin'],0,strpos($forum['forumadmin'],"\t"));
}
if(substr($forum['forumadmin'],0,1)==',' && substr($forum['forumadmin'],-1)==','){
$forum['forumadmin']=substr($forum['forumadmin'],1,-1);
}
}
if($forum['forumadmin'] != $forumadmin){
$adminarray = explode(",",$forumadmin);
$adminarray = array_unique($adminarray);
foreach($adminarray as $aid => $value){
$adminarray[$aid] = trim($adminarray[$aid]);
$value = trim($value);
if($value){
$mb=$db->get_one("SELECT uid,username,groupid,groups FROM pw_members WHERE username='$value'");
if(!$mb['uid']){
unset($adminarray[$aid]);
}
} else{
unset($adminarray[$aid]);
}
}
$forumadmin=','.implode(',',$adminarray).',';
$sqladd = ",forumadmin='$forumadmin'";
} 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{
$forumsetdb['newtime'] *= 60;
foreach($forumsetdb as $key => $value){
if ($key == 'link'){
$forumsetdb[$key] = str_replace(array('"',"'",'\\'),array('','',''),$value);
} else {
$forumsetdb[$key] = (int)$value;
}
}
$forumsetdb['rvrcneed'] *= 10;
$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).',';
$allowpost && $allowpost =','.implode(",",$allowpost).',';
$allowrp && $allowrp =','.implode(",",$allowrp).',';
$allowupload && $allowupload =','.implode(",",$allowupload).',';
$allowdownload&& $allowdownload=','.implode(",",$allowdownload).',';
$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',descrip='$descrip' $sqladd ,style='$style',across='$across',allowhide='$allowhide',allowsell='$allowsell',copyctrl='$copyctrl',allowencode='$allowencode',password='$password' ,viewsub='$viewsub',allowvisit='$allowvisit',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."' WHERE fid='$fid'");
updateforum($fup);
updateforum($forum['fup']);
}
P_unlink(D_P.'data/bbscache/c_cache.php');
$othersql = $otherfids = $extra = $update_m = $update_s = '';
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;
$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'");
$adminarray=explode("\t",$foruminfo['forumadmin']);
if($adminarray[0]){
$forumadmin=explode(",",$adminarray[0]);
foreach($forumadmin as $value){
if($value){
$gid=$db->get_one("SELECT groupid FROM pw_members WHERE username='$value'");
if($gid['groupid']==5 && !ifadmin($value)){
$db->update("UPDATE pw_members SET groupid='-1' WHERE username='$value'");
}
}
}
}
$tids='';
$query=$db->query("SELECT tid FROM pw_threads WHERE fid='$fid'");
while($tpc=$db->fetch_array($query)){
is_numeric($tpc['tid']) && $tids.=$tpc['tid'].',';
}
if($tids){
$tids=substr($tids,0,-1);
$db->update("DELETE FROM pw_tmsgs WHERE tid IN($tids)");
}
$db->update("DELETE FROM pw_threads WHERE fid='$fid'");
$db->update("DELETE FROM pw_posts WHERE fid='$fid'");
updateforum($foruminfo['fup']);
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -