老张小站

  1. 欢迎光临

    感谢访问老张的博客!

  • 1
2,261

Discuz! X3.* 当启用发送站内消息扣分策略时,发送给指定版主免扣

分类 网站技术/村民张先生 发布于 2015-08-30 10:15
0

当发送站内消息需要支付某种积分时,我们可以在用户组设置中,指定某些用户组发送消息免扣。但不免扣的用户向管理员/版主发送消息时需要支付积分,如果积分不足,则无法通过站内消息联系管理员/版主,我们可以进行以下设置,允许任何用户向指定管理员/版主发送消息且免扣积分。

打开 source/include/spacecp/spacecp_pm.php 文件,

查找:

		!($_G['group']['exempt'] & 1) && checklowerlimit('sendpm', 0, $coef);

这是检测积分是否足够的语句,积分不足将进行提示并停止发送。
我们给它添加一个判断,替换为:

		if(!in_array($touid, array(1,31,110,111,118,188))) {
			!($_G['group']['exempt'] & 1) && checklowerlimit('sendpm', 0, $coef);
		}

其中的数字为几个免积分可发送到的目标UID。

查找:

			!($_G['group']['exempt'] & 1) && updatecreditbyaction('sendpm', 0, array(), '', $coef);

这是执行扣分的语句,我们给它添加判断,修改为:

			if(!in_array($touid, array(1,31,110,111,118,188))) {
				!($_G['group']['exempt'] & 1) && updatecreditbyaction('sendpm', 0, array(), '', $coef);
			}

注意两处的UID保持一致。
此时,已可通过这部分版主所发帖子页面上其头像下方的“发消息”链接免积分向其发送站内消息。

继续进行以下修改,使消息中心回复这部分版主的消息时也能免扣积分。
打开当前模板目录下的 home/spacecp_pm.htm 文件,查找:

home.php?mod=spacecp&ac=pm&op=send

替换为:

home.php?mod=spacecp&ac=pm&op=send&touid=$touid

上传覆盖,更新缓存。

注意:此方法只能使用户在 帖子内容页头像下方“发消息”链接 和 消息中心回复指定版主消息 时免扣积分。在消息中心直接输入版主用户名发送消息仍旧需要扣减(如果要修改这里,请另行查找方法)。

欢迎转载分享,转载请注明 来源:大张小站 https://www.zhang.cq.cn/20151553.html
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截