久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

12下一頁
返回列表 發(fā)帖
查看: 6747|回復(fù): 15

[已處理] 發(fā)現(xiàn)一個(gè)重要的BUG,日志置頂帖刪掉后留下空白日志!

17

主題

126

回帖

158

積分

漸入佳境

貢獻(xiàn)
2 點(diǎn)
金幣
2 個(gè)
樓主
發(fā)表于 2022-11-8 04:04:51 | 只看樓主 |只看大圖 |倒序?yàn)g覽 |閱讀模式
BUG反饋
程序版本: X3.4
瀏覽器: Chrome 
BUG地址: 隱藏內(nèi)容
BUG截圖:
測試用戶名: 隱藏內(nèi)容
測試密碼: 隱藏內(nèi)容
首先你發(fā)2個(gè)日志,然后將其中一個(gè)日志置頂,然后直接刪除這個(gè)置頂日志(不要取消置頂刪除)
刷新后這個(gè)帖子依然存在,如果你后臺(tái)沒設(shè)回收站,那么他顯示的是一個(gè)空白帖,如果你啟用了回收站,這個(gè)帖像似一個(gè)正常帖,但無法刪除!


如果你把發(fā)布的兩個(gè)帖子全部刪除,那么這個(gè)刪不掉的帖子也消失了,而當(dāng)你再次發(fā)新日志,這個(gè)空白帖他又出現(xiàn)了。。。

-------------------------(我是新安裝的Discuz_X3.4_SC_UTF8_20220811完整安裝版測試的,所以也沒必要提供網(wǎng)站和用戶名密碼)


我的檢查了表,是 pre_common_member_field_home 表的 stickblogs 項(xiàng)不能隨用戶刪日志而同步清除置頂信息,也就是置頂參數(shù)依然存在,我把這里的數(shù)字清空,就一切正常了。

管理員可以手動(dòng)清除,總不能我整天幫用戶清除這些數(shù)據(jù)吧?快修復(fù)吧,要瘋了!
1 貢獻(xiàn)

最佳答案

https://gitee.com/Discuz/DiscuzX/pulls/1797/files
打開 source/include/space/space_blog.php
文件最底部有個(gè)
  1. function blog_get_stick($uid, $stickblogs, $summarylen) {
  2.         $list = array_flip($stickblogs);
  3.         if($stickblogs) {
  4.                 $data_blog = C::t('home_blog')->fetch_all($stickblogs);
  5.                 $data_blogfield = C::t('home_blogfield')->fetch_all($stickblogs);
  6.                 foreach($data_blog as $curblogid=>$value) {
  7.                         $value = array_merge($value, (array)$data_blogfield[$curblogid]);
  8.                         $value['message'] = getstr($value['message'], $summarylen, 0, 0, 0, -1);
  9.                         $value['message'] = preg_replace("/&[a-z]+\;/i", '', $value['message']);
  10.                         if($value['pic']) $value['pic'] = pic_cover_get($value['pic'], $value['picflag']);
  11.                         $value['dateline'] = dgmdate($value['dateline']);
  12.                         $value['stickflag'] = true;
  13.                         $list[$value['blogid']] = $value;
  14.                 }
  15.         }
  16.         return $list;
  17. }
復(fù)制代碼
修改為
  1. function blog_get_stick($uid, $stickblogs, $summarylen) {
  2.         $list = array();
  3.         if($stickblogs) {
  4.                 $stickids = array();
  5.                 $data_blog = C::t('home_blog')->fetch_all($stickblogs);
  6.                 $data_blogfield = C::t('home_blogfield')->fetch_all($stickblogs);
  7.                 foreach ($stickblogs as $blogid) {
  8.                         if(!empty($data_blog[$blogid]) && !empty($data_blogfield[$blogid])) {
  9.                                 $value = array_merge($data_blog[$blogid], $data_blogfield[$blogid]);
  10.                                 $value['message'] = getstr($value['message'], $summarylen, 0, 0, 0, -1);
  11.                                 $value['message'] = preg_replace("/&[a-z]+\;/i", '', $value['message']);
  12.                                 if($value['pic']) $value['pic'] = pic_cover_get($value['pic'], $value['picflag']);
  13.                                 $value['dateline'] = dgmdate($value['dateline']);
  14.                                 $value['stickflag'] = true;
  15.                                 $list[$value['blogid']] = $value;
  16.                                 $stickids[] = $value['blogid'];
  17.                         }
  18.                 }
  19.                 if(count($stickids) != count($stickblogs)) {
  20.                         C::t('common_member_field_home')->update($uid, array('stickblogs' => implode(',', $stickids)));
  21.                 }
  22.         }
  23.         return $list;
  24. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

17

主題

588

回帖

1852

積分

應(yīng)用開發(fā)者

貢獻(xiàn)
66 點(diǎn)
金幣
902 個(gè)
QQ
置頂 來自 8#
發(fā)表于 2022-11-16 10:48:03 | 只看Ta
https://gitee.com/Discuz/DiscuzX/pulls/1797/files
打開 source/include/space/space_blog.php
文件最底部有個(gè)
  1. function blog_get_stick($uid, $stickblogs, $summarylen) {
  2.         $list = array_flip($stickblogs);
  3.         if($stickblogs) {
  4.                 $data_blog = C::t('home_blog')->fetch_all($stickblogs);
  5.                 $data_blogfield = C::t('home_blogfield')->fetch_all($stickblogs);
  6.                 foreach($data_blog as $curblogid=>$value) {
  7.                         $value = array_merge($value, (array)$data_blogfield[$curblogid]);
  8.                         $value['message'] = getstr($value['message'], $summarylen, 0, 0, 0, -1);
  9.                         $value['message'] = preg_replace("/&[a-z]+\;/i", '', $value['message']);
  10.                         if($value['pic']) $value['pic'] = pic_cover_get($value['pic'], $value['picflag']);
  11.                         $value['dateline'] = dgmdate($value['dateline']);
  12.                         $value['stickflag'] = true;
  13.                         $list[$value['blogid']] = $value;
  14.                 }
  15.         }
  16.         return $list;
  17. }
復(fù)制代碼
修改為
  1. function blog_get_stick($uid, $stickblogs, $summarylen) {
  2.         $list = array();
  3.         if($stickblogs) {
  4.                 $stickids = array();
  5.                 $data_blog = C::t('home_blog')->fetch_all($stickblogs);
  6.                 $data_blogfield = C::t('home_blogfield')->fetch_all($stickblogs);
  7.                 foreach ($stickblogs as $blogid) {
  8.                         if(!empty($data_blog[$blogid]) && !empty($data_blogfield[$blogid])) {
  9.                                 $value = array_merge($data_blog[$blogid], $data_blogfield[$blogid]);
  10.                                 $value['message'] = getstr($value['message'], $summarylen, 0, 0, 0, -1);
  11.                                 $value['message'] = preg_replace("/&[a-z]+\;/i", '', $value['message']);
  12.                                 if($value['pic']) $value['pic'] = pic_cover_get($value['pic'], $value['picflag']);
  13.                                 $value['dateline'] = dgmdate($value['dateline']);
  14.                                 $value['stickflag'] = true;
  15.                                 $list[$value['blogid']] = $value;
  16.                                 $stickids[] = $value['blogid'];
  17.                         }
  18.                 }
  19.                 if(count($stickids) != count($stickblogs)) {
  20.                         C::t('common_member_field_home')->update($uid, array('stickblogs' => implode(',', $stickids)));
  21.                 }
  22.         }
  23.         return $list;
  24. }
復(fù)制代碼



太棒了,網(wǎng)絡(luò)還是有好心人滴,感謝兄弟,給我和大家解決了此問題! 
發(fā)表于 2022-11-16 17:58
回復(fù) 1

使用道具 舉報(bào)

112

主題

876

回帖

1182

積分

已臻大成

貢獻(xiàn)
16 點(diǎn)
金幣
12 個(gè)
QQ
板凳
發(fā)表于 2022-11-11 12:25:10 | 只看Ta
現(xiàn)在都高3.5去了,3.4的一些問題不會(huì)弄了吧
回復(fù)

使用道具 舉報(bào)

17

主題

126

回帖

158

積分

漸入佳境

貢獻(xiàn)
2 點(diǎn)
金幣
2 個(gè)
地板
 樓主| 發(fā)表于 2022-11-12 15:25:14 | 只看Ta
如果說不完美可以理解的,因?yàn)闊o論官方怎么設(shè)計(jì)都是眾口難調(diào),但是我說的這個(gè)BUG不僅給站長帶來麻煩,也給用戶帶來麻煩,總有幾個(gè)空的置頂帖子在上面,而且越積累越多,多影響心情,而且即使修復(fù)了,所有用戶的空日志依然置頂存在,包括3.5也存在這個(gè)問題的,所以日志以后不能啟用置頂帖,我是把置頂功能代碼刪除了,沒辦法。

如果有高人指點(diǎn),修復(fù)此問題,萬分感謝!
回復(fù)

使用道具 舉報(bào)

17

主題

126

回帖

158

積分

漸入佳境

貢獻(xiàn)
2 點(diǎn)
金幣
2 個(gè)
5#
 樓主| 發(fā)表于 2022-11-13 16:58:21 | 只看Ta
有沒有大神支援一下,解決這個(gè)問題?我不太懂,新手。。。我想解決這個(gè)問題應(yīng)該不難,就刪日志的同時(shí)刪除對(duì)應(yīng)的置頂信息。

官方大大能不能幫助解決一下或指點(diǎn)一下呢?

以下是刪除日志按鈕相關(guān)代碼
  1.       <!--{if $_GET['view']=='me' && $space['self']}--><!--{if empty($value['status'])}--><a href="home.php?mod=spacecp&ac=blog&blogid=$value[blogid]&op=stick&stickflag=$stickflag&handlekey=stickbloghk_{$value[blogid]}" id="blog_stick_$value[blogid]" onclick="showWindow(this.id, this.href, 'get', 0);"><!--{if $stickflag}-->{lang stick}<!--{else}-->{lang cancel_stick}<!--{/if}--></a><span class="pipe">|</span><!--{/if}--><!--{/if}-->
復(fù)制代碼
以下是要?jiǎng)h帖的同時(shí)從表里刪除對(duì)應(yīng)的置頂數(shù)據(jù)
表:pre_common_member_field_home
其中stickblogs項(xiàng)的置頂信息(例如:35,36,14)刪帖的同時(shí)如何同步刪除對(duì)應(yīng)的組數(shù)字?

如何修改刪帖的代碼實(shí)現(xiàn)刪除相應(yīng)的置頂數(shù)據(jù)呢?還是得修改哪里的控制代碼呢?
回復(fù)

使用道具 舉報(bào)

12

主題

1655

回帖

2791

積分

Giter

貢獻(xiàn)
147 點(diǎn)
金幣
359 個(gè)
6#
發(fā)表于 2022-11-16 01:27:16 | 只看Ta
說好的一起 發(fā)表于 2022-11-13 16:58
有沒有大神支援一下,解決這個(gè)問題?我不太懂,新手。。。我想解決這個(gè)問題應(yīng)該不難,就刪日志的同時(shí)刪除對(duì) ...

bug反饋了即可,一般后續(xù)會(huì)有人來看的。
不要聽那些人說的,bug一直都是有持續(xù)修復(fù)的。
可以去Gitee上面看,更新內(nèi)容一直都沒有斷過。

不過排隊(duì)是免不了的了,要做的事情很多很多,輪到你這個(gè)可能得點(diǎn)時(shí)間。
最好不要指望反饋了馬上就能得到結(jié)果,如果非常急的話建議還是找人自己先解決一下。
回復(fù)

使用道具 舉報(bào)

12

主題

1655

回帖

2791

積分

Giter

貢獻(xiàn)
147 點(diǎn)
金幣
359 個(gè)
7#
發(fā)表于 2022-11-16 01:31:02 | 只看Ta
另外bug可以同時(shí)反饋到Gitee的issue板塊,記得使用電腦端按模板填寫,這樣得到關(guān)注和修復(fù)的優(yōu)先級(jí)會(huì)更高一些。
回復(fù)

使用道具 舉報(bào)

17

主題

126

回帖

158

積分

漸入佳境

貢獻(xiàn)
2 點(diǎn)
金幣
2 個(gè)
8#
 樓主| 發(fā)表于 2022-11-16 02:57:17 | 只看Ta
專家 發(fā)表于 2022-11-16 01:27
bug反饋了即可,一般后續(xù)會(huì)有人來看的。
不要聽那些人說的,bug一直都是有持續(xù)修復(fù)的。
可以去Gitee上面 ...

好的,謝謝,回頭去那邊看看。。。
回復(fù)

使用道具 舉報(bào)

152

主題

360

回帖

623

積分

自成一派

貢獻(xiàn)
0 點(diǎn)
金幣
68 個(gè)
9#
發(fā)表于 2022-11-16 13:56:10 | 只看Ta
終于解決了,這個(gè)BUG我兩年前就在GIT提交了,沒人理
哈哈,我琢磨了好幾天,也沒弄好。。。 
發(fā)表于 2022-11-16 17:59
回復(fù)

使用道具 舉報(bào)

12

主題

1655

回帖

2791

積分

Giter

貢獻(xiàn)
147 點(diǎn)
金幣
359 個(gè)
10#
發(fā)表于 2022-11-16 15:57:54 | 只看Ta
說好的一起 發(fā)表于 2022-11-16 02:57
好的,謝謝,回頭去那邊看看。。。

你樓下那位已經(jīng)幫忙給修好了,可以對(duì)照著自己改一下或者等待下一個(gè)正式版發(fā)布
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

  • 關(guān)注公眾號(hào)
  • 有償服務(wù)微信
  • 有償服務(wù)QQ

手機(jī)版|小黑屋|Discuz! 官方交流社區(qū) ( 皖I(lǐng)CP備16010102號(hào) |皖公網(wǎng)安備34010302002376號(hào) )|網(wǎng)站地圖|star

GMT+8, 2025-7-3 05:14 , Processed in 0.070360 second(s), 17 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

關(guān)燈 在本版發(fā)帖
有償服務(wù)QQ
有償服務(wù)微信
返回頂部
快速回復(fù) 返回頂部 返回列表