控制个别用户前台发布信息的权限和是否需要审核无错版


看了两个前辈:http://www.joekoe.com/forum_view.asp?forum_id=7&view_id=27816
http://www.joekoe.com/forum_view.asp?forum_id=7&view_id=29106的修改,不禁激起了自己的diy欲望。自己动手,丰衣足食!果然没错。diy成功的心情真的不错哦。。。废话少说,进入主题:

修改原理:

舍车保帅。因为只有五位可以用,所以决定舍去[推荐网站]一项(可根据自己网站的定位来选,舍谁都可以)来完美我们的[审核]大帅!具体情况请往下看

下载: 0410 09:10更新
备份原文件后直接覆盖到目录下,一共两个文件。适用于CMS及CMS SP1未修改

[ 点击下载 ]

附图:


说明:
JOEKOE语:此修改方法是利用原user_data表中空闲的popedom值最后五位来实现前台开关,因为popedom还定义一些用户的其他信息,所以只使用最后五位数较为安全。
因为只有五位,所以我想与其扩展第六位,何不在这五位上动手角呢?呵呵~~

用户管理修改:

1、后台用户管理加入控制,用户管理文件为admin_user.asp,请用UE或记事本打开。
2、定义新变量
查找
dim f_counter,f_integral,f_emoney,f_power,f_otim,t_counter,t_integral,t_emoney,t_power,t_otim


在下面插入两行
dim puttemp(4)
dim isput,putint


3、读取提交的popedom值
查找
p41=0
if cstr(code_admin("p41",1,1))="1" then p41=1
p42=0
if cstr(code_admin("p42",1,1))="1" then p42=1
p_left=left(popedom,40)
p_right=right(popedom,8)
popedom=cstr(p_left)&cstr(p41)&cstr(p42)&cstr(p_right)


修改成
p41=0
if cstr(code_admin("p41",1,1))="1" then p41=1
p42=0
if cstr(code_admin("p42",1,1))="1" then p42=1
p_left=left(popedom,40)
p_right=right(popedom,8)
p_right=left(p_right,3)
for i=0 to 4
puttemp(i)=0
if cstr(code_admin("put"&i&"",1,1))="1" then puttemp(i)=1
next
putint=puttemp(0)&puttemp(1)&puttemp(2)&puttemp(3)&puttemp(4)
popedom=cstr(p_left)&cstr(p41)&cstr(p42)&cstr(p_right)&cstr(putint)


4、读用户发布权限数据
查找
p42=joekoe_cms.popedom_p(popedom,42)


在下面插入一行
isput=right(popedom,5)


5、增加按钮
查找
%></select>(<%response.write power%>)</td></tr>


在下面插入下列行
<tr><td>发布权限:</td><td>
<%dim dim_putt,dim_put,dim_puttemp
dim_putt="发表文章|发布新闻|发布软件|上传贴图/Flash|推荐网站 "
dim_puttemp=split(dim_putt,"|")
for i=0 to ubound(dim_puttemp)
dim_put=dim_puttemp(i)
response.write vbcrlf&"<input type=checkbox name=put"&i&" value='1' class=bg_1"
if put_p(isput,i+1)=1 then response.write " checked"
response.write ">"&dim_put
next
erase dim_puttemp
%>
</td></tr>


6、新增过程
在文件最后一个“%>”前插入下列行
'-------------------------------------用户发布权限读值--------------------------------------
function put_p(put_var,put_n)
if len(put_var)<>5 then
put_p=0
exit function
end if
put_p=int(mid(put_var,put_n,1))
end function


前台发布修改
1、前台发布信息文件为user_put.asp,请用UE或记事本打开
2、增加发布权限判断
查找
if int(format_mid_num(21))=1 then


修改成
if int(format_mid_num(21))=1 and joekoe_cms.popedom_p(login_popedom,47)=1 then


查找
if int(format_mid_num(23))=1 then


修改成
if int(format_mid_num(23))=1 and joekoe_cms.popedom_p(login_popedom,48)=1 then


查找
if int(format_mid_num(24))=1 then


修改成
if int(format_mid_num(24))=1 and joekoe_cms.popedom_p(login_popedom,49)=1 then


查找
if int(format_mid_num(22))=1 then


修改成
if int(format_mid_num(22))=1 and joekoe_cms.popedom_p(login_popedom,46)=1 then

同时这个文件中的

以下为代码内容:
rs("hidden")=hidden



全部改为:
以下为代码内容:
if joekoe_cms.popedom_p(login_popedom,50)=1 then
rs("hidden")=true
else
rs("hidden")=hidden
end if

http://www.joekoe.com/forum_view.asp?forum_id=7&view_id=43732&page=1

文章来自: Original
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 7 | 引用: 0 | 查看次数: 602
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 20 字 | UBB代码 关闭 | [img]标签 关闭