新网Logo
首页>虚机资讯>

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

登录 注册

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

  • 来源:
  • 更新日期:2018-05-07

摘要:会员在论坛发链接帖子,无非就是给自己网站打广告。为了论坛人气,适当的广告互动是可以的,为了方便的控制好,我们可以设定一个预定值,只有达到发 帖数量后,才可以发带有超链接的帖子,这样论坛的总帖子数量和用户的一些特殊要求,两全其美。那么,我们的phpwind是否可以实现类?如何可以实现, 如何设置?这个功能,我们可以在phpwind后台直接设置,但是无忧主机小编在测试中,发现了一个bug,但是设置这项

会员在论坛发链接帖子,无非就是给自己网站打广告。为了论坛人气,适当的广告互动是可以的,为了方便的控制好,我们可以设定一个预定值,只有达到发 帖数量后,才可以发带有超链接的帖子,这样论坛的总帖子数量和用户的一些特殊要求,两全其美。那么,我们的phpwind是否可以实现类?如何可以实现, 如何设置?这个功能,我们可以在phpwind后台直接设置,但是无忧主机小编在测试中,发现了一个bug,但是设置这项 选项后会员回复帖子会提示:你的发贴数未到x(帖子的数量),不能发表带有链接地址的帖子。而且已经在官方找到了解决方案,并确定是这是一个BUG,小编 现在分享一下这个bug的解决方案,让站长遇到同样问题少走弯路。

5895d477-f76e-4df0-9ab4-6cfe1bce80ce.jpg

 

一、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虚拟主机相应的目录,登陆管理后台更新缓存