<% 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 %>
Calendar › <%=GetDateName (DatePart ("m" , incDate)) & " " & DatePart("yyyy" , incDate)%> | Add Event
<% '' 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 %> <% 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) %>
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
 <%=dispDay%><% if not isEmpty(a_events(dispDay)) OR not isEmpty(a_tasks(dispDay)) then %>
<% =a_events(dispDay) %><% if not isEmpty(a_tasks(dispDay)) then %>
due: <% =a_tasks(dispDay) %><% end if %>
<% end if %>
<%=dispDay%><% if not isEmpty(a_events(dispDay)) OR not isEmpty(a_tasks(dispDay)) then %>
<% =a_events(dispDay) %><% if not isEmpty(a_tasks(dispDay)) then %>
due: <% =a_tasks(dispDay) %><% end if %>
<% end if %>
 
< <% =monthname(month(lastmo)) %> <% =monthname(month(nextmo)) %> >
<% 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 %>
Calendar for <% =incDate %> | Add Event
<% if results = true then %> <% do while not rs.EOF ':: read db record on error resume next dt_end = rs("dt_end") event_id = rs("event_id") user_id = rs("user_id") dt_start = rs("dt_start") user_name = rs("user_name") event_name = rs("event_name") event_desc = rs("event_desc") time_start = rs("time_start") time_end = rs("time_end") b_personal = rs("b_personal") on error goto 0 %> <% rs.MoveNext rec_count = rec_count + 1 loop rs.Close %>
?<% =request_string %>page_no=<% =page_no %>&sortby=user_name" class=fieldFont title="">last update by ?<% =request_string %>page_no=<% =page_no %>&sortby=event_name" class=fieldFont title="">event title ?<% =request_string %>page_no=<% =page_no %>&sortby=event_desc" class=fieldFont title="">description ?<% =request_string %>page_no=<% =page_no %>&sortby=time_start" class=fieldFont title="">starts ?<% =request_string %>page_no=<% =page_no %>&sortby=time_end" class=fieldFont title="">ends ?<% =request_string %>page_no=<% =page_no %>&sortby=b_personal" class=fieldFont title="">hidden from others
<% =user_name %> <% =event_name %> <% event_desc = left(event_desc,100) %><% =event_desc %>... <% if time_start <> "" then time_start = formatdatetime(time_start,3) %><% =time_start %> <% if time_end <> "" then time_end = formatdatetime(time_end,3) %><% =time_end %> <% =b_personal %>
<% 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 %>