📄 common.inc
字号:
Sub CheckSecurity()
' 先检查是否登录,如果尚未登录,跳转到登录页面
dim sError
' dim sFileName, sError
' dim crs, rs, sSQL, iHasPage
if Not IsLogin then
response.clear
response.redirect("../include/home.asp")
''Server.Transfer("../include/home.asp")
exit sub
end if
' ' 获取当前被运行的ASP文件的完整虚拟路径,并检查T_WebFiles中是否有该文件
' sFileName = Request.ServerVariables("SCRIPT_NAME") ' 被运行ASP文件的完整虚拟路径
' response.write sFileName & "<br>"
' sFileName = Right(sFileName, len(sFileName)-4)
' set crs = New CRecordset
' sSQL = "select count(*) as nrows from T_WebFiles where file_name=" & ToSQL(sFileName,"Text")
' DebugStr(sSQL)
' set rs = crs.Open(dbLocal, sSQL)
' iHasPage = crs.Getvalue("nrows")
' crs.Close()
' if iHasPage = 0 then
' Server.Transfer("../include/error.asp")
' exit sub
' end if
' 如果存在该页,则检查该用户对该页是否有访问权
'sSQL = "select Operation_Right from T_Rights where Role_id=" & ToSQL(GetRoleId,"Number") & " and Item_id in (select Item_id from T_WebFiles where file_name = " & ToSQL(sFileName,"Text") & ") and Operation_Right = 1"
'DebugStr(sSQL)
'set crs = New CRecordset
'set rs = crs.Open(dbLocal, sSQL)
' if rs.EOF then ' 无访问权
' sError = ToURL("对不起,您没有足够的权限!")
' Response.Redirect("../include/error.asp?error=" & sError)
' Response.end
' end if
' 检查是否为离岗状态,如果是离岗状态,提示先回到在岗状态,再进行操作
If Not IsOnline then
sError = "对不起,您现在处于离岗状态,请先回到在岗状态.........."
''Response.Redirect("../include/error.asp?error=" & ToURL(sError))
Response.Write "<script language=""javascript"">alert(""" & sError & """);</script>"
Response.Write("<script language=""javascript"">window.open(""../include/backinfor.asp"", ""wIAmBack"", ""width=350,height=124,top=300,left=300"");</script>")
Response.Write "<script language=""javascript"">history.go(-1);</script>"
exit sub
end if
End Sub
' =========================================================================================
' 函数名称:checkmenu(item_id)
' 函数功能:检查当前用户对某一个项目的操作权限,以便确定用户对与该项目对应的菜单的可见性。
' 输入参数:role_id,即当前用户在T_account中对应的role_id,
' item_id,即操作项目在T_item表中对应的item_id。
' 返回值:true/false,表示有/无对该项目的操作权限
' =========================================================================================
function checkmenu(roleid, itemid)
Dim rs
Dim item_id
Dim role_id
Dim quanxian
Dim SQLStr
role_id = roleid
item_id = itemid
SQLStr = "select * from T_Rights where role_id ="&role_id&" and item_id ='"&item_id&"'"
' response.write "aa" & SQLStr
' response.end
Set rs = cn.execute(SQLStr)
if rs.eof then
response.write "数据库T_item无"&item_id&"项目!请检查u_menu.asp!"
' response.end
else
if rs("operation_right") = 1 then
quanxian = true
else
quanxian = false
end if
end if
checkmenu = quanxian
end function
' ==================================================================
' 函数checkmenu(roleid,itemid)结束
' ==================================================================
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'************************************************************************************************
' 函数名 : getWeekdayStr
' 输 入 : pDate ---- 日期,年月日
' 输 出 : getWeekdayStr函数名作为返回值,类型为字符串
' 功能描述: 根据给出的日期返回格式如 “ 星期一 ” 的字符串
' 调用模块:
' 作 者 : 周秋舫
' 日 期 : 2002-05-13
' 版 本 :
'************************************************************************************************
Function getWeekdayStr(pDate)
if Not isDate(pDate) then
getNongliStr = ""
exit function
end if
Dim WeekName : WeekName = Array(" * ", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")
getWeekdayStr = WeekName(Weekday(pDate))
End Function
'************************************************************************************************
' 函数名 : getGongliStr
' 输 入 : pDate ---- 日期,年月日
' 输 出 : getGongliStr函数名作为返回值,类型为字符串
' 功能描述: 根据给出的日期返回格式如 “ 2002年5月13日 ” 的字符串
' 调用模块:
' 作 者 : 周秋舫
' 日 期 : 2002-05-13
' 版 本 :
'************************************************************************************************
Function getGongliStr(pDate)
if Not isDate(pDate) then
getNongliStr = ""
exit function
end if
Dim iYear, iMonth, iDay
iYear = Year(pDate)
iMonth = Month(pDate)
iDay = Day(pDate)
Dim sTemp : sTemp = iYear & "年"
if iMonth < 10 then sTemp = sTemp & "0"
sTemp = sTemp & iMonth & "月"
if iDay < 10 then sTemp = sTemp & "0"
sTemp = sTemp & iDay & "日"
getGongliStr = sTemp
End Function
'************************************************************************************************
' 函数名 : getGongliStr
' 输 入 : pDate ---- 日期,年月日
' 输 出 : getGongliStr函数名作为返回值,类型为字符串
' 功能描述: 根据给出的日期返回格式如 “ 壬午(马)年四月初七 ” 的字符串
' 调用模块:
' 作 者 : 周秋舫
' 日 期 : 2002-05-13
' 版 本 :
'************************************************************************************************
Function getNongliStr(pDate)
if Not isDate(pDate) then
getNongliStr = ""
exit function
end if
Dim NongliStr, NongliDayStr, ShuxiangStr
Dim i, m, n, k, isEnd, bit, TheDate
Dim iYear : iYear = Year(pDate)
Dim iMonth : iMonth = Month(pDate)
Dim iDay : iDay = Day(pDate)
' 属相名称
Dim ShuXiang : ShuXiang = Array("鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪")
' 天干和地支名称
Dim TianGan : TianGan = Array("甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸")
Dim DiZhi : DiZhi = Array("子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥")
' 农历月份名
Dim MonName : MonName = Array("*", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "腊")
' 农历日期名
Dim DayName : DayName = Array("*", "初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十")
' 公历每月前面的天数
Dim MonthAdd : MonthAdd = Array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
' 农历数据
Dim NongliData(99)
NongliData(0) = 2635
NongliData(1) = 333387
NongliData(2) = 1701
NongliData(3) = 1748
NongliData(4) = 267701
NongliData(5) = 694
NongliData(6) = 2391
NongliData(7) = 133423
NongliData(8) = 1175
NongliData(9) = 396438
NongliData(10) = 3402
NongliData(11) = 3749
NongliData(12) = 331177
NongliData(13) = 1453
NongliData(14) = 694
NongliData(15) = 201326
NongliData(16) = 2350
NongliData(17) = 465197
NongliData(18) = 3221
NongliData(19) = 3402
NongliData(20) = 400202
NongliData(21) = 2901
NongliData(22) = 1386
NongliData(23) = 267611
NongliData(24) = 605
NongliData(25) = 2349
NongliData(26) = 137515
NongliData(27) = 2709
NongliData(28) = 464533
NongliData(29) = 1738
NongliData(30) = 2901
NongliData(31) = 330421
NongliData(32) = 1242
NongliData(33) = 2651
NongliData(34) = 199255
NongliData(35) = 1323
NongliData(36) = 529706
NongliData(37) = 3733
NongliData(38) = 1706
NongliData(39) = 398762
NongliData(40) = 2741
NongliData(41) = 1206
NongliData(42) = 267438
NongliData(43) = 2647
NongliData(44) = 1318
NongliData(45) = 204070
NongliData(46) = 3477
NongliData(47) = 461653
NongliData(48) = 1386
NongliData(49) = 2413
NongliData(50) = 330077
NongliData(51) = 1197
NongliData(52) = 2637
NongliData(53) = 268877
NongliData(54) = 3365
NongliData(55) = 531109
NongliData(56) = 2900
NongliData(57) = 2922
NongliData(58) = 398042
NongliData(59) = 2395
NongliData(60) = 1179
NongliData(61) = 267415
NongliData(62) = 2635
NongliData(63) = 661067
NongliData(64) = 1701
NongliData(65) = 1748
NongliData(66) = 398772
NongliData(67) = 2742
NongliData(68) = 2391
NongliData(69) = 330031
NongliData(70) = 1175
NongliData(71) = 1611
NongliData(72) = 200010
NongliData(73) = 3749
NongliData(74) = 527717
NongliData(75) = 1452
NongliData(76) = 2742
NongliData(77) = 332397
NongliData(78) = 2350
NongliData(79) = 3222
NongliData(80) = 268949
NongliData(81) = 3402
NongliData(82) = 3493
NongliData(83) = 133973
NongliData(84) = 1386
NongliData(85) = 464219
NongliData(86) = 605
NongliData(87) = 2349
NongliData(88) = 334123
NongliData(89) = 2709
NongliData(90) = 2890
NongliData(91) = 267946
NongliData(92) = 2773
NongliData(93) = 592565
NongliData(94) = 1210
NongliData(95) = 2651
NongliData(96) = 395863
NongliData(97) = 1323
NongliData(98) = 2707
NongliData(99) = 265877
' 计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)
TheDate = (iYear - 1921) * 365 + Int((iYear - 1921) / 4) + iDay + MonthAdd(iMonth - 1) - 38
if ((iYear mod 4) = 0 and iMonth > 2) then TheDate = TheDate + 1
' 计算农历天干、地支、月、日
isEnd = 0
m = 0
Do
if (NongliData(m) < 4095) then
k = 11
else
k = 12
end if
n = k
Do
if (n < 0) then exit Do
' 获取NongliData(m)的第n个二进制位的值
bit = NongliData(m)
for i = 1 to n step 1
bit = Int(bit / 2)
next
bit = bit mod 2
if (TheDate <= 29 + bit) then
isEnd = 1
exit Do
end if
TheDate = TheDate - 29 - bit
n = n - 1
Loop
if (isEnd = 1) then exit Do
m = m + 1
Loop
iYear = 1921 + m
iMonth = k - n + 1
iDay = TheDate
if (k = 12) then
if (iMonth = (Int(NongliData(m) / 65536) + 1)) then
iMonth = 1 - iMonth
elseif (iMonth > (Int(NongliData(m) / 65536) + 1)) then
iMonth = iMonth - 1
end if
end if
'----------------------------------------------------------------------------------------------------------
' 生成农历天干、地支 ==> NongliStr
'----------------------------------------------------------------------------------------------------------
NongliStr = TianGan(((iYear - 4) Mod 60) Mod 10) & DiZhi(((iYear - 4) Mod 60) Mod 12)
'----------------------------------------------------------------------------------------------------------
' 生成属相 ==> ShuxiangStr
'----------------------------------------------------------------------------------------------------------
ShuxiangStr = ShuXiang(((iYear - 4) mod 60) mod 12)
'----------------------------------------------------------------------------------------------------------
' 生成农历月、日 ==> NongliDayStr
'----------------------------------------------------------------------------------------------------------
if (iMonth < 1) then
NongliDayStr = "闰" & MonName(-1 * iMonth) & "月" & DayName(iDay)
else
NongliDayStr = MonName(iMonth) & "月" & DayName(iDay)
end if
getNongliStr = NongliStr & "(" & ShuxiangStr & ")年" & NongliDayStr
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -