📄 cl_clsplus.asp
字号:
<%
Class Cls_PlusConfig
Public Admin,AdminOnly,Setting,IsUse,Name,UserGroup,OrderID,sIntro,sType
Private sID,Check
Public Sub LoadPlusSetting(sPlusID)
Dim Rs,Sql
If sPlusID="" Then Call Cl.OutErr(0,"PlusID获取出错!")
Set Rs = Cl.Execute("Select * From Cl_Plus Where PlusID='" & sPlusID & "'")
If Rs.eof or Rs.bof Then
Call Cl.OutErr(0,"请先在后台设置插件相关信息!")
Else
sID = Rs("ID")
Name = Rs("PlusName")
IsUse = Rs("IsUse")
OrderID = Rs("OrderID")'1:这里的几个地方,不要用Cl.GetClng,因为数据库字段本身是数字,读取出来的数据就是数字,不需要转换。而且GetClng用多的,影响速度,因为GetClng就相当于一个判断多加一个转换过程
sIntro = Rs("PlusIntro")
sType = Rs("PlusType")
AdminOnly=Rs("AdminOnly")
Admin = Rs("PlusAdmin")'2:这里两处,用不着Split切分,直接用Instr进行判断,这样的好处:1,简单,2,不影响速度
UserGroup=Rs("UserGroup")
Setting = Split(Rs("PlusSetting"),",")
End If
End Sub
Public Sub CheckView()
Call CheckUseing()
Call CheckGroup()
if Cl.ChkUserLogin then
'此处直接用Cl.UserID,不要用Cl.UserID,因为
'1,Cl.UserID还要转成数字,而Cl.UserID是已经转换成数字的用户ID
'2,Cl.UserID某方面来说具有容错功能,因为Cl.UserID只有用户登录后方可使用,否则会出错,而Cl.UserID不管是未登录或者是已登录,都可直接使用,未登录下值为0
'Cl.UserID也可拿来直接判断用户是否登录,如果用户已经登录,则ID大于0
Set rs=Cl.Execute_U("Select UserMoney,UserPoint From Cl_User Where UserID="&Cl.UserID&"")
If rs("UserPoint") < Cl.GetClng(Setting(0)) Then
Call Cl.OutErr(0,"你的点数未达到要求,不能浏览该插件!")
ElseIf rs("UserMoney") < Cl.GetClng(Setting(1)) Then
Call Cl.OutErr(0,"你的金钱未达到要求,不能浏览该插件!")
End If
rs.close : Set Rs=nothing
End If
End Sub
Public Sub CheckGroup()
'3:此处直接用ChkUserGroupID进行判断是否有使用权限
If Not Cl.ChkUserGroupID(UserGroup,Cl.UserGroupID) Then Call Cl.OutErr(0,"你的权限不够,无法访问该插件!")
End Sub
Public Sub UpdateUser()
'此处用不着拿ChkUserLogin来进行判断,直接判断Cl.UserID是否大于0即可,因为ChkUserLogin需要处理的判断量比较大
'if Cl.ChkUserLogin then
' Cl.Execute_U("Update Cl_User Set UserMoney=UserMoney+("&Setting(3)&"),UserPoint=UserPoint+("&Setting(2)&") Where UserID="&Cl.UserID&"")
'end if
if Cl.UserID>0 then
Cl.Execute_U("Update Cl_User Set UserMoney=UserMoney+("&Setting(3)&"),UserPoint=UserPoint+("&Setting(2)&") Where UserID="&Cl.UserID&"")
End If
End Sub
Public Sub CheckUseing()
If IsUse<>0 Then Call Cl.OutErr(0,"该插件已经关闭,无法访问!")
End Sub
Public Sub CheckAdmin()
Dim sUsername
'4:此处应该先判断AdminOnly,如果值为1,则判断是否是登录后台
If AdminOnly=1 then
if Not Cl.ChkAdminLogin then Call Cl.OutErr(0,"你的未登陆后台,无法管理该插件!")
else
'If Not Cl.ChkUserLogin And Cl.UserGroupID<>5 then
' For Each sUsername In Admin
' If sUsername = Admin Then Check = 1
' Next
'End If
if Cl.UserGroupID=1 then Exit Sub'如果是管理员,默认有插件管理权,退出过程
'如果不是管理员,且不是插件管理,则报错。
If Not Instr(","&Admin&",",","&Cl.MemberName&",") Then Call Cl.OutErr(0,"你的权限不够,无法管理该插件!")
end if
End Sub
End Class
Dim Plus
Set Plus = New Cls_PlusConfig
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -