控制个别用户前台发布信息的权限和是否需要审核无错版
作者:cmscn 日期:2005-04-11
看了两个前辈: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
评论: 7 | 引用: 0 | 查看次数: 602
发表评论