官方首页 | 无图版 | BBS首页
PJBlog2最新版本下载|升级包(2007.12.23) Bo-Blog V2.1.0 到 PJBlog 2.7 的转换程序 WP 2.3 到 PJ 2.6/2.7 的转换程序 手把手教您在PJForum上传图片
PJBlog技术支持论坛使用问题总索引 手术式讲解视频教程如何制作 PJblog2.7.05终极资源包电驴免费下载 风格使用区-HOT! 凤凰行动开始!
 12 12
发新话题
打印

会员下载 ---- 功能修改(给特定组下载权限,避免普通会员可下)

本主题由 evio 于 2008-4-25 16:50 移动

会员下载 ---- 功能修改(给特定组下载权限,避免普通会员可下)

有时候想在博客上放些只有好朋友可以下载的东西,但在PJ没有会员审核的情况下,里面的下载权限成了鸡肋,只要注册一下,就有下载权限了,因为权限组里没有允许下载这个设置,所以注册一下,就可下载了,那这个会员下载,只是给访客增加了一个步骤,但并没有起到真正的权限控制作用.
休息天在家没事,就把这个功能改一下吧,可以给特定组设置允许下载的权限,这样,注册进来的普通会员不给下载权限,一切就好办了.当然,喜欢做这种设置的朋友可以参考下我的改法.
国际惯例,测试效果可以看下小弟的博客:http://www.shzql.cn/

请在本地做好测试再上传,我只在自己站上做了测试,是可行的.
说明下,代码中出现几次If Len(RightDB("stat_code"))>12判断,这是因为原先权限字段只有十二位,这里做下事前判断,以免下面十三位用到的代码出错.好久没写ASP了,IF用的太多了,效率不好,大家可以借签下再做修改,或提意见.

修改common/checkUser.asp

在最后个%>前面加

function CCanDown()
If request.Cookies(CookieName)("memName")="" Then CCanDown=False: Exit function
dim bCanDown,ckdown
Set bCanDown=Server.CreateObject("ADODB.RecordSet")
SQL="SELECT M.*,S.stat_name,S.stat_Code FROM blog_Member as M,blog_status as S where M.mem_Name='"&request.Cookies(CookieName)("memName")&"' and M.mem_Status=S.stat_name order by mem_RegTime desc"
bCanDown.Open SQL,Conn,1,1
ckdown=bCanDown("stat_Code")
If session("ckdown")<>ckdown then
  If Len(ckdown)>12 Then
     if not CBool(mid(ckdown,13,1)) Then
     CCanDown=False
     Exit function
     Else
     CCanDown=True
     session("ckdown")=ckdown
     End if
  Else
     CCanDown=False
     Exit function
  End If
Else
  CCanDown=true
End If
    bCanDown.Close
    Set bCanDown=Nothing
End function

修改common/ubbcode.asp
找到
if len(memName)>0 then  (共四个,前面二个是控制下载,后面二个是控制隐藏内容,可自行选择,控制下载前二个改掉就可以了)
修改为
if CCanDown()=True then

修改ConContent.asp (四步)
1.找到
EditGroup,AddArticle,EditArticle,DelArticle,AddComment,DelComment,ShowHiddenCate,IsAdmin,CanUpload,UploadSize,UploadType,Group_title,SCode
修改为
EditGroup,AddArticle,EditArticle,DelArticle,AddComment,DelComment,ShowHiddenCate,IsAdmin,CanUpload,UploadSize,UploadType,Group_title,SCode,CanDown

2.找到
ShowHiddenCate=CheckStr(Request.form("ShowHiddenCate"))
在下面插入
CanDown=CheckStr(Request.Form("CanDown"))

3.找到
SCode=AddArticle & EditArticle & DelArticle &_
          AddComment & DelComment & CanUpload & IsAdmin & ShowHiddenCate
修改为
SCode=AddArticle & EditArticle & DelArticle &_
          AddComment & DelComment & CanUpload & IsAdmin & ShowHiddenCate & CanDown

4.找到
<tr><td align="right">上传附件</td>
在上面插入
<tr><td align="right">下载附件</td>
<td ><select name="CanDown">
<option value="1" style="background:#C5FDB7">允许</option>
<option value="0" style="background:#FABABA" <%If Len(RightDB("stat_code"))>12 Then
if not CBool(mid(RightDB("stat_code"),13,1)) then response.write ("selected=""selected""")
                                        End if%>>不允许</option>
</select>
</td></tr>

[ 本帖最后由 说好只亲脸 于 2008-4-25 01:04 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

顶个,谢谢楼住分享

TOP

偷了,快跑@!!
万事吾能,吾能万万事!

TOP

为什么没有办法设置普通会员无权下载,改为不允许下载,保存,但是还是显示允许下载?

TOP

请修改过的朋友提提意见,看有没有问题,至于个别现象应该是修改代码不正确,请发布你的地址,我看下

TOP

而且设置不设置一个样。都显示为允许下载。为什么不能更改设置呢?
修改完毕上传了的附件管理员都无法下载了。登陆登陆都提示需要登陆。
我原先安装个防盗链

TOP

至于代码修改方面,已经进行过两次了。每次都改得很小心。而且多次核对。确实按照原文修改的。
你看一下你的代码哪里有问题吧。

TOP

收藏了

TOP

引用:
原帖由 huhaisen 于 2008-4-29 13:14 发表
至于代码修改方面,已经进行过两次了。每次都改得很小心。而且多次核对。确实按照原文修改的。
你看一下你的代码哪里有问题吧。
把那二个文件打包上传来看下吧,我自己的网站测试过,是正常的

有别的朋友使用这修改正常的请说话,好收集意见

TOP

呵呵,你那个不兼容附件管理插件,或者说附件管理插件不兼容你这修改,呵呵!

TOP

 12 12
发新话题