立即注册找回密码
 

奇瑰网

社区官方在线联系

工作时间: 周一到周五早上09:00-11:00, 下午03:00-05:00, 晚上08:30-10:30(周六、日休息)
点击这里给我发消息 点击这里给我发消息
QQ: 1721016987  TEL: qiguiqiqiku@foxmail.com  E-Mail: qiguiqiqiku@foxmail.com
用户交流QQ群
①群87904533 ③群943814120 ④群123475361 ←提醒:请勿重复加群, 谢谢合作

关于帖子里个人签名的分析

[复制链接]

19

主题

49

帖子

975

积分

高级会员

Rank: 4

G币
643
信用
0
体力
85
发表于 2019-6-22 22:38:09 | 显示全部楼层 |阅读模式
首先在发帖/回帖的时候,在右侧的选择项里有使用个人签名的功能,如图。

勾选后发帖,相应处理进入source\include\post\post_newthread.php文件,在452行附近,相关代码
  • $usesig =!empty($_G['gp_usesig']) && $_G['group']['maxsigsize'] ? 1 : 0;

[color=rgb(51, 102, 153) !important]复制代码



$usesig为是否使用个人签名的标志,1表示使用个人签名,0为不使用。
其中$_G['gp_usesig']就是前面说的使用个人签名的值,$_G['group']['maxsigsize']为所在用户组下的签名文字最大长度,如图。


回帖的处理类似,不做叙述。

下面看下浏览帖子内容时是如何处理个人签名的。
在source\module\forum\forum_viewthread.php文件,964行附近,代码如下。
  • $post['signature'] = $post['usesig'] ? ($_G['setting']['sigviewcond'] ? (strlen($post['message']) > $_G['setting']['sigviewcond'] ? $post['signature'] : '') : $post['signature']) : '';

[color=rgb(51, 102, 153) !important]复制代码



首先判断是否使用个人签名,$post['usesig']即为前面的使用个人签名的值,1为使用,0为不使用。
$_G['setting']['sigviewcond']为签名显示条件,只有帖子字数大于这个数值后才显示签名,具体位置如图:


$post['signature']为个人签名。
第一个三元表达式:
  • (strlen($post['message'])> $_G['setting']['sigviewcond'] ? $post['signature'] : '')

[color=rgb(51, 102, 153) !important]复制代码


这句代码为:
如果帖子内容的字数>签名显示条件设置的字数,就为$post['signature'],否则为空。

第二个三元表达式:
  • ($_G['setting']['sigviewcond']? (strlen($post['message']) > $_G['setting']['sigviewcond'] ?$post['signature'] : '') : $post['signature'])

[color=rgb(51, 102, 153) !important]复制代码



如果设置了签名显示条件,就显示为上面第一个表达式的值,否则显示为个人签名。

第三个三元表达式:
  • $post['usesig'] ?($_G['setting']['sigviewcond'] ? (strlen($post['message']) >$_G['setting']['sigviewcond'] ? $post['signature'] : '') : $post['signature']): '';

[color=rgb(51, 102, 153) !important]复制代码



如果帖子里选择了使用个人签名,则显示为上面第二个表达式的值,否则为空。

然后看模板中是如何处理的。
在template\default\forum\viewthread_node.htm,287行附近,代码如下:
  • <!--{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}-->

[color=rgb(51, 102, 153) !important]复制代码


  • <!--{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>

[color=rgb(51, 102, 153) !important]复制代码


为用户被禁止下的显示情况,此时签名显示为签名被屏蔽。

  • <!--{elseif$post['signature'] && !$post['anonymous'] &&$showsignatures}--><divclass="sign"style="max-height:{$_G['setting']['maxsigrows']}px;maxHeightIE:{$_G['setting']['maxsigrows']}px;">$post[signature]</div><!--{/if}-->

[color=rgb(51, 102, 153) !important]复制代码


为正常情况下的显示。





上一篇:【同盾论坛防灌水插件】秒杀广告机,杜绝垃圾灌水,站...
下一篇:[奇瑰网服务器合作商],租服务器,就找东邦互联
回复

使用道具 举报

使用高级回帖 (可批量传图、插入视频等)

发表回复

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

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
Powered by Discuz! X3.4 粤ICP备18094825号-1  知道创宇云安全  |网站地图
Copyright © 2014-2019 www.qiguiwl.cn All Rights Reserved.
快速回复 返回顶部 返回列表