📄 logic_admin.asp
字号:
<!-- #include file = "../inc_md5.asp" -->
<!-- #include file = "../inc_serv_func.asp" -->
<%
''===================================================================
'= ASP FILENAME : /inc/logic/logic_admin.asp
'= CREATED TIME : 2006-4-30
'= LAST MODIFIED: 2006-4-30
'= VERSION INFO : CCASP Framework Ver 2.0.1 ALL RIGHTS RESERVED BY www.cclinux.com
'= DESCRIPTION : 管理员业务逻辑
'= Change Log:
'==================================================================='
%>
<%
'== const define
Const CONST_ADMIN_NORMAL_STATUS = 0
Const CONST_ADMIN_SUPEND_STATUS = 1
Const CONST_ADMIN_DEL_STATUS = 2
''===================================================================
'= Function : GetAdminsLogic()
'= Time : Created At 2006-5-5
'= Input : strWhere : 符合条件
'= Return : boolean
'= Description : 取管理员记录集
'==================================================================='
Function GetAdminsLogic(strWhere)
GBL_objPubDB.Clear()
GBL_objPubDB.AllSQL = "SELECT * FROM CLASS_ADMIN WHERE 1=1 " & strWhere & " ORDER BY ADMIN_ID DESC"
If Not GBL_objPubDB.SQLRSExecute() Then
GetAdminsLogic = False
Exit Function
End If
GetAdminsLogic = True
End Function
''===================================================================
'= Function : GetAdminLogic()
'= Time : Created At 2006-5-5
'= Input : intAdminId : 管理员ID
'= Return : boolean
'= Description : 取单个管理员记录(by id)
'==================================================================='
Function GetAdminLogic(intAdminId)
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
GBL_objPubDB.SQLType = "SELECT"
GBL_objPubDB.AddField "ADMIN_ID",""
GBL_objPubDB.AddField "ADMIN_LEVEL",""
GBL_objPubDB.AddField "ADMIN_STATUS",""
GBL_objPubDB.AddField "ADMIN_ACCOUNT",""
GBL_objPubDB.AddField "ADMIN_PASSWORD",""
GBL_objPubDB.AddField "ADMIN_ADD_TIME",""
GBL_objPubDB.AddField "ADMIN_LAST_LOGIN_TIME",""
GBL_objPubDB.AddField "ADMIN_LOGIN_COUNT",""
GBL_objPubDB.AddField "ADMIN_IP",""
GBL_objPubDB.Where = "ADMIN_ID=" & intAdminId
If Not GBL_objPubDB.SQLRSExecute() Then
GetAdminLogic = False
Exit Function
End If
GetAdminLogic = True
End Function
''===================================================================
'= Function : GetAdminByAccountLogic()
'= Time : Created At 2006-5-5
'= Input : strAccount : 管理员帐号
'= Return : boolean
'= Description : 取单个管理员记录(by account)
'==================================================================='
Function GetAdminByAccountLogic(strAccount)
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
GBL_objPubDB.SQLType = "SELECT"
GBL_objPubDB.AddField "ADMIN_ID",""
GBL_objPubDB.AddField "ADMIN_LEVEL",""
GBL_objPubDB.AddField "ADMIN_STATUS",""
GBL_objPubDB.AddField "ADMIN_ACCOUNT",""
GBL_objPubDB.AddField "ADMIN_PASSWORD",""
GBL_objPubDB.Where = "ADMIN_ACCOUNT='" & strAccount & "'"
If Not GBL_objPubDB.SQLRSExecute() Then
GetAdminByAccountLogic = False
Exit Function
End If
GetAdminByAccountLogic = True
End Function
''===================================================================
'= Function : SaveSelfPwdLogic()
'= Time : Created At 2006-5-13
'= Input : intAdminId : 管理员ID
'= Input : strOldPwd : 老密码
'= Input : strNewPwd : 新密码
'= Return : boolean
'= Description : 添加/编辑管理员
'==================================================================='
Function SaveSelfPwdLogic(intAdminId,strOldPwd,strNewPwd)
'== 老密码是否正确
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
GBL_objPubDB.SQLType = "SELECT"
GBL_objPubDB.AddField "ADMIN_ID",""
GBL_objPubDB.Where = "ADMIN_PASSWORD='" & Md5(strOldPwd) & "' AND ADMIN_ID=" & intAdminId
If Not GBL_objPubDB.SQLRSExecute() Then
SaveSelfPwdLogic = False
Exit Function
End If
If GBL_objPubDB.intRSNum <= 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"老密码不正确")
SaveSelfPwdLogic = False
Exit Function
End If
'== 修改为新密码
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
GBL_objPubDB.SQLType = "UPDATE"
GBL_objPubDB.AddField "ADMIN_PASSWORD",Md5(strNewPwd)
GBL_objPubDB.Where = "ADMIN_ID=" & intAdminId
If Not GBL_objPubDB.SQLExecute() Then
SaveSelfPwdLogic = False
Exit Function
End If
SaveSelfPwdLogic = True
End Function
''===================================================================
'= Function : SaveAdminLogic()
'= Time : Created At 2006-5-5
'= Input : intAdminId : 管理员ID ""--add other--edit
'= Input : objFormData : 表单数据
'= Return : boolean
'= Description : 添加/编辑管理员
'==================================================================='
Function SaveAdminLogic(intAdminId,objFormData)
Dim strAccount,intLevel,strPassword,strPassword2,intStatus,strCheckPwd
'== 获取表单数据
strAccount = objFormData("Account")
intLevel = objFormData("Level")
intStatus = objFormData("Status")
strPassword = objFormData("Password")
strPassword2 = objFormData("Password2")
strCheckPwd = objFormData("MydPwd")
'==密码确认
If intAdminId = "" Or strCheckPwd = "on" Then
If strPassword <> strPassword2 Then
Call GBL_objException.catchErr(E_USER_PUB,"两次输入的密码不一致")
SaveAdminLogic = False
Exit Function
End If
End If
'== 是否重复
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
GBL_objPubDB.SQLType = "SELECT"
GBL_objPubDB.AddField "ADMIN_ID",""
If intAdminId = "" Then
GBL_objPubDB.Where = "ADMIN_ACCOUNT='" & strAccount & "'"
Else
GBL_objPubDB.Where = "ADMIN_ACCOUNT='" & strAccount & "' AND ADMIN_ID <>" & intAdminId
End If
If Not GBL_objPubDB.SQLRSExecute() Then
SaveAdminLogic = False
Exit Function
End If
If GBL_objPubDB.intRSNum > 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"该用户名(" & strAccount & ")已存在")
SaveAdminLogic = False
Exit Function
End If
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
If intAdminId = "" Then
GBL_objPubDB.SQLType = "INSERT"
Else
GBL_objPubDB.SQLType = "UPDATE"
End If
GBL_objPubDB.AddField "ADMIN_ACCOUNT",strAccount
GBL_objPubDB.AddField "ADMIN_LEVEL",intLevel
GBL_objPubDB.AddField "ADMIN_ADD_TIME",Now()
GBL_objPubDB.AddField "ADMIN_STATUS",intStatus
If intAdminId = "" Or strCheckPwd = "on" Then GBL_objPubDB.AddField "ADMIN_PASSWORD",Md5(strPassword)
If intAdminId <> "" Then GBL_objPubDB.Where = "ADMIN_ID=" & intAdminId
If Not GBL_objPubDB.SQLRSExecute() Then
SaveAdminLogic = False
Exit Function
End If
SaveAdminLogic = True
End Function
''===================================================================
'= Function : RemoveAdminsLogic()
'= Time : Created At 2006-5-5
'= Input : strWhere : 删除条件
'= Return : boolean
'= Description : 删除管理员
'==================================================================='
Function RemoveAdminsLogic(strWhere,intSelfAdminId)
Dim strSql
'== 是否是本身
strSql = strWhere & " AND ADMIN_ID=" & intSelfAdminId
If Not GetAdminsLogic(strSql) Then
RemoveAdminsLogic = False
Exit Function
End If
If GBL_objPubDB.intRSNum > 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"您选择的管理员中存在管理员自身,不能删除")
RemoveAdminsLogic = False
Exit Function
End If
'== 是否是本身
strSql = strWhere & " AND ADMIN_LEVEL=0 "
If Not GetAdminsLogic(strSql) Then
RemoveAdminsLogic = False
Exit Function
End If
If GBL_objPubDB.intRSNum > 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"您选择的管理员中存在最高管理员,不能删除")
RemoveAdminsLogic = False
Exit Function
End If
'== 是否为超级管理员
'== 删除记录
'GBL_objPubDB.Clear()
'GBL_objPubDB.TableName = "CLASS_ADMIN"
'GBL_objPubDB.SQLType = "UPDATE"
'GBL_objPubDB.AddField "ADMIN_STATUS",CONST_ADMIN_DEL_STATUS
'GBL_objPubDB.Where = " 1=1 " & strWhere
'If Not GBL_objPubDB.SQLRSExecute() Then
' RemoveAdminsLogic = False
' Exit Function
'End If
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
GBL_objPubDB.SQLType = "DELETE"
GBL_objPubDB.AddField "ADMIN_STATUS",CONST_ADMIN_DEL_STATUS
GBL_objPubDB.Where = " 1=1 " & strWhere
If Not GBL_objPubDB.SQLRSExecute() Then
RemoveAdminsLogic = False
Exit Function
End If
RemoveAdminsLogic = True
End Function
''===================================================================
'= Function : AdminLoginLogic()
'= Time : Created At 2006-5-5
'= Input : objFormData : 表单数据(Account,Password,VerfiyCode)
'= Return : boolean
'= Description : 校验登陆
'==================================================================='
Function AdminLoginLogic(objFormData)
Dim strAccount,strPassword,strVerifyCode
strAccount = objFormData.Item("Account")
strPassword = objFormData.Item("Password")
strVerifyCode = objFormData.Item("VerifyCode")
'== 验证码
If strVerifyCode = "" Then
Call GBL_objException.catchErr(E_USER_PUB,"返回后请刷新登录页面后重新输入正确的信息")
AdminLoginLogic = False
Exit Function
ElseIf Session("SEN_GetCode") = "9999" Then
Session("SEN_GetCode") = ""
ElseIf Session("SEN_GetCode") = "" Then
Call GBL_objException.catchErr(E_USER_PUB,"请不要重复提交,如需重新登录请返回登录页面")
AdminLoginLogic = False
Exit Function
ElseIf Cstr(strVerifyCode) <> Cstr(Trim(Session("SEN_GetCode"))) Then
Call GBL_objException.catchErr(E_USER_PUB,"您输入的确认码和系统产生的不一致,请重新输入")
AdminLoginLogic = False
Exit Function
End If
GBL_objPubDB.Clear()
GBL_objPubDB.TableName = "CLASS_ADMIN"
GBL_objPubDB.SQLType = "SELECT"
GBL_objPubDB.AddField "ADMIN_ID",""
GBL_objPubDB.AddField "ADMIN_ACCOUNT",""
GBL_objPubDB.AddField "ADMIN_LEVEL",""
GBL_objPubDB.AddField "ADMIN_STATUS",""
GBL_objPubDB.AddField "ADMIN_LAST_LOGIN_TIME",""
GBL_objPubDB.Where = "ADMIN_ACCOUNT='" & strAccount & "'" & " AND ADMIN_PASSWORD='" & Md5(strPassword) & "'"
If Not GBL_objPubDB.SQLRSExecute() Then
AdminLoginLogic = False
Exit Function
End If
If GBL_objPubDB.intRSNum <= 0 Then
Call GBL_objException.catchErr(E_USER_PUB,"登陆管理员不存在或者密码错误")
AdminLoginLogic = False
Exit Function
End If
If GBL_objPubDB.objPubRS("ADMIN_STATUS") = CONST_ADMIN_SUPEND_STATUS Then
Call GBL_objException.catchErr(E_USER_PUB,"登陆管理员为停止使用状态")
AdminLoginLogic = False
Exit Function
End If
If GBL_objPubDB.objPubRS("ADMIN_STATUS") = CONST_ADMIN_DEL_STATUS Then
Call GBL_objException.catchErr(E_USER_PUB,"登陆管理员已删除")
AdminLoginLogic = False
Exit Function
End If
Dim intAdminId
intAdminId = GBL_objPubDB.objPubRS("ADMIN_ID")
'== set session
Session.Contents.RemoveAll() '==???
Session(GBL_strCookieURL & "SEN_AdminAccount")=_
GBL_objPubDB.objPubRS("ADMIN_ACCOUNT")
Session(GBL_strCookieURL & "SEN_AdminId") =_
GBL_objPubDB.objPubRS("ADMIN_ID")
Session(GBL_strCookieURL & "SEN_AdminLevel") =_
GBL_objPubDB.objPubRS("ADMIN_LEVEL")
Session(GBL_strCookieURL & "SEN_AdminLastLoginTime") =_
GBL_objPubDB.objPubRS("ADMIN_LAST_LOGIN_TIME")
'== 更新登陆情况
GBL_objPubDB.Clear()
GBL_objPubDB.ALLSQL = "UPDATE CLASS_ADMIN SET ADMIN_LOGIN_COUNT=ADMIN_LOGIN_COUNT+1,ADMIN_IP='" & GetUserIp & "' ,ADMIN_LAST_LOGIN_TIME='" & Now() & "' WHERE ADMIN_ID=" & intAdminId
If Not GBL_objPubDB.SQLRSExecute() Then
AdminLoginLogic = False
Exit Function
End If
AdminLoginLogic = True
End Function
''===================================================================
'= Function : AdminLoginLogic()
'= Time : Created At 2006-5-5
'= Output : 影响数据session数据(SEN_AdminAccount,SEN_AdminId,SEN_AdminLevel,SEN_AdminLastLoginTime)
'= Return : boolean
'= Description : 管理员登出
'==================================================================='
Function AdminLogoutLogic()
Session.Contents.RemoveAll()
Session(GBL_strCookieURL & "SEN_AdminAccount") = ""
Session(GBL_strCookieURL & "SEN_AdminId") = ""
Session(GBL_strCookieURL & "SEN_AdminLevel") = ""
Session(GBL_strCookieURL & "SEN_AdminLastLoginTime") = ""
AdminLogoutLogic = True
End Function
''===================================================================
'= Function : GetAdminLevelLogic()
'= Time : Created At 2006-5-5
'= Input : intLevel : 管理员级别的数字
'= Return : 管理员级别的中文含义
'= Description : 取管理员级别
'==================================================================='
'== 取级别
Function GetAdminLevelLogic(intLevel)
Dim strTmp
Select Case intLevel
Case 0:
strTmp = "超级管理员"
Case 1:
strTmp = "副超级管理员"
Case 2:
strTmp = "一般管理员"
End Select
GetAdminLevelLogic = strTmp
End Function
''===================================================================
'= Function : GetAdminStatusLogic()
'= Time : Created At 2006-5-5
'= Input : intStatus : 管理员级别的数字
'= Return : 管理员状态的中文含义
'= Description : 取管理员状态
'==================================================================='
Function GetAdminStatusLogic(intStatus)
Dim strTmp
Select Case intStatus
Case CONST_ADMIN_NORMAL_STATUS:
strTmp = "正常"
Case CONST_ADMIN_SUPEND_STATUS:
strTmp = "停止使用"
Case CONST_ADMIN_DEL_STATUS:
strTmp = "已删除"
End Select
GetAdminStatusLogic = strTmp
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -