[分享]wog3.0简体中文版在VBB3.0.X下面发PM错误的BUG

BUG回報,BUG修改教學

版主: 涅魂, 簫哥

kissfish
 
文章: 2
註冊時間: 2007-02-04 11:59 pm

[分享]wog3.0简体中文版在VBB3.0.X下面发PM错误的BUG

文章kissfish » 2007-02-12 8:43 pm

class_act_message.php这个文件里面
函数function vbb3_message($user_id,$user_name,$bbs_id)

代碼: 選擇全部
$message = addslashes(fetch_censored_text($_POST["temp_id"]));
         $DB_site->query("INSERT INTO pmtext\n\t(fromuserid, fromusername, title, message, touserarray, iconid, dateline, showsignature, allowsmilie)\nVALUES\n\t($bbs_id, '" . addslashes($p2[username]) . "', '".$user_name." 传来WOG讯息', '".$message."', '" . addslashes($p[username]) . "', 0, " . time() . ", 0, 1)");

里面的touserarray插入的记录是空的,而且
代碼: 選擇全部
$DB_site->query("INSERT INTO pm (pmtextid, userid, folderid, messageread) VALUES ($pmtextid, $bbs_id, 0, 0)");
         $DB_site->shutdown_query("UPDATE user SET pmtotal=pmtotal+1,pmunread=pmunread+1 WHERE userid=$bbs_id");

更新的是发送者而非接收者的PM状态

我的fix方法,用下面的代码替换这个函数。
function vbb3_message($user_id,$user_name,$bbs_id)
注意,为了节省空间没有自留消息备份

代碼: 選擇全部
function vbb3_message($user_id,$user_name,$bbs_id)
   {
      global $DB_site,$_POST,$lang,$root_path;
                $_POST["pay_id"]=addslashes(htmlspecialchars($_POST["pay_id"]));
      $p=$DB_site->query_first("SELECT p_bbsid FROM wog_player WHERE p_name='".$_POST["pay_id"]."'");
                $tu= $DB_site->query_first("SELECT username  FROM user WHERE userid =".$p[p_bbsid]."");
      $p2=$DB_site->query_first("SELECT username  FROM user WHERE userid =".$bbs_id."");
      if($p && $p2)
      {
         // insert private message text
         require_once($root_path.'includes/functions.php');
         $message = addslashes(fetch_censored_text($_POST["temp_id"]));
         $DB_site->query("INSERT INTO pmtext\n\t(fromuserid, fromusername, title, message, touserarray, iconid, dateline, showsignature, allowsmilie)\nVALUES\n\t($bbs_id, '" . addslashes($p2[username]) . "', '".$user_name." 传来WOG讯息', '".$message."', '" .addslashes(serialize($tu[username])). "', 0, " . time() . ", 0, 1)");
         // get the inserted private message id
         $pmtextid = $DB_site->insert_id();
    $DB_site->query("INSERT INTO pm (pmtextid, userid, folderid, messageread) VALUES ($pmtextid, '".$p[p_bbsid]."', 0, 0)");
   $DB_site->shutdown_query("UPDATE user SET pmtotal=pmtotal+1,pmunread=pmunread+1 WHERE userid =".$p[p_bbsid]."");
         showscript("parent.job_end(7)");
      }else
      {
         alertWindowMsg($lang['wog_act_noid']);
      }
      unset($p);
      unset($p2);
                          unset($tu);
   }



最後由 kissfish 於 2007-02-12 8:52 pm 編輯,總共編輯了 1 次。


涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2007-02-12 8:45 pm

謝謝您的提出,請收下一顆GP吧 :wink:


圖檔

kissfish
 
文章: 2
註冊時間: 2007-02-04 11:59 pm

文章kissfish » 2007-02-12 8:48 pm

谢谢。对了,声明一下,论坛是VBB3.0.x的问题。




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2007-02-12 8:50 pm

嗯,版本說明建議可以用編輯文章的方式來放在文章的標題上

這樣可以方便有需求的會員能快速知道是哪個版本的問題 :D


圖檔


回到 臭蟲BUG區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 5 位訪客