男的舔女的下面视频在线播放-少妇愉情理仑片高潮日本-久久久久久国产一区二区三区-麻豆精品一区二区综合-国产精品超碰在线观看-网红极品女神精品视频在线-国产亚洲综合777-高清性视频一区二区播放-中文字幕第一页亚洲天堂

Discuz! 官方交流社區(qū)

標(biāo)題: 關(guān)于帖子里個人簽名的分析 [打印本頁]

作者: 我是小站長    時間: 2019-6-3 15:57
標(biāo)題: 關(guān)于帖子里個人簽名的分析
本帖最后由 我是小站長 于 2019-6-3 15:57 編輯

首先在發(fā)帖/回帖的時候,在右側(cè)的選擇項里有使用個人簽名的功能,如圖。
[attach]981652[/attach]
勾選后發(fā)帖,相應(yīng)處理進(jìn)入source\include\post\post_newthread.php文件,在452行附近,相關(guān)代碼
  1. $usesig =!empty($_G['gp_usesig']) && $_G['group']['maxsigsize'] ? 1 : 0;
復(fù)制代碼


$usesig為是否使用個人簽名的標(biāo)志,1表示使用個人簽名,0為不使用。
其中$_G['gp_usesig']就是前面說的使用個人簽名的值,$_G['group']['maxsigsize']為所在用戶組下的簽名文字最大長度,如圖。
[attach]981650[/attach]

回帖的處理類似,不做敘述。

下面看下瀏覽帖子內(nèi)容時是如何處理個人簽名的。
在source\module\forum\forum_viewthread.php文件,964行附近,代碼如下。
  1. $post['signature'] = $post['usesig'] ? ($_G['setting']['sigviewcond'] ? (strlen($post['message']) > $_G['setting']['sigviewcond'] ? $post['signature'] : '') : $post['signature']) : '';
復(fù)制代碼


首先判斷是否使用個人簽名,$post['usesig']即為前面的使用個人簽名的值,1為使用,0為不使用。
$_G['setting']['sigviewcond']為簽名顯示條件,只有帖子字?jǐn)?shù)大于這個數(shù)值后才顯示簽名,具體位置如圖:
[attach]981651[/attach]

$post['signature']為個人簽名。
第一個三元表達(dá)式:
  1. (strlen($post['message'])> $_G['setting']['sigviewcond'] ? $post['signature'] : '')
復(fù)制代碼

這句代碼為:
如果帖子內(nèi)容的字?jǐn)?shù)>簽名顯示條件設(shè)置的字?jǐn)?shù),就為$post['signature'],否則為空。

第二個三元表達(dá)式:
  1. ($_G['setting']['sigviewcond']? (strlen($post['message']) > $_G['setting']['sigviewcond'] ?$post['signature'] : '') : $post['signature'])
復(fù)制代碼


如果設(shè)置了簽名顯示條件,就顯示為上面第一個表達(dá)式的值,否則顯示為個人簽名。

第三個三元表達(dá)式:
  1. $post['usesig'] ?($_G['setting']['sigviewcond'] ? (strlen($post['message']) >$_G['setting']['sigviewcond'] ? $post['signature'] : '') : $post['signature']): '';
復(fù)制代碼


如果帖子里選擇了使用個人簽名,則顯示為上面第二個表達(dá)式的值,否則為空。

然后看模板中是如何處理的。
在template\default\forum\viewthread_node.htm,287行附近,代碼如下:
  1. <!--{if$post['signature'] && ($_G['setting']['bannedmessages'] & 4&& ($post['memberstatus'] == '-1' || ($post['authorid'] &&!$post['username']) || ($post['groupid'] == 4 || $post['groupid'] == 5) ||($post['status'] & 1)))}--><divclass="sign">{lang member_signature_banned}</div><!--{elseif$post['signature'] && !$post['anonymous'] &&$showsignatures}--><divclass="sign"style="max-height:{$_G['setting']['maxsigrows']}px;maxHeightIE:{$_G['setting']['maxsigrows']}px;">$post[signature]</div><!--{/if}-->
復(fù)制代碼

  1. <!--{if$post['signature'] && ($_G['setting']['bannedmessages'] & 4&& ($post['memberstatus'] == '-1' || ($post['authorid'] &&!$post['username']) || ($post['groupid'] == 4 || $post['groupid'] == 5) ||($post['status'] & 1)))}--><divclass="sign">{lang member_signature_banned}</div>
復(fù)制代碼

為用戶被禁止下的顯示情況,此時簽名顯示為簽名被屏蔽。

  1. <!--{elseif$post['signature'] && !$post['anonymous'] &&$showsignatures}--><divclass="sign"style="max-height:{$_G['setting']['maxsigrows']}px;maxHeightIE:{$_G['setting']['maxsigrows']}px;">$post[signature]</div><!--{/if}-->
復(fù)制代碼

為正常情況下的顯示。


作者: 耗子    時間: 2019-6-3 17:14
感謝分享給
作者: onetheme    時間: 2019-6-4 15:00
感謝分享!!




歡迎光臨 Discuz! 官方交流社區(qū) (http://m.sdtechgong.com.cn/) Powered by Discuz! X5.0