%
check_security(1)
%>
<%
dim content
dim dt_end
dim event_id
dim user_id
dim dt_start
dim user_name
dim event_name
dim event_desc
dim time_start
dim time_end
dim b_personal
dim detail_events_sql
sub request_detail_events
''' request form inputs from this form
dt_end = request("dt_end")
event_id = request("event_id")
user_id = request("user_id")
dt_start = request("dt_start")
user_name = request("user_name")
event_name = request("event_name")
event_desc = request("event_desc")
time_start = request("time_start")
time_end = request("time_end")
b_personal = request("b_personal")
end sub
sub validate_detail_events
''' request and validate data entered from this form
dt_end = trim(request("dt_end"))
event_id = trim(request("event_id"))
user_id = trim(request("user_id"))
dt_start = trim(request("dt_start"))
user_name = trim(request("user_name"))
event_name = trim(request("event_name"))
event_desc = trim(request("event_desc"))
time_start = trim(request("time_start"))
time_end = trim(request("time_end"))
b_personal = trim(request("b_personal"))
end sub
sub db_select_detail_Events
detail_Events_sql = "SELECT " & _
"event_id, " & _
"Events.user_id, " & _
"event_name, " & _
"event_desc, " & _
"dt_start, " & _
"dt_end, " & _
"time_start, " & _
"time_end, " & _
"user_name," & _
"b_personal FROM (Events LEFT JOIN Users ON Users.user_id = Events.user_id)" & _
"WHERE (b_personal = 0 OR b_personal is null OR Events.user_id = " & session("user_id") & ") AND" & _
"(dt_start <= " & to_sql(incDate,"date") & " AND (dt_end >= " & to_sql(incDate,"date") & " OR (dt_end is null AND dt_start = " & to_sql(incDate,"date") & "))) " & _
"ORDER BY time_start"
if request("sortby") <> "" AND inStr(lcase(detail_Events_sql),"order by") = 0 then detail_Events_sql = detail_Events_sql + " ORDER BY " & request("sortby")
end sub
sub db_delete_detail_Events
sql = "DELETE FROM Events" & _
" WHERE " & _
"event_id = " & to_sql(event_id,"text") & ""
'response.write sql
on error resume next
cn.Execute(sql)
if err.number <> 0 then
b_error = true
end if
on error goto 0
end sub
do_search = request("do_search")
''' request form keys and inputs
event_id = request("event_id")
''' request action
action = lcase(request("action"))
''' action case handler
select case action
case "select_detail_events"
' select the requested key record from database
if event_id <> "" then
db_select_detail_Events
else
b_error = true
error_list.add "edit_detail_Events", "Specify record to select."
end if
end select
':: handle the default case(s) for each form (separate from action= parameter)
dim incDate, boxSize, a_events(31), a_tasks(31)
action = request("action")
incDate = request("incDate")
mo = request("mo")
yr = request("yr")
b_showtasks = true
boxSize = "90"
if incDate = "" and mo <> "" and yr <> "" then incDate = mo & "/1/" & yr
if action = "detail" then
db_select_detail_events
end if
%>
<%
display_errs
display_msg
%>
<%
if action = "" then
If incDate = "" Then
'' get the current months first day
incDate = DatePart ("m" , Date) & "/01/" & DatePart("yyyy" , Date)
Else
incDate = DatePart ("m" , incDate) & "/01/" & DatePart("yyyy" , incDate)
End If
' To change the month, Pass in a date with POST or GET of a valid date
' to a variable named incDate
Function GetDateName (monthNumber)
Select Case monthNumber
Case 1
GetDateName = "January"
Case 2
GetDateName = "February"
Case 3
GetDateName = "March"
Case 4
GetDateName = "April"
Case 5
GetDateName = "May"
Case 6
GetDateName = "June"
Case 7
GetDateName = "July"
Case 8
GetDateName = "August"
Case 9
GetDateName = "September"
Case 10
GetDateName = "October"
Case 11
GetDateName = "November"
Case 12
GetDateName = "December"
End Select
End Function
function DaysInAnyMonth(intMonth, IntYear)
if IntYear = 0 Then IntYear = Year(Now())
Select Case (intMonth)
Case 9, 4, 6, 11
DaysInAnyMonth = 30
Case 2
if (IntYear Mod 4 = 0) And (IntYear Mod 100 <> 0) Or (IntYear Mod 400 = 0) Then
DaysInAnyMonth = 29
Else
DaysInAnyMonth = 28
End if
Case Else
DaysInAnyMonth = 31
End Select
end function
%>
<%
'' select events and assign to a_events array
set rs = cn.execute("SELECT * FROM Events WHERE (b_personal = 0 OR b_personal is null OR user_id = " & session("user_id") & ") AND (month(dt_start) <= " & month(incDate) & " AND year(dt_start) = " & year(incDate) & " AND (month(dt_end) >= " & month(incDate) & " OR (dt_end is NULL AND month(dt_start) = " & month(incDate) & " AND year(dt_start) = " & year(incDate) & "))) ORDER BY dt_start")
do until rs.EOF
dt_start = rs("dt_start")
dt_end = rs("dt_end")
if (dt_end = dt_start) OR isnull(dt_end) then
'one day event
a_events(day(dt_start)) = a_events(day(dt_start)) & " " & rs("event_name")
elseif datevalue(dt_end) > datevalue(dt_start) then
'multi day event
days_in_month = DaysInAnyMonth(month(incDate),year(incDate))
lastDate = DateAdd("d",days_in_month-1,incDate)
if datevalue(dt_start) < datevalue(incDate) AND datevalue(dt_end) > datevalue(lastDate) then
'' event spans entire month
ev_start = 1
ev_end = days_in_month
elseif datevalue(dt_start) < datevalue(incDate) AND datevalue(dt_end) <= datevalue(lastDate) then
'' event spans to last event day within month
ev_start = 1
ev_end = day(dt_end)
elseif datevalue(dt_start) >= datevalue(incDate) AND datevalue(dt_end) > datevalue(lastDate) then
'' event starts within month and spans after month
ev_start =day(dt_start)
ev_end = days_in_month
elseif datevalue(dt_start) >= datevalue(incDate) AND datevalue(dt_end) <= datevalue(lastDate) then
'' event is within month
ev_start =day(dt_start)
ev_end = day(dt_end)
else
ev_start = 0
ev_end = 0
end if
for i = ev_start to ev_end
a_events(i) = a_events(i) & " " & rs("event_name")
next
end if
rs.MoveNext
loop
rs.Close
'' select tasks into a_tasks array
if b_showtasks then
set rs = cn.execute("SELECT TaskId, Task, dtReview FROM pmTasks WHERE (assigned_user_id = " & session("user_id") & ") AND month(dtReview) = " & month(incDate) & " AND year(dtReview) = " & year(incDate) & " ORDER BY dtReview")
do until rs.EOF
dtReview = rs("dtReview")
a_tasks(day(dtReview)) = a_tasks(day(dtReview)) & " " & rs("Task")
rs.MoveNext
loop
rs.Close
end if
'' calendar loop
dim w, d, count, dispDay, currDay
dateCount = incDate
count = 1
dispDay = 1
for w = 1 to 6
%>
<%
for d = 1 to 7
if Not (count => DatePart("w" , incDate)) AND (count < 8) then
%>
|   |
<%
count = count + 1
else
If IsDate( DatePart("m" , incDate) & "/" & dispDay & "/" & DatePart("yyyy" , incDate)) Then
currDy = DatePart("m" , incDate) & "/" & dispDay & "/"
'currYr = DatePart("yyyy" , incDate)
'currYear = Right(currYr, 2)
'currDay = currDy & currYear
currDay = DatePart("m" , incDate) & "/" & dispDay & "/" & DatePart("yyyy" , incDate)
':::::::::::::::::::::::::::::::::::::::
If currDay = cStr(Date) Then
%>
<%
Else
%>
<%=dispDay%><% if not isEmpty(a_events(dispDay)) OR not isEmpty(a_tasks(dispDay)) then %><% end if %> |
<%
End If
count = count + 1
dispDay = dispDay + 1
Else
%>
  |
<%
End If
end If
next
'day
%>
<%
next
'week
lastmo = DateAdd("M", -1, incDate)
nextmo = DateAdd("M", 1, incDate)
%>
<% else %>
<%
page_no = request("page_no")
if page_no = "" then page_no = 1
if detail_Events_sql <> "" then
cmd.CommandText = detail_Events_sql
rs.Filter = ""
rs.CursorLocation = 3
rs.CacheSize = 5
rs.Open cmd
if not rs.EOF then
rs.MoveFirst
max_count = cInt(rs.PageCount)
num_recs = rs.RecordCount
rs.AbsolutePage = page_no
results = true
else
results = false
rs.Close
end if
else
results = false
end if
rec_count = 0
%>
<%
if results = true then
%>
<%
else
%>
[no events scheduled]
<%
end if
%>
<% end if %>
<%
':: assure that any db resources are freed
on error resume next
rs.Close
set rs = NOTHING
cn.Close
set cn = NOTHING
user_cn.Close
set user_cn = NOTHING
on error goto 0
%>