?? 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 + -