X2审核通过不提醒的解决方法

问题描述:后台审核或删除帖子,用户收不到提醒。分析源代码,发现无理由通过/删除帖子时,系统默认不发送pm。
问题解决:在php处理流程前判断是否有理由。如果没有理由,添加一个默认的理由,这样就可以实现总是发送pm。
解决方法:

需要修改的地方:
/source/admincp/moderate/moderate_thread.php
/source/admincp/moderate/moderate_reply.php
/source/include/modcp/modcp_moderate.php
可能还有moderate/下的其它文件(按照需求来修改)

在moderate_thread.php中查找

    if(isset($_G['gp_'.$pm]) && $_G['gp_'.$pm] <> '' && $thread['authorid']) {

在moderate_reply.php中查找

    if(isset($_G['gp_'.$pm]) && $_G['gp_'.$pm] <> '' && $post['authorid']) {

在上方插入

    $_G['gp_'.$pm] = (isset($_G['gp_'.$pm]) && $_G['gp_'.$pm] <> '') ? $_G['gp_'.$pm] : '感谢您的支持,论坛有您更加精彩!';

在/source/include/modcp/modcp_moderate.php中查找

if($_G['gp_reason'] != '' && $post['authorid'] && $post['authorid'] != $_G['uid']) {

修改为

    $_G['gp_reason'] = $_G['gp_reason']!='' ? $_G['gp_reason'] :'感谢您的支持,论坛有您更加精彩!';
    if($_G['gp_reason'] != '' && $post['authorid']) {

找到

if($_G['gp_reason'] != '' && $thread['authorid'] && $thread['authorid'] != $_G['uid']) {

修改为

    $_G['gp_reason'] = $_G['gp_reason']!='' ? $_G['gp_reason'] :'感谢您的支持,论坛有您更加精彩!';
    if($_G['gp_reason'] != '' && $thread['authorid']) {

注意,每个文件中可能存在多于一个这样的修改点。(前两个文件是两个,最后那个文件是四个)

懒人下载:http://www.ctdisk.com/file/10237915

【友情提醒】DiscuzX2.5 R20120901 切勿轻易升级!

昨天我登录卡院的后台,发现DZX2.5出了个更新。出于习惯我备份了数据库和文件,然后直接关闭网站进行后台更新了。可是这次更新并不顺利。

首先我更新到一半就无法下载/source/language/admincp.lang.php(印象中是这样的)这个文件。处于无奈我就手动更新了一下dzx。更新过程没有任何问题,后台显示为20120901版本,我就放心的打开论坛了。

但是晚上就有很多用户给我反馈说回帖的时候显示内部错误,没法显示帖子;充值卡的地方验证码输入不了等问题。我上DiscuzX官方论坛看了一眼,好像问题还不止这些。因为没更新数据库,所以我连忙把文件直接还原了。还原以后一切正常,卡院也算恢复了。

嘛。下次更新的话,一定要先去DiscuzX论坛里面看看bug反馈啥的……不然伤不起啊!

DiscuzX2.5 群组开放回帖

DZX的群组权限控制一直很犯二的样子,可以限制加入和浏览权限,但是不加入就死活没法发帖回帖。我把DiscuzX2.5的文件修改了一下,让它做到“能浏览即可回帖”。

修改方法:

1.找到./source/function/function_group.php第39行左右

	if($action == 'post' && !$isgroupuser) {
		return 4;
	}

改为:

	if($action == 'post' && !$isgroupuser) {
		return '';
	}

 

2.找到./source/moudle/forum/forum_viewthread.php第286行左右

$fastpost = $_G['setting']['fastpost'] && !$_G['forum_thread']['archiveid'] && ($_G['forum']['status'] != 3 || $_G['isgroupuser']);

改为:

$fastpost = $_G['setting']['fastpost'] && !$_G['forum_thread']['archiveid'];

经过以上两步,你的dzx群组就可以做到有查看权限的用户都能回帖发帖了~

ps.自己研究的方法,因为前两天弄的,所以不一定包括了所有要改的地方= =如果还是出不来……那我也没辙了,印象中就改了这两个地方。

pps.这次改代码发现dzx的代码写得真不是盖的诶,逻辑很清晰的。

ppps.最近论坛忙死了= = 所以依然没空更新博客什么的……

疑难杂症+乱七八糟的论坛手札

这几天一直在忙这个该死的DiscuzX搭建的卡院论坛,乱七八糟的事情好多好多……所以都没能更新博客个说。

于是今天有空上来写写遇到的一些琐碎的事情。

首先是免费CDN。本来我用的是Incapsula的CDN系统,只需要更新cname的那个。后来ivmm说Cloudflare更好,于是我就去换了CloudFlare。结果呢?……我自己测试结果,感觉速度一般般,和Incapsula差不多,会员们不乐意了,在群里翻腾说连不上。找了一两个典型用户让他们协助测试,结果CloudFlare很多地方没法访问到ns。虽然可以替换NS,但是懒得折腾了。

然后就是“个性签名”不显示的问题。这个大部分DZX用户可能没有碰到过,但是我确实碰到这种诡异的问题,用户中心无法修改个性签名。百度了很多,就是没有解决办法。偶然翻到“用户栏目”这个管理项目才发现不知道什么时候用户栏目中的“个性签名”被我取消掉了。于是勾上,修复完毕。

最后……我在写论坛管理方案,于是又是很久不能更新博客个说……