当前位置:东莞SEO公司-东莞SEO优化培训-东莞网站优化培训-东莞辰宇SEO培训服务 > 东莞SEO视窗 > 正文
全站广播:

PW8中限制游客浏览附件图片及只能访问部分内容修改方法

辰宇SEO客服  辰宇SEO客服    辰宇SEO客服  辰宇SEO客服    快来一起嘀咕下该主题吧

  今天突然想到论坛的帖子流量量感觉很高,可是用户注册人数与回复量太少,于是想到可不可以像DZ那样,限制非注册用户只能访问论坛帖子部分内容呢,于是在小米渣的帮助下,终于将这个问题解决了……解决方法如下,和大家分享下:
        此插件主要通过修改read.php来实现游客不能浏览帖子中比如精华帖或者附件图片信息,并提示登录或者注册等等!
        游客浏览帖子演示效果如下图:


修改如下:
打开根目录下的read.php
找到

 
复制代码
  1. wind_forumcheck($foruminfo);

下面加
 
复制代码
  1. if($read['digest'] && ($groupid==6 || $groupid=='guest')){
  2.   Showmsg('您无权浏览精华帖!');

找到
 
复制代码
  1. $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;
  2. $db_iftag,

后面加上
 
复制代码
  1. $regurl,$loginurl,

找到:
 
复制代码
  1. $read['alterinfo'] && $read['content'] .= "<div id=\"alert_$read[pid]\" style=\"color:gray;margin-top:30px\">[ $read[alterinfo] ]</div>";

替换为:
 
复制代码
  1. if($groupid=='guest'){
  2.     unset($read['remindinfo']);
  3.   }else{
  4. $read['alterinfo'] && $read['content'].="<br /><br /><br /><font color=\"gray\">[ $read[alterinfo] ]</font>";

找到
 
复制代码
  1. 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']);
  2.         }
  3.     }

将最后一个"}"
    }
替换为
    }}
找到:
 
复制代码
  1.   $read['icon'] = '';
  2. }
  3. if (!$tpc_shield) {

在:
$read['icon'] = '';
下面加上:
 
复制代码
  1. }elseif($groupid=='guest'){
  2. $attachper = 0;
  3. $read['ifconvert']==2 && $read['content']=convert($read['content'],$db_windpost);//转换WIND代码,可以去掉
  4. $read['content'] = preg_replace("/\[img\](.*)\[\/img\]/is","[图片]",$read['content']);//过滤贴图
  5. $read['content'] = showface($read['content']);
  6. $read['content'] = preg_replace("/\[attachment=([0-9]+)\]/is","[附件]",$read['content']);//过滤附件
  7. (!$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 )
-------------------------------------------------------------------------------------------------------------------
屏蔽掉附件的图片
找到:
 
复制代码
  1. $tpc_buy = $read['buy'];

在下面加入
 
复制代码
  1. // 游客无法浏览图片,也无法看到图片连接
  2.     $limit_guestpic=1;
  3.     if($groupid=='guest') {
  4.     $limit_guestpic=0;
  5.     $read['content']=preg_replace("/\[img\](.*)\[\/img\]/is","此帖内容包含图片,你只有注册或登录后才能看到内容。",$read['content']);
  6.     }
  7.     ///////////////

再找到:
 
复制代码
  1. $atype = 'pic';

下面加入:
 
复制代码
  1. if($limit_guestpic==0)
  2. $dfurl = '<br><font color=blue>此附件包含图片,你只有注册或登录后才能看到内容</font><br>';
  3.                     else

        针对上面的修改方法如果有什么问题,请留言咨询;

分享到QQ空间        分享到朋友社区      新浪微博分享

Tags: PW8   PW8限制浏客浏览部分内容  


2010-9-3 17:19:48分类:东莞SEO视窗 作者:东莞SEO     已浏览loading 网友评论0条 我要评论

相关文章

评论:

  •