新闻中心

PHPWIND V8.7会员回复帖功能限制会员不能发表带有超链接地址的帖子的BUG

作者 / 无忧主机 时间 2012-11-02 04:58:24

会员在论坛发链接帖子,无非就是给自己网站打广告。为了论坛人气,适当的广告互动是可以的,为了方便的控制好,我们可以设定一个预定值,只有达到发帖数量后,才可以发带有超链接的帖子,这样论坛的总帖子数量和用户的一些特殊要求,两全其美。那么,我们的phpwind是否可以实现类?如何可以实现,如何设置?这个功能,我们可以在phpwind后台直接设置,但是无忧主机(www.51php.com)小编在测试中,发现了一个bug,但是设置这项选项后会员回复帖子会提示:你的发贴数未到x(帖子的数量),不能发表带有链接地址的帖子。而且已经在官方找到了解决方案,并确定是这是一个BUG,小编现在分享一下这个bug的解决方案,让站长遇到同样问题少走弯路。 一、phpwind后台操作路径 Phpwind管理后台—>全局—>会员相关—>链接帖发帖限制 二、解决会员回复帖子提示:您的发帖数未到x(帖子的数量),不能发表带有链接地址的帖子方案 文件目录为:lib/forum/post.class.php将文件下载至本地 文本编辑器打开:post.class.php(修改前备份好原文件) 查找:(大约在660-669行)

function urlCheck($str) {

    global $db_bbsurl;

    if (strpos($str,'[/URL]') !== false || strpos($str,'[/url]') !== false) return true;

    if (preg_match_all('/\[url=([^\]]+)]/is', $str ,$matches)){

        foreach ($matches[1] as $v) {

            if (strpos($v, $db_bbsurl) !== 0) return true;

        }

    }

    return false;

}
修改为:
function urlCheck($str) {

        global $db_bbsurl;

        if (strpos($str,"[quote]") !== false && strpos($str,"[/quote]") !== false) {

            $str = preg_replace("/\[quote\](.*?)\[\/quote\]/eis","",$str);

        }

        if (strpos($str,'[/URL]') !== false || strpos($str,'[/url]') !== false) return true;

        if (preg_match_all('/\[url=([^\]]+)]/is', $str ,$matches)){

            foreach ($matches[1] as $v) {

                if (strpos($v, $db_bbsurl) !== 0) return true;

            }

        }

        return false;

}
修改完成后,上传至php虚拟主机相应的目录,登陆管理后台更新缓存。 更多PhpwindV8.7相关BUG解决方案: 低版本升级至phpwind V8.7找回丢失的默认wap广告位 phpwind V8.7查看帖子点击返回列表出现:读取数据错误,你要访问的链接无效 解决phpwind V8.7音乐不能自动播放的问题 phpwind V8.7点击广告管理提示传递参数password错误  phpwind V8.5升级V8.7发帖提示找不到fontselector组件   Linux环境下高端免备案香港独立IP地址 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:https://www.51php.com/phpwind/9723.html

1
1
1
1
1
1
1