今天突然想到论坛的帖子流量量感觉很高,可是用户注册人数与回复量太少,于是想到可不可以像DZ那样,限制非注册用户只能访问论坛帖子部分内容呢,于是在小米渣的帮助下,终于将这个问题解决了……解决方法如下,和大家分享下:
此插件主要通过修改read.php来实现游客不能浏览帖子中比如精华帖或者附件图片等信息,并提示登录或者注册等等!
游客浏览帖子演示效果如下图:
修改如下:
打开根目录下的read.php
找到
| 复制代码 - wind_forumcheck($foruminfo);
|
下面加
| 复制代码 - if($read['digest'] && ($groupid==6 || $groupid=='guest')){
- Showmsg('您无权浏览精华帖!');
- }
|
找到
| 复制代码 - $db,$_G,$isGM,$pwSystem,$groupid,$attach_url,$winduid,$tablecolor,$tpc_author,$tpc_buy,$tpc_pid,$tpc_tag,$count,$timestamp,$db_onlinetime,$attachdir,$attachpath,$readcolorone,$readcolortwo,$lpic,$ltitle,$imgpath,$db_ipfrom,$db_showonline,$stylepath,$db_windpost,$db_windpic,$db_signwindcode,$fid,$tid,$pid,$md_ifopen,$_MEDALDB,$rewardtype,$db_shield,$wordsfb,$db_iftag,$db_readtag;
- $db_iftag,
|
后面加上
找到:
| 复制代码 - $read['alterinfo'] && $read['content'] .= "<div id=\"alert_$read[pid]\" style=\"color:gray;margin-top:30px\">[ $read[alterinfo] ]</div>";
|
替换为:
| 复制代码 - if($groupid=='guest'){
- unset($read['remindinfo']);
- }else{
- $read['alterinfo'] && $read['content'].="<br /><br /><br /><font color=\"gray\">[ $read[alterinfo] ]</font>";
|
找到
| 复制代码 - if ($value) $read['content'] = preg_replace("/(?<=[\s\"\]>()]|[\x7f-\xff]|^)(".preg_quote($value,'/').")([.,:;-?!()\s\"<\[]|[\x7f-\xff]|$)/siU","<u><font color=\"red\">\\1</font></u>\\2",$read['content']);
- }
- }
|
将最后一个"}"
}
替换为
}}
找到:
| 复制代码 - $read['icon'] = '';
- }
- if (!$tpc_shield) {
|
在:
$read['icon'] = '';
下面加上:
| 复制代码 - }elseif($groupid=='guest'){
- $attachper = 0;
- $read['ifconvert']==2 && $read['content']=convert($read['content'],$db_windpost);//转换WIND代码,可以去掉
- $read['content'] = preg_replace("/\[img\](.*)\[\/img\]/is","[图片]",$read['content']);//过滤贴图
- $read['content'] = showface($read['content']);
- $read['content'] = preg_replace("/\[attachment=([0-9]+)\]/is","[附件]",$read['content']);//过滤附件
- (!$winduid ) && $read['content'] = substrs($read['content'],round(strlen($read['content'])*(1/2)))."<br /><br /><center><div class=\"tips tal\" style=\"word-break: keep-all;word-wrap:no-wrap\"><div class=\"tal s3\"><font color=\"green\" face=\"宋体\">亲爱的朋友您仅能浏览<font color=\"red\">部分内容</font>,查看<font color=\"red\">全部内容及附件</font>请先 <a href=\"$loginurl\"><b>登录</b></a> 或 <a href=\"$regurl\"><b>注册</b></a></font></div></center><br />";
|
说明:(strlen($read['content'])* (1/2)))里面的数字1/5就是帖子要保留的字节数,若想改为1/2则把数字改为1/3、1/4都可以,以此类推。
(!$winduid && $read['lou'] == 0 ) &&是指楼层数。如果楼主及所有回复都要做屏蔽的话,去掉&&$read['lou'] == 0就可以了。
本人在
代码里已经去掉啦&&$read['lou'] == 0,如果不需要屏蔽所有回复,代码里(!$winduid ) 改为(!$winduid && $read['lou'] == 0 )
-------------------------------------------------------------------------------------------------------------------
屏蔽掉附件的图片
找到:
在下面加入
| 复制代码 - // 游客无法浏览图片,也无法看到图片连接
- $limit_guestpic=1;
- if($groupid=='guest') {
- $limit_guestpic=0;
- $read['content']=preg_replace("/\[img\](.*)\[\/img\]/is","此帖内容包含图片,你只有注册或登录后才能看到内容。",$read['content']);
- }
- ///////////////
|
再找到:
下面加入:
| 复制代码 - if($limit_guestpic==0)
- $dfurl = '<br><font color=blue>此附件包含图片,你只有注册或登录后才能看到内容</font><br>';
- else
|
针对上面的修改方法如果有什么问题,请留言咨询;
Tags: PW8 PW8限制浏客浏览部分内容
2010-9-3 17:19:48分类:
东莞SEO视窗 作者:
东莞SEO 已浏览
loading次
网友评论0条 我要评论