PJBlog3 发布版本 v2.8.3.127 里程碑

查看完整版本: 会员下载 ---- 功能修改(给特定组下载权限,避免普通会员可下)

说好只亲脸 2008-4-25 01:02

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

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

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

[color=Red]修改common/checkUser.asp[/color]

在最后个%>前面加

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

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

[color=Red]修改ConContent.asp[/color] (四步)
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>

[[i] 本帖最后由 说好只亲脸 于 2008-4-25 01:04 编辑 [/i]]

tszl 2008-4-25 02:29

顶个,谢谢楼住分享

zhujuer 2008-4-25 09:17

偷了,快跑@!!

huhaisen 2008-4-27 03:26

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

说好只亲脸 2008-4-27 06:11

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

huhaisen 2008-4-28 19:37

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

huhaisen 2008-4-29 13:14

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

losewater.cn 2008-4-29 20:09

收藏了

说好只亲脸 2008-4-30 00:03

[quote]原帖由 [i]huhaisen[/i] 于 2008-4-29 13:14 发表 [url=http://bbs.pjhome.net/redirect.php?goto=findpost&pid=244104&ptid=33634][img]http://bbs.pjhome.net/images/common/back.gif[/img][/url]
至于代码修改方面,已经进行过两次了。每次都改得很小心。而且多次核对。确实按照原文修改的。
你看一下你的代码哪里有问题吧。 [/quote]

把那二个文件打包上传来看下吧,我自己的网站测试过,是正常的

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

evio 2008-4-30 00:28

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

说好只亲脸 2008-4-30 07:43

各取所好吧,只要可行就行,呵

jiahangl 2008-5-7 19:20

很不错的想法,应该是不少人滴福音吧,呵呵

lsztony00 2008-6-27 11:00

顶个,谢谢楼住分享
页: [1]
查看完整版本: 会员下载 ---- 功能修改(给特定组下载权限,避免普通会员可下)