Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

删贴,精华,转移,置顶,关闭主题短消息通知(含批量操作) for D25 sp1(4月2日更新)

[复制链接]
brianyu 发表于 2005-7-12 15:18:31 | 显示全部楼层
為何要取消了批量加入精华功能?
回复

使用道具 举报

kcs985 发表于 2005-7-15 18:52:39 | 显示全部楼层
我裝上了,暫時沒有發現錯誤~~
多謝哦!
回复

使用道具 举报

jerrylee 发表于 2005-7-17 22:40:59 | 显示全部楼层
裝了之後變成這樣耶@@
請問我還該修改哪裡呢?
Parse error: parse error, unexpected T_ELSE in /usr/home/qoo/www/html/xoop/topicadmin.php on line 407

<?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';
require $discuz_root.'./include/discuzcode.php';
//全局定義短信內容之一
$msg_2="

如有疑問,請查看社區守則以及各版塊置頂的管理規則,或向管理員反映。";

//全局定義短信內容之一
$jfkarmaoptions = '';
$jf=$jfmaxkarmarate = "10";   //積分最高或最低限額設定

                $jfoffset = ceil($jfmaxkarmarate / 10);
                for($jfvote = - $jfmaxkarmarate + $jfoffset; $jfvote <= $jfmaxkarmarate; $jfvote += $jfoffset) {
                        $jfvotenum = $jfvote > 0 ? '+'.$jfvote : $jfvote;
                        if ($jfvote=="-1"){$selected="selected";}
                        $jfkarmaoptions .= $jfvote ? "<option value=\"$jfvote\" $selected>$jfvotenum</option>\n" : NULL;
                $selected="";
                }
        unset($jfvote, $jfvotenum, $jfoffset);


$lbkarmaoptions = '';
$lb=$lbmaxkarmarate = "30";  //社區幣最高或最低限額設定

                $lboffset = ceil($lbmaxkarmarate / 30);
                for($lbvote = - $lbmaxkarmarate + $lboffset; $lbvote <= $lbmaxkarmarate; $lbvote += $lboffset) {
                        $lbvotenum = $lbvote > 0 ? '+'.$lbvote : $lbvote;
                        if ($lbvote== "-1"){$selected="selected";}
                        $lbkarmaoptions .= $lbvote ? "<option value=\"$lbvote\" $selected>$lbvotenum</option>\n" : NULL;
        $selected="";        }
        unset($lbvote, $lbvotenum, $lboffset);




////喜欢作原因,分值判斷

function ctrl_msg(){
        global $title,$content,$docredit,$domoney,$msg,$jf,$lb;
        $title = dhtmlspecialchars(censor(trim($title)));
        $content = dhtmlspecialchars(censor(trim($content)));
        $docredit = dhtmlspecialchars(censor(trim($docredit)));
        $domoney = dhtmlspecialchars(censor(trim($domoney)));
        $msg = trim(censor(parseurl($msg)));
        if($title =="" and $content ==""){showmessage('admin_ctrl_invalid');}
        if ($docredit >$jf or $docredit < -$jf or $domoney >$lb or $domoney < -$lb){showmessage('admin_ctrl2_invalid');}
}
////喜欢作原因,分值判斷

$discuz_action = 151;

$tid   = $tid ? $tid :'';
$page  = intval($page);
$fpage = intval($fpage);

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 = "&raquo; <a href=\"forumdisplay.php?fid=$fid&page=$fpage\">$forum[name]</a> &raquo; <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 = "&raquo; <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> &raquo; <a href=\"forumdisplay.php?fid=$fid&page=$fpage\">$forum[name]</a> &raquo; <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) ");
        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');
                        }
                        ctrl_msg();   //調用函數


        $query= $db->query("SELECT name FROM $table_forums WHERE fid=$fid");
        while($result = $db->fetch_array($query))
        {
            $czfirstfn = $result['name'];
        }

        $query= $db->query("SELECT name FROM $table_forums WHERE fid=$moveto");
        while($result = $db->fetch_array($query))
        {
            $czsecondfn = $result['name'];
        }
//帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
$czsubject="移動主題短消息通知";
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
        while($memberid = $db->fetch_array($query)) {

if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被轉移,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";
}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被轉移,沒有對您的分值進行喜欢作!";
}

$msg_3="\n\n你的貼子由\n\n $czfirstfn  版塊\n\n移到\n\n $czsecondfn  版塊";
$msgtext=$msg_1.$msg.$msg_3.$msg_2;
        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberid[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
                if ($updateur != "1") {
$db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberid[authorid]'");

        }

} else{
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18

                        accesscheck($query);

                        $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){

                        ctrl_msg();   //調用函數
                        if($level < 0 || $level > 3) {
                                showmessage('undefined_action');
                        }
//帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
        while($memberid = $db->fetch_array($query)) {

if($level=="0"){if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被解除置頂,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";
$action_m="解除置頂";
        }else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被解除置頂,沒有對您的分值進行喜欢作!";
$action_m="解除置頂";}
}else{if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被置頂,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";
$action_m="置頂";}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被置頂,沒有對您的分值進行喜欢作!";
$action_m="置頂";}}

$msgtext=$msg_1.$msg.$msg_2;
$czsubject=$action_m."主題短消息通知";

        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberid[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
        if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
                                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberid[authorid]'");

        }

} else{
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18
                        $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) {
                ctrl_msg();   //調用函數
                        accesscheck($query);
                        $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++;
                        }
                        updatemember('-', $uids, '0');

                        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)");
                        }
                        //帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
        while($memberid = $db->fetch_array($query)) {

if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被刪除,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";
}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被刪除,沒有對您的分值進行喜欢作!";
}

$msgtext=$msg_1.$msg.$msg_2;
$czsubject=$action_m."主題短消息通知";
        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberid[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
        if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
                                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberid[authorid]'");

        }

} else{
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18
                       
                        $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)");

                        updateforumcount($fid);

                        modlog();
                        showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$page");

                                }elseif($operation == 'close' && $allowclose){

                        ctrl_msg();   //調用函數
                        $close = $type ? 1 : 0;
//帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
        while($memberid = $db->fetch_array($query)) {

if($type=="0"){
if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被解除鎖定,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="解除鎖定";
}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被解除鎖定,沒有對您的分值進行喜欢作!";$action_m="解除鎖定";
}
}else{if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被鎖定,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="鎖定";
}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被鎖定,沒有對您的分值進行喜欢作!";$action_m="鎖定";
}}


$msgtext=$msg_1.$msg.$msg_2;
$czsubject=$action_m."主題短消息通知";

        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberid[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
        if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
                                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberid[authorid]'");

        }

} else{
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid IN ($tids)");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18
                        $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 );
                ctrl_msg();   //調用函數

                $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");
                }

                updatemember('-', $uids, '0');
                //帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
$query = $db->query("SELECT authorid, subject FROM $table_posts WHERE pid IN ($pids)");
$czsubject="刪除帖子短消息通知";
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
        while($memberid = $db->fetch_array($query)) {

if ($updateur != "1") {
$msg_1="您在帖子“".$temsubject."”的回貼因 ".$title." 而被刪除,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";
}else{$msg_1="您在帖子“".$temsubject."”的回貼因 ".$title." 而被刪除,沒有對您的分值進行喜欢作!";
}

$msgtext=$msg_1.$msg.$msg_2;
        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberid[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
                if ($updateur != "1") {
$db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberid[authorid]'");

        }

} else{
$query = $db->query("SELECT authorid FROM $table_posts WHERE pid IN ($pids)");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18

                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) {
                        showmessage('undefined_action', NULL, 'HALTED');
                }
                                $db->query("UPDATE $table_threads SET digest='$level' WHERE tid='$tid'");

                        ctrl_msg();   //調用函數
//帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }

if($level > 0){
if ($updateur != "1") {
$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被加入了精華,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="加入精華";
}else{$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被加入精華,沒有對您的分值進行喜欢作!";$action_m="加入精華";
}
}else{if ($updateur != "1") {
$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被解除精華,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="解除精華";
}else{$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被解除精華,沒有對您的分值進行喜欢作!";$action_m="解除精華";
}}


$msgtext=$msg_1.$msg.$msg_2;
$czsubject=$action_m."短消息通知";

        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$thread[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");

        if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$thread[authorid]'");
     }
                                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$thread[authorid]'");



} else{
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$thread[authorid]'");
}
        }

//帖子喜欢作短信通知 hack by xiori 2005-3-18

/*        禁止根據精華級別進行加積分
                $digest_mark=($level-intval($thread['digest']))*$digestcredits;


                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 {
        ctrl_msg();   //調用函數

                $uids = $comma = '';
                $query = $db->query("SELECT authorid,aid FROM $table_posts WHERE tid='$tid'");
                $aids = 0;
                while($post = $db->fetch_array($query)) {
                        $uids .= "$comma$post[authorid]";
                        $comma = ',';
                        if ($post['aid']) $aids++;
                }
                updatemember('-', $uids, '0');
                if($ynmsg==1)
        {
$czsubject="刪除主題短消息通知";
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid='$tid'");
        while($memberidz = $db->fetch_array($query)) {
if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberidz[subject]."“因 ".$title." 而被刪除,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";
}else{$msg_1="您發表的帖子“".$memberidz[subject]."“因 ".$title." 而被刪除,沒有對您的分值進行喜欢作!";
}

$msgtext=$msg_1.$msg.$msg_2;
        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberidz[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
                                        $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberidz[authorid]'");                }


$query = $db->query("SELECT authorid, subject FROM $table_posts WHERE tid='$tid'");

        while($memberid = $db->fetch_array($query)) {

if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
        }

} else{
$query = $db->query("SELECT authorid, subject FROM $table_posts WHERE tid='$tid'");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18

                $db->query("DELETE FROM $table_threads WHERE tid='$tid'");
                $db->query("DELETE FROM $table_posts 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']);
                }

                modlog();
                showmessage('admin_succeed', "forumdisplay.php?fid=$fid&page=$fpage");

        }

} elseif($action == 'close' && $allowclose) {

        if(!submitcheck('closesubmit')) {

                include template('topicadmin_openclose');

        } else {
        ctrl_msg();   //調用函數
                $openclose = $thread['closed'] ? 0 : 1;
                $db->query("UPDATE $table_threads SET closed='$openclose' WHERE tid='$tid' AND fid='$fid'");
                //帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid='$tid' AND fid='$fid'");
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
        while($memberid = $db->fetch_array($query)) {

if($type=="0"){
if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被解除鎖定,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="解除鎖定";
}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被解除鎖定,沒有對您的分值進行喜欢作!";$action_m="解除鎖定";
}
}else{if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被鎖定,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="鎖定";
}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被鎖定,沒有對您的分值進行喜欢作!";$action_m="鎖定";
}}


$msgtext=$msg_1.$msg.$msg_2;
$czsubject=$action_m."主題短消息通知";

        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberid[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
        if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
                                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberid[authorid]'");

        }

} else{
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid='$tid' AND fid='$fid'");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18
                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;
                ctrl_msg();   //調用函數


        $query= $db->query("SELECT name FROM $table_forums WHERE fid=$fid");
        while($result = $db->fetch_array($query))
        {
            $czfirstfn = $result['name'];
        }

        $query= $db->query("SELECT name FROM $table_forums WHERE fid=$moveto");
        while($result = $db->fetch_array($query))
        {
            $czsecondfn = $result['name'];
        }
//帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid='$tid' AND fid='$fid'");
$czsubject="移動主題短消息通知";
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }
        while($memberid = $db->fetch_array($query)) {

if ($updateur != "1") {
$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被轉移,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";
}else{$msg_1="您發表的帖子“".$memberid[subject]."“因 ".$title." 而被轉移,沒有對您的分值進行喜欢作!";
}

$msg_3="\n\n你的貼子由\n\n $czfirstfn  版塊\n\n移到\n\n $czsecondfn  版塊";
$msgtext=$msg_1.$msg.$msg_3.$msg_2;
        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$memberid[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");
                if ($updateur != "1") {
$db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
     }
                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$memberid[authorid]'");

        }

} else{
$query = $db->query("SELECT authorid, subject FROM $table_threads WHERE tid='$tid' AND fid='$fid'");
        while($memberid = $db->fetch_array($query)) {
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$memberid[authorid]'");
}
        }
}
//帖子喜欢作短信通知 hack by xiori 2005-3-18
                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'");
                }

                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');
                }
                ctrl_msg();   //調用函數
//帖子喜欢作短信通知 hack by xiori 2005-3-18


if($ynmsg==1)
        {
if($content !=""){$title=$content;}
if ($msg !=""){
        $msg="

以下為".$discuz_user."給您的附言:".$msg."";
        }

if($level > 0){
if ($updateur != "1") {
$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被置頂,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="置頂";
}else{$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被置頂,沒有對您的分值進行喜欢作!";$action_m="置頂";
}
}else{if ($updateur != "1") {
$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被解除置頂,且進行了 積分$docredit, 率幣$domoney 的喜欢作!";$action_m="解除置頂";
}else{$msg_1="您發表的帖子“".$temsubject."“因 ".$title." 而被解除置頂,沒有對您的分值進行喜欢作!";$action_m="解除置頂";
}}


$msgtext=$msg_1.$msg.$msg_2;
$czsubject=$action_m."短消息通知";

        $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                VALUES('$discuz_user', '$discuz_uid', '$thread[authorid]', 'inbox', '1', '$czsubject', '$timestamp', '$msgtext')");

        if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$thread[authorid]'");
     }
                                $db->query("UPDATE $table_members SET newpm='1' WHERE uid='$thread[authorid]'");



} else{
if ($updateur != "1") {
                                $db->query("UPDATE $table_members SET money=money+$domoney,credit=credit+$docredit WHERE uid = '$thread[authorid]'");
}
        }

//帖子喜欢作短信通知 hack by xiori 2005-3-18
                $db->query("UPDATE $table_threads SET displayorder='$level' WHERE tid='$tid' AND fid='$fid'");

                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) {

        if(!submitcheck('splitsubmit')) {

                require_once DISCUZ_ROOT.'./include/discuzcode.php';

                $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");

        }

} 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-7-17 22:59:11 | 显示全部楼层
还可以
暂时不需要
回复

使用道具 举报

kcs985 发表于 2005-8-4 19:56:52 | 显示全部楼层
其實是很不錯的~~
可是如果版主處理大量的帖子(又沒有批量的權限時)
就比較麻煩了~~
回复

使用道具 举报

130qwy 发表于 2005-8-8 19:03:28 | 显示全部楼层
不能删主题!晕!

请选择或写明操作原因,请返回。
回复

使用道具 举报

湮灭冰痕 发表于 2005-8-8 21:10:28 | 显示全部楼层
为什么我安装了可以帮自己加分?而且后台还没记录……
回复

使用道具 举报

xxqq 发表于 2005-8-9 07:11:24 | 显示全部楼层
不能扣分,扣分会出现以下情况呀!

[ 本帖最后由 xxqq 于 2005-8-9 07:15 编辑 ]
回复

使用道具 举报

xxqq 发表于 2005-8-9 07:13:20 | 显示全部楼层
  1. Discuz! info: MySQL Query Error

  2. User: admin
  3. Time: 2005-8-9 7:23am
  4. Script: /dz/topicadmin.php

  5. SQL: UPDATE cdb_members SET money=money+-1,credit=credit+-1 WHERE uid = '2'
  6. Error: Unknown column 'money' in 'field list'
  7. [color=Red]程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖[/color]

  8. Similar error report has beed dispatched to administrator before.
复制代码

[ 本帖最后由 xxqq 于 2005-8-9 07:14 编辑 ]
回复

使用道具 举报

wishyou 发表于 2005-8-16 21:19:12 | 显示全部楼层
这个有问题啊!

评分之后确实能发信息通知你,实际上被评分人

的积分是没变化的!晕低啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-3 11:56 , Processed in 0.107147 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表