我的问题......... 
 
所有都按照步骤来做.. 
 
在加精华.提升主题.移动主题等动作时...结果显示完成,但是白屏!!! 
 
经排查..和topicadmin.php文件有关... 
 
就算拿安装DZ2.5SP的原始文件来安装,结果也一样的白屏.. 
 
证明与其他插件冲突无关......... 
本人的topicadmin.php文件: 
<?php 
 
/* 
 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
 :: [DISCUZ!]  Crossday Discuz! Board                                    :: 
 :: (c) 2001-2005 Comsenz Technology Ltd (www.discuz.com)                :: 
 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
 :: Author:  Crossday (tech@discuz.com) Cnteacher (cnteacher@discuz.com) :: 
 :: Version: 2.5F   2004/10/01 05:15                                     :: 
 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
*/ 
//fix:  BY pk0909 
/* 
1 对分割后的主题缺少html转义处理 
2 跳转的url参数问题 
3 批量删除主题时,没有删除对应附件 
*/ 
 
require './include/common.php'; 
require_once DISCUZ_ROOT.'./include/post.php'; 
 
$discuz_action = 151; 
 
$tid   = $tid ? $tid :''; 
$page  = intval($page); 
$fpage = intval($fpage); 
//后台金钱设置 by 地狱死神 
$deletedmoney = $forum['deletedmoney'] != -1 ? $forum['deletedmoney'] : $deletedmoney; 
//后台金钱设置 by 地狱死神 
if($tid) { 
        $query = $db->query("SELECT * FROM $table_threads WHERE tid='$tid'"); 
        $thread = $db->fetch_array($query); 
        $thread['subject'] .= $action == 'delthread' ? ", etc." : NULL; 
} 
 
if($forum['type'] == 'forum') { 
        $navigation = "» <a href=\"forumdisplay.php?fid=$fid&page=$fpage\">$forum[name]</a> » <a href=\"viewthread.php?tid=$tid\">$thread[subject]</a> "; 
        $navtitle = ' - '.strip_tags($forum['name']).' - '.$thread['subject']; 
} else { 
        $query = $db->query("SELECT name, fid, moderator FROM $table_forums WHERE fid='$forum[fup]'"); 
        $fup = $db->fetch_array($query); 
        $navigation = "» <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> » <a href=\"forumdisplay.php?fid=$fid&page=$fpage\">$forum[name]</a> » <a href=\"viewthread.php?tid=$tid\">$thread[subject]</a> "; 
        $navtitle = ' - '.strip_tags($fup['name']).' - '.strip_tags($forum['name']).' - '.$thread['subject']; 
} 
 
if(!$discuz_user || !$discuz_pw || !modcheck($discuz_user)) { 
        showmessage('admin_nopermission', NULL, 'HALTED'); 
} 
 
$fupadd = $fup ? "OR (fid='$fup[fid]' && type<>'group')" : NULL; 
 
if($action == 'moderate') { 
        if(!is_array($moderate) || !count($moderate)) { 
                showmessage('admin_moderate_nothread'); 
        }elseif(!$operation){ 
                showmessage('admin_moderate_nooperation'); 
        } 
        $tids = implode_ids($moderate); 
        $query = $db->query("SELECT * FROM $table_threads WHERE tid IN($tids) "); 
        accesscheck($query); 
        $query = $db->query("SELECT * FROM $table_threads WHERE tid IN($tids) "); 
        if(!submitcheck('moderatesubmit')){ 
                $threadlist = array(); 
                while($thread = $db->fetch_array($query)) { 
                        if($thread['fid'] == $fid){ 
                                $thread['lastposterenc'] = rawurlencode($thread['lastposter']); 
                                if($thread['attachment']) { 
                                        require_once DISCUZ_ROOT.'./include/attachment.php'; 
                                        $thread['attachment'] = attachtype($thread['attachment']).' '; 
                                } else { 
                                        $thread['attachment'] = ''; 
                                } 
                                $thread[subject] = cutstr($thread[subject],77); 
                                $thread['dateline'] = gmdate($dateformat, $thread['dateline'] + $timeoffset * 3600); 
                                $thread['lastpost'] = gmdate("$dateformat $timeformat", $thread['lastpost'] + $timeoffset * 3600); 
                                $threadlist[] = $thread; 
                        } 
                } 
                 
                if(!$threadlist) showmessage('admin_moderate_nothread'); 
 
                if($operation == 'move') { 
                        require_once DISCUZ_ROOT.'./include/forum.php'; 
                        $forumselect = forumselect(); 
                } 
                include template('topicadmin_moderate'); 
         
        }else{ 
         
                if($operation == 'move' && $allowmove) { 
                        if(!$moveto) { 
                                showmessage('admin_move_invalid'); 
                        } 
 
 
                        $displayorderadd = !$adminglobal ? ", displayorder='0'" : NULL; 
 
                        $db->query("UPDATE $table_threads SET fid='$moveto' $displayorderadd WHERE tid IN($tids)"); 
                        $db->query("UPDATE $table_posts SET fid='$moveto' WHERE tid IN($tids) "); 
 
                        if ($forum['type'] == 'sub') { 
                                $query= $db->query("SELECT fup FROM $table_forums WHERE fid='$fid' LIMIT 1"); 
                                $fup = $db->result($query, 0); 
                                updateforumcount($fup); 
                        } 
                        modlog(); 
                        updateforumcount($moveto); 
                        updateforumcount($fid); 
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$page"); 
 
                }elseif($operation == 'stick' && $allowtop){ 
                            if($level < 0 || $level > 3 || ($level == 2 && $adminid != 1 && $adminid != 2) || ($level == 3 && $adminid != 1)) { 
                                showmessage('undefined_action'); 
                        } 
                        $db->query("UPDATE $table_threads SET displayorder='$level' WHERE tid IN ($tids)"); 
                        modlog(); 
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$page"); 
 
                }elseif($operation == 'delete' && $allowdelpost) { 
                        $uids = $comma = ''; 
                        $haveattach = 0; 
                        $query = $db->query("SELECT authorid ,aid FROM $table_posts WHERE tid IN ($tids)"); 
                        while($post = $db->fetch_array($query)) { 
                                $uids .= "$comma$post[authorid]"; 
                                $comma = ','; 
                                if ($post['aid']) $haveattach++; 
                        } 
//后台金钱设置 by 地狱死神 
        updatemember('-', $uids, $deletedcredits, $deletedmoney); 
//后台金钱设置 by 地狱死神 
 
                        if ($haveattach){ 
                                $query = $db->query("SELECT attachment FROM $table_attachments WHERE tid IN ($tids)"); 
                                while($attach = $db->fetch_array($query)) { 
                                        @unlink(DISCUZ_ROOT.'./'.$attachdir.'/'.$attach['attachment']); 
                                } 
                                $db->query("DELETE FROM $table_attachments WHERE tid IN ($tids)"); 
                        } 
                         
                        $db->query("DELETE FROM $table_threads WHERE tid IN ($tids)"); 
                        $db->query("DELETE FROM $table_polls WHERE tid IN ($tids)"); 
                        $db->query("DELETE FROM $table_posts WHERE tid IN ($tids)"); 
                        if ($forum['type'] == 'sub') { 
                                updateforumcount($fup['fid']); 
                        } 
 
                        updateforumcount($fid); 
 
                        modlog(); 
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$page"); 
 
}elseif($operation == 'highlight' && $allowhighlight){ 
                        accesscheck($query); 
                        $string = sprintf('%02d', $thread['highlight']); 
                $stylestr = sprintf('%03b', $string[0]); 
                for($i = 1; $i <= 3; $i++) { 
            $stylecheck[$i] = $stylestr[$i - 1] ? 'checked' : NULL; 
                } 
                        $stylebin = ''; 
                for($i = 1; $i <= 3; $i++) { 
            $stylebin .= empty($highlight_style[$i]) ? '0' : '1'; 
                } 
                $highlight_style = bindec($stylebin); 
 
                if($highlight_style < 0 || $highlight_style > 7 || $highlight_color < 0 || $highlight_color > 8) { 
            showmessage('undefined_action', NULL, 'HALTED'); 
                } 
                $db->query("UPDATE $table_threads SET highlight='$highlight_style$highlight_color' WHERE tid in($tids)"); 
 
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage");  
 
 
 
                }elseif($operation == 'close' && $allowclose){ 
                        $close = $type ? 1 : 0; 
                        $db->query("UPDATE $table_threads SET closed='$close' WHERE tid in($tids)"); 
                        modlog(); 
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$page"); 
 
                }elseif($operation == 'digest' && $allowdigest){ 
                        if($level < 0 || $level > 3) { 
                                showmessage('undefined_action', NULL, 'HALTED'); 
                        } 
                        while($thread = $db->fetch_array($query)) { 
                                if ($thread['fid'] == $fid && $thread['digest']<>$level){ 
                                        $digest_mark=($level-intval($thread['digest']))*$digestcredits; 
                                        $db->query("UPDATE $table_threads SET digest='$level' WHERE tid='$thread[tid]'"); 
                                        if($digest_mark && $discuz_uid != $thread[authorid]) { 
                                                $db->query("UPDATE $table_members SET credit=credit".($digest_mark > 0 ? '+' : '')."$digest_mark WHERE uid='$thread[authorid]'"); 
                                        } 
                                } 
                        } 
                        modlog(); 
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$page"); 
                }else{ 
                        showmessage('admin_nopermission', NULL, 'HALTED'); 
                } 
        } 
 
} elseif($action == 'delpost' && $allowdelpost) { 
 
        if(!is_array($delete) || !count($delete)) { 
                showmessage('admin_delpost_invalid'); 
        } 
 
        if(!submitcheck('delpostsubmit')) { 
 
                $query = $db->query("SELECT COUNT(*) FROM $table_posts WHERE tid='$tid'"); 
                if(count($delete) < $db->result($query, 0)) { 
 
                        $deleteid = ''; 
                        foreach($delete as $id) { 
                                $deleteid .= '<input type="hidden" name="delete[]" value="'.$id.'">'; 
                        } 
 
                        include template('topicadmin_delpost'); 
                         
                } else { 
                        header("Location: {$boardurl}topicadmin.php?action=delete&fid=$fid&tid=$tid&page=$page&fpage=$fpage"); 
                } 
 
        } else { 
 
                $pids = implode_ids( $delete ); 
 
                $uids = $comma = ''; 
                $actionpost = $totalpost = $aids = 0; 
                $query = $db->query("SELECT pid, authorid, aid FROM $table_posts WHERE tid='$tid'"); 
                $totalpost = $db->num_rows($query); 
                while($post = $db->fetch_array($query)) { 
                        if (in_array($post[pid], $delete)){ 
                                $uids .= "$comma$post[authorid]"; 
                                $comma = ','; 
                                $actionpost ++; 
                                if ($post['aid']) $aids .=','.$post[pid]; 
                        } 
                } 
 
                if ($actionpost < 1) { 
                        showmessage('admin_delpost_invalid'); 
                }elseif($actionpost <> count($delete)){ 
                        showmessage('admin_moderate_accesserror', NULL, 'HALTED'); 
                }elseif($actionpost >= $totalpost ){ 
                        header("Location: {$boardurl}topicadmin.php?action=delete&fid=$fid&tid=$tid&page=$page&fpage=$fpage"); 
                } 
                 
//后台金钱设置 by 地狱死神 
        updatemember('-', $uids, $deletedcredits, $deletedmoney); 
//后台金钱设置 by 地狱死神 
 
                if ($aids){ 
                        require_once DISCUZ_ROOT.'./include/attachment.php'; 
                        $query = $db->query("SELECT pid, attachment, filetype FROM $table_attachments WHERE pid IN ($aids)"); 
                        while($attach = $db->fetch_array($query)) { 
                                        @unlink(DISCUZ_ROOT.'./'.$attachdir.'/'.$attach['attachment']); 
                        } 
                        $db->query("DELETE FROM $table_attachments WHERE pid IN ($aids)"); 
                        updatethread_type($tid , $thread['attachment']); 
                } 
 
                $db->query("DELETE FROM $table_posts WHERE pid IN ($pids)"); 
                updatethreadcount($tid); 
                updateforumcount($fid); 
 
                modlog(); 
                showmessage('admin_succeed', "viewthread.php?tid=$tid&page=$page&fpage=$fpage"); 
 
        } 
 
} elseif($action == 'highlight' && $allowhighlight) { 
        if(!submitcheck('highlightsubmit')) { 
 
                $string = sprintf('%02d', $thread['highlight']); 
                $stylestr = sprintf('%03b', $string[0]); 
 
                for($i = 1; $i <= 3; $i++) { 
                        $stylecheck[$i] = $stylestr[$i - 1] ? 'checked' : NULL; 
                } 
                $colorcheck = array($string[1] => 'checked'); 
                 
                include template('topicadmin_highlight'); 
 
        } else { 
 
                $stylebin = ''; 
                for($i = 1; $i <= 3; $i++) { 
                        $stylebin .= empty($highlight_style[$i]) ? '0' : '1'; 
                } 
                $highlight_style = bindec($stylebin); 
 
                if($highlight_style < 0 || $highlight_style > 7 || $highlight_color < 0 || $highlight_color > 8) { 
                        showmessage('undefined_action', NULL, 'HALTED'); 
                } 
                $db->query("UPDATE $table_threads SET highlight='$highlight_style$highlight_color' WHERE tid='$tid'"); 
 
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
 
        } 
 
} elseif($action == 'digest' && $allowdigest) { 
        if(!submitcheck('digestsubmit')) { 
 
                include template('topicadmin_digest'); 
 
        } else { 
 
                 if($level < 0 || $level > 3 || ($level == 2 && $adminid != 1 && $adminid != 2) || ($level == 3 && $adminid != 1)) { 
                        showmessage('undefined_action', NULL, 'HALTED'); 
                } 
                $digest_mark=($level-intval($thread['digest']))*$digestcredits; 
 
                $db->query("UPDATE $table_threads SET digest='$level' WHERE tid='$tid'"); 
 
                if($digest_mark && $discuz_uid != $thread['authorid'] ) { 
                        $db->query("UPDATE $table_members SET credit=credit".($digest_mark > 0 ? '+' : '')."$digest_mark WHERE uid='$thread[authorid]'"); 
                } 
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
 
        } 
 
} elseif($action == 'recount') { 
 
        $query = $db->query("SELECT COUNT(*) FROM $table_posts WHERE tid='$tid'"); 
        $replies = $db->result($query, 0) - 1; 
 
        $query  = $db->query("SELECT author, dateline FROM $table_posts WHERE tid='$tid' ORDER BY dateline DESC LIMIT 1"); 
        $post = $db->fetch_array($query); 
 
        $db->query("UPDATE $table_threads SET replies='$replies', lastpost='$post[dateline]', lastposter='".addslashes($post['author'])."' WHERE tid='$tid'"); 
        showmessage('admin_succeed', "viewthread.php?tid=$tid&fpage=$fpage"); 
 
} elseif($action == 'delete'  && $allowdelpost) { 
        if(!submitcheck('deletesubmit')) { 
 
                include template('topicadmin_delete'); 
 
        } else { 
 
                $uids = $comma = ''; 
                $query = $db->query("SELECT authorid,aid FROM $table_posts WHERE tid='$tid'"); 
if ($pmuid == '') $pmuid = $post[authorid];  
                $aids = 0; 
                while($post = $db->fetch_array($query)) { 
                        $uids .= "$comma$post[authorid]"; 
                        $comma = ','; 
                        if ($post['aid']) $aids++; 
                } 
//后台金钱设置 by 地狱死神 
        updatemember('-', $uids, $deletedcredits, $deletedmoney); 
//后台金钱设置 by 地狱死神 
 
                $db->query("DELETE FROM $table_threads WHERE tid='$tid'"); 
                $db->query("DELETE FROM $table_posts WHERE tid='$tid'"); 
                $db->query("DELETE FROM $table_polls WHERE tid='$tid'"); 
                 
                if ($aids){ 
                        $query = $db->query("SELECT attachment FROM $table_attachments WHERE tid='$tid'"); 
                        while($attach = $db->fetch_array($query)) { 
                                @unlink(DISCUZ_ROOT.'./'.$attachdir.'/'.$attach['attachment']); 
                        } 
                        $db->query("DELETE FROM $table_attachments WHERE tid='$tid'"); 
                } 
                 
                updateforumcount($fid); 
                if ($forum['type'] == 'sub') { 
                        updateforumcount($fup['fid']); 
                } 
if ($delpm == 0) { 
       $czsubject="---删贴短消息通知---"; 
           $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)  VALUES('$discuz_user', '$discuz_uid', '$pmuid', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");  
           $db->query("UPDATE $table_members SET newpm='1' WHERE uid = '$pmuid'");   
    }  
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
 
        } 
 
} elseif($action == 'close' && $allowclose) { 
 
        if(!submitcheck('closesubmit')) { 
 
                include template('topicadmin_openclose'); 
 
        } else { 
                $openclose = $thread['closed'] ? 0 : 1; 
                $db->query("UPDATE $table_threads SET closed='$openclose' WHERE tid='$tid' AND fid='$fid'"); 
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
        } 
 
} elseif($action == 'move'  && $allowmove) { 
 
        if(!submitcheck('movesubmit')) { 
 
                require_once DISCUZ_ROOT.'./include/forum.php'; 
 
                $forumselect = forumselect(); 
                include template('topicadmin_move'); 
 
        } else { 
 
                if(!$moveto) { 
                        showmessage('admin_move_invalid'); 
                } 
 
                $displayorderadd = !$adminglobal ? ", displayorder='0'" : NULL; 
                if($type == 'normal') { 
                        $db->query("UPDATE $table_threads SET fid='$moveto' $displayorderadd WHERE tid='$tid' AND fid='$fid'"); 
                        $db->query("UPDATE $table_posts SET fid='$moveto' WHERE tid='$tid' AND fid='$fid'"); 
                } else { 
                        $db->query("INSERT INTO $table_threads (fid, creditsrequire, iconid, author, authorid, subject, dateline, lastpost, lastposter, views, replies, displayorder, digest, closed, poll, attachment) 
                                VALUES ('$thread[fid]', '$thread[creditsrequire]', '$thread[iconid]', '".addslashes($thread['author'])."', '$thread[authorid]', '$thread[subject]', '$thread[dateline]', '$thread[lastpost]', '$thread[lastposter]', '0', '0', '0', '0', '$thread[tid]', '0', '0')"); 
 
                        $db->query("UPDATE $table_threads SET fid='$moveto' $displayorderadd WHERE tid='$tid' AND fid='$fid'"); 
                        $db->query("UPDATE $table_posts SET fid='$moveto' WHERE tid='$tid' AND fid='$fid'"); 
                } 
 
                if ($forum['type'] == 'sub') { 
                        $query= $db->query("SELECT fup FROM $table_forums WHERE fid='$fid' LIMIT 1"); 
                        $fup = $db->result($query, 0); 
                        updateforumcount($fup); 
                } 
 
                modlog(); 
                updateforumcount($moveto); 
                updateforumcount($fid); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
        } 
 
} elseif($action == 'top' && $allowtop) { 
 
        if(!submitcheck('topsubmit')) { 
 
                include template('topicadmin_topuntop'); 
 
        } else { 
 
                    if($level < 0 || $level > 3 || ($level == 2 && $adminid != 1 && $adminid != 2) || ($level == 3 && $adminid != 1)) { 
                        showmessage('undefined_action'); 
                } 
                $db->query("UPDATE $table_threads SET displayorder='$level' WHERE tid='$tid' AND fid='$fid'"); 
                //hack限时置顶(TOPLTD) 1.0  by liuqiang EMAIL:liuqiangqiang@163.net 
                if($level > 0 && $days>0 && $days <= 365) { 
                    $topendtime = $timestamp+86400*$days; 
                    $topltdlogfile = DISCUZ_ROOT."./forumdata/topltdlog.php"; 
                    @$fp = fopen($topltdlogfile, 'a+'); 
                    $logfile = file($topltdlogfile); 
                    $n = count($logfile); 
                    fclose($fp); 
                    $fp = fopen($topltdlogfile, 'w+'); 
                    for ($i=0;$i<$n;$i++) { 
                        $f=explode("|",$logfile[$i]); 
                        if($f[0] !="" && $f[1] !=""){ 
                            if(!($fid == $f[0] && $tid == $f[1])){ 
                                $f[0] = trim($f[0]); 
                                $f[1] = trim($f[1]); 
                                $f[2] = trim($f[2]); 
                                $logs[$i] = $f[0]."|".$f[1]."|".$f[2]."\n"; 
                                fwrite($fp,$logs[$i]); 
                            } 
                        } 
                    } 
                    $topltdlog = $fid."|".$tid."|".$topendtime."\n"; 
                    @fwrite($fp, $topltdlog); 
                    fclose($fp); 
                } 
                //end------------------------------------------- 
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
 
        } 
 
} elseif($action == 'getip' && $allowviewip) { 
 
        require_once DISCUZ_ROOT.'./include/misc.php'; 
 
        $query = $db->query("SELECT m.adminid, p.useip FROM $table_posts p 
                                LEFT JOIN $table_members m ON m.uid=p.authorid 
                                WHERE pid='$pid' AND tid='$tid'"); 
        if(!$member = $db->fetch_array($query)) { 
                showmessage('thread_nonexistence', NULL, 'HALTED'); 
        } elseif(($member['adminid'] == 1 && $adminid > 1) || ($member['adminid'] == 2 && $adminid > 2)) { 
                showmessage('admin_getip_nopermission', NULL, 'HALTED'); 
        } 
 
        $member['iplocation'] = convertip($member['useip']); 
 
        include template('topicadmin_getip'); 
 
} elseif($action == 'bump') { 
 
        if(!submitcheck('bumpsubmit')) { 
 
                include template('topicadmin_bump'); 
 
        } else { 
 
                $query = $db->query("SELECT subject, lastposter, lastpost FROM $table_threads WHERE tid='$tid' LIMIT 1"); 
                $thread = $db->fetch_array($query); 
                $thread[lastposter] = addslashes($thread['lastposter']); 
                $db->query("UPDATE $table_threads SET lastpost='$timestamp' WHERE tid='$tid' AND fid='$fid'"); 
                $db->query("UPDATE $table_forums SET lastpost='$thread[subject]\t$timestamp\t$thread[lastposter]' WHERE fid='$fid' $fupadd"); 
 
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
 
        } 
 
} elseif($action == 'split' && $allowsplit) { 
 
        require_once DISCUZ_ROOT.'./include/discuzcode.php'; 
        if(!submitcheck('splitsubmit')) { 
 
 
                $replies = $thread['replies']; 
                if($replies <= 0) { 
                        showmessage('admin_split_invalid'); 
                } 
 
                $postlist = array(); 
                $query = $db->query("SELECT * FROM $table_posts WHERE tid='$tid' ORDER BY dateline"); 
                while($post = $db->fetch_array($query)) { 
                        $post['message'] = postify($post['message'], $post['smileyoff'], $post['bbcodeoff']); 
                        $postlist[] = $post; 
                } 
 
                include template('topicadmin_split'); 
 
        } else { 
 
                if(!trim($subject)) { 
                        showmessage('admin_split_subject_invalid'); 
                } 
                $subject = $subject ? dhtmlspecialchars(censor(trim($subject))) :''; 
 
                $pids = implode_ids( $split ); 
 
                if($pids) { 
 
                        $db->query("INSERT INTO $table_threads (fid, subject) VALUES ('$fid', '$subject')"); 
                        $newtid = $db->insert_id(); 
 
                        $db->query("UPDATE $table_posts SET tid='$newtid' WHERE pid IN ($pids)"); 
                        $db->query("UPDATE $table_attachments SET tid='$newtid' WHERE pid IN ($pids)"); 
 
                        $query = $db->query("SELECT author, authorid, dateline FROM $table_posts WHERE tid='$tid' ORDER BY dateline ASC LIMIT 1"); 
                        $fpost = $db->fetch_array($query); 
                        $db->query("UPDATE $table_threads SET author='$fpost[author]', authorid='$fpost[authorid]', dateline='$fpost[dateline]' WHERE tid='$tid'"); 
 
                        $query = $db->query("SELECT author, authorid, dateline FROM $table_posts WHERE tid='$newtid' ORDER BY dateline ASC LIMIT 1"); 
                        $fpost = $db->fetch_array($query); 
                        $db->query("UPDATE $table_threads SET author='$fpost[author]', authorid='$fpost[authorid]', dateline='$fpost[dateline]' WHERE tid='$newtid'"); 
 
                        updatethreadcount($tid); 
                        updatethreadcount($newtid); 
                        updateforumcount($fid); 
 
                        modlog(); 
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
 
                } else { 
                        showmessage('admin_split_new_invalid'); 
                } 
        } 
 
} elseif($action == 'merge' && $allowmerge) { 
 
        if(!submitcheck('mergesubmit')) { 
 
                include template('topicadmin_merge'); 
 
        } else { 
 
                $query = $db->query("SELECT fid, views, replies FROM $table_threads WHERE tid='$othertid'"); 
                if(!$other = $db->fetch_array($query)) { 
                        showmessage('admin_merge_nonexistence'); 
                } 
                if(!$adminglobal && $other['fid'] != $forum['fid']) { 
                        showmessage('admin_merge_invalid'); 
                } 
 
                $other['views'] = intval($other['views']); 
                $other['replies']++; 
 
                $db->query("UPDATE $table_posts SET tid='$tid' WHERE tid='$othertid'"); 
                $postsmerged = $db->affected_rows(); 
 
                $db->query("UPDATE $table_attachments SET tid='$tid' WHERE tid='$othertid'"); 
                $db->query("DELETE FROM $table_threads WHERE tid='$othertid'"); 
                $db->query("UPDATE $table_threads SET views=views+$other[views], replies=replies+$other[replies] WHERE tid='$tid'"); 
                 
                if($fid == $other['fid']) { 
                        $db->query("UPDATE $table_forums SET threads=threads-1 WHERE fid='$fid' $fupadd"); 
                } else { 
                        $db->query("UPDATE $table_forums SET threads=threads-1, posts=posts-$postsmerged WHERE fid='$other[fid]'"); 
                        $db->query("UPDATE $table_forums SET posts=$posts+$postsmerged WHERE fid='$fid' $fupadd"); 
                } 
 
                modlog(); 
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage"); 
 
        } 
                }elseif($operation == 'bump'){ 
                        while($thread = $db->fetch_array($query)) { 
                                $thread[lastposter] = addslashes($thread['lastposter']); 
                                $db->query("UPDATE $table_threads SET lastpost='$timestamp' WHERE tid='$thread[tid]' AND fid='$thread[fid]'"); 
                        } 
                        $db->query("UPDATE $table_forums SET lastpost='$thread[subject]\t$timestamp\t$thread[lastposter]' WHERE fid='$thread[fid]' $fupadd"); 
                        modlog(); 
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$page");  
} else { 
 
        showmessage('admin_nopermission', NULL, 'HALTED'); 
 
} 
 
function modlog($action = '') { 
        global $discuz_user, $groupid, $adminid, $onlineip, $timestamp, $forum, $thread, $operation, $tids; 
 
        if(!$action) { 
                $action = $GLOBALS['action']; 
        } 
        if (!$thread['tid']) $thread['tid']=intval($GLOBALS['tid']); 
        if ($action == 'moderate'){ 
                $action .='_'.$operation; 
                $thread[subject] = $tids; 
                $thread[tid] = 0; 
        } 
        @$fp = fopen(DISCUZ_ROOT.'./forumdata/modslog.php', 'a'); 
        @flock($fp, 2); 
        @fwrite($fp, "$timestamp\t$discuz_user\t$groupid\t$onlineip\t$forum[fid]\t$forum[name]\t$thread[tid]\t$thread[subject]\t$action\n"); 
        @fclose($fp); 
} 
 
function accesscheck($query) { 
        global $db,$fid; 
        while($thread = $db->fetch_array($query)) { 
                if($thread['fid'] <> $fid){ 
                        showmessage('admin_moderate_accesserror', NULL, 'HALTED'); 
                } 
        } 
} 
 
?> 
楼主...各位高人能解决得了吗? 
 
先谢了  
 
[ 本帖最后由 拒买日本货 于 2005-8-28 15:22 编辑 ] |