% Dim calDate:calDate = SQLNowDate() Dim body:body = request.form("body")&"" Dim shour:shour = request.form("shour")&"" Dim eminute:eminute = request.form("eminute")&"" Dim LMonthlyOrdinal:LMonthlyOrdinal = request.form("LMonthlyOrdinal")&"" Dim AMonthlyOrdinal:AMonthlyOrdinal = request.form("AMonthlyOrdinal")&"" Dim LogicalMonthlyDay:LogicalMonthlyDay = request.form("LogicalMonthlyDay")&"" Dim ActualMonthlyDay:ActualMonthlyDay = request.form("ActualMonthlyDay")&"" Dim allowSignUp:allowSignUp = request.form("allowSignUp")&"" Dim jsenabled:jsenabled = request.form("jsenabled")&"" Dim withsig:withsig = request.form("withsig")&"" Dim sminute:sminute = request.form("sminute")&"" Dim amonth:amonth = request.form("amonth")&"" Dim subject:subject = request.form("subject")&"" Dim smonth:smonth = request.form("smonth")&"" Dim PeriodicAmount:PeriodicAmount = request.form("PeriodicAmount")&"" Dim PeriodicCode:PeriodicCode = request.form("PeriodicCode")&"" Dim embed:embed = request.form("embed")&"" Dim syear:syear = request.form("syear")&"" Dim sday:sday = request.form("sday")&"" Dim ehour:ehour = request.form("ehour")&"" Dim RecurrenceType:RecurrenceType = left(request.form("RecurrenceType")&"",1) Dim eyear:eyear = request.form("eyear")&"" Dim eday:eday = request.form("eday")&"" Dim emonth:emonth = request.form("emonth")&"" Dim aday:aday = request.form("aday")&"" Dim allowDiscussion:allowDiscussion = request.form("allowDiscussion")&"" Dim upfile:upfile = request.form("upfile")&"" Dim calendarID:calendarID = request.form("calendarID")&"" Dim msgIcons:msgIcons = request.form("msgIcons") Dim timeoffset:timeoffset = Application(dbName&"timeoffset") Dim EventStartTime:EventStartTime = shour&":"&sminute&":00" Dim EventEndTime:EventEndTime = ehour&":"&eminute&":00" Dim EventStartDate:EventStartDate = syear&"-"&smonth&"-"&sday&" "&EventStartTime Dim EventEndDate:EventEndDate = eyear&"-"&emonth&"-"&eday&" "&EventEndTime if not fromThisDomain("addevent.asp?") then response.redirect (forumdir&"first.asp?error=referer") response.end end if if request.form("jsenabled")="false" then response.redirect (forumdir&"first.asp") response.end end if Dim eventID eventID = request.form("eventID")&"" 'revert back to no offsets' EventStartDate = SQLMediumDate(DateAdd("h",-(timeoffset+memTimeOffset),EventStartDate)) EventEndDate = SQLMediumDate(DateAdd("h",-(timeoffset+memTimeOffset),EventEndDate)) Dim AnniversaryDate:AnniversaryDate = "2000-"&amonth&"-"&aday AnniversaryDate = iff(RecurrenceType = "A",AnniversaryDate,null) Dim monthlyCode, monthlyDay,monthlyOrdinal monthlyCode = iff(RecurrenceType = "M",right(request.form("RecurrenceType")&"",1),NULL) if not isNull(monthlyCode) then monthlyDay = iff(monthlyCode="L",LogicalMonthlyDay,ActualMonthlyDay) monthlyOrdinal = iff(monthlyCode="L",LMonthlyOrdinal,AMonthlyOrdinal) else monthlyDay = null monthlyOrdinal = null end if if MonthlyCode="A" then Dim tempStartDate, tempEndDate tempStartDate = year(EventStartDate)&"-"&Month(EventStartDate)&"-"&leadingZero(monthlyDay) tempStartDate = iff(isDate(tempStartDate),tempStartDate,endDateOfMonth(EventStartDate)) tempEndDate = year(EventEndDate)&"-"&Month(EventEndDate)&"-"&leadingZero(monthlyDay) tempEndDate = iff(isDate(tempEndDate),tempEndDate,endDateOfMonth(EventEndDate)) EventStartDate = DateAdd("d",-2,tempStartDate&" "&EventStartTime) EventEndDate = DateAdd("d",+2,tempEndDate&" "&EventEndTime) end if PeriodicAmount = iff(RecurrenceType = "P",PeriodicAmount,NULL) PeriodicCode = iff(RecurrenceType = "P",PeriodicCode,NULL) allowDiscussion = checkedornot(allowDiscussion) allowSignUp = checkedornot(allowSignUp) withsig = checkedornot(withsig) if embed = "on" then if len(upfile)<>0 then Dim fileExt:fileExt = Lcase(right(upfile,len(upfile)-instr(upfile,"."))) if fileExt = "gif" or fileExt = "jpg" or fileExt = "bmp" or fileExt = "png" or fileExt = "jpeg" then body = body & vbCrlf & vbCrlf & "[image]local://upfiles/" & memID & "/" & upfile & "[/image]" end if end if end if subject = replace(subject,chr(1),"") Dim objCalendar,canAddEvent,isCalendarModerator,canReadCalendar,canAddRecurring,canDiscussEvent Dim uploadSize,canDeleteEvent,canSubscribeCalendar,isSubscribed,eventByMem,discussForumID,calName 'response.write calendarID 'response.end Set objCalendar = new calClass With objCalendar .calDate = calDate .calendarID = calendarID .eventID = eventID .mem = memID .getPermission canAddRecurring = .canAddRecurring canAddEvent = .canAddEvent canDiscussEvent = .canDiscussEvent isCalendarModerator = .isCalendarModerator calendarID = .calendarID eventByMem = .eventByMem discussForumID = .discussForumID calName = .calName End With Set objCalendar = nothing Dim types:types = request.form("types") Dim goAhead:goAhead = false IF types = "add" then if canAddEvent then if RecurrenceType<>"N" and canAddRecurring then goAhead = true else goAhead = true end if end if else ' response.write eventByMem&";"&calendarID ' response.end if (isCalendarModerator or eventByMem&"" = memID) then goAhead = true end if end if if not goAhead then response.redirect("redirect.asp") response.end end if Dim allforum,appid SELECT CASE types CASE "add" Dim newEventID Dim objCom Set objCom = server.createobject("adodb.command") with objCom .activeconnection = datastore '.commandTimeout = 200 .commandText = dbOwnerPrefix&"spInsertEvent" .commandType = adCmdStoredProc .Parameters.Append .Createparameter("@RETURN_VALUE", adInteger, adParamReturnValue, 0 ) .Parameters.Append .Createparameter("@CalendarID", adInteger, adParamInput, 0, CalendarID) .Parameters.Append .Createparameter("@mem", adInteger, adParamInput, 0, memID) .Parameters.Append .Createparameter("@withsig", adUnsignedTinyInt, adParamInput, 0, withsig) .Parameters.Append .Createparameter("@upfile", adVarChar, adParamInput, 50, upfile) .Parameters.Append .Createparameter("@allowSignUp", adUnsignedTinyInt, adParamInput, 0, allowSignUp) .Parameters.Append .Createparameter("@allowDiscussion", adUnsignedTinyInt, adParamInput, 0, allowDiscussion) .Parameters.Append .Createparameter("@msgIcons", adUnsignedTinyInt, adParamInput, 0, msgIcons ) .Parameters.Append .Createparameter("@subject", adVarChar, adParamInput, 100, SQLIN(subject)) .Parameters.Append .Createparameter("@body", adVarChar, adParamInput, 2147483647, SQLIN(body)) .Parameters.Append .Createparameter("@EventStartDate", adDBTimeStamp, adParamInput, 0, EventStartDate) .Parameters.Append .Createparameter("@EventStartTime", adDBTimeStamp, adParamInput, 0, EventStartTime) .Parameters.Append .Createparameter("@EventEndDate", adDBTimeStamp, adParamInput, 0, EventEndDate) .Parameters.Append .Createparameter("@EventEndTime", adDBTimeStamp, adParamInput, 0, EventEndTime) .Parameters.Append .Createparameter("@RecurrenceType", adVarChar, adParamInput, 1, RecurrenceType) .Parameters.Append .Createparameter("@PeriodicCode", adVarChar, adParamInput, 4, PeriodicCode) .Parameters.Append .Createparameter("@PeriodicAmount", adUnsignedTinyInt, adParamInput, 0, PeriodicAmount) .Parameters.Append .Createparameter("@MonthlyCode", adVarChar, adParamInput, 1, MonthlyCode) .Parameters.Append .Createparameter("@MonthlyOrdinal", adUnsignedTinyInt, adParamInput, 0, MonthlyOrdinal) .Parameters.Append .Createparameter("@MonthlyDay", adUnsignedTinyInt, adParamInput, 0, MonthlyDay) .Parameters.Append .Createparameter("@AnniversaryDate", adDBTimeStamp, adParamInput, 0, AnniversaryDate) .Parameters.Append .Createparameter("@eventID", adInteger, adParamOutput, 0) .execute , , adExecuteNoRecords newEventID = .parameters("@eventID") end with Set objCom = nothing Dim newDiscussMsgId if canDiscussEvent and allowDiscussion = 1 then newDiscussMsgId=reAddMessage(newEventID) end if CAll SendCalSubscription(memLogin,newEventID,calendarID,allowDiscussion,newDiscussMsgId,calName,subject, body) response.write ("
") CASE "edit" ' response.write eventId ' response.end Dim edit:edit = "< "&editByDesc&" "& memLogin &" -- "& SQLDate(SQLNowDate(), Application(dbName&"timeoffset"), true) &" >" Dim reAddDiscussionMsg Set objCom = server.createobject("adodb.command") with objCom .activeconnection = datastore '.commandTimeout = 200 .commandText = dbOwnerPrefix&"spEditEvent" .commandType = adCmdStoredProc .Parameters.Append .Createparameter("@RETURN_VALUE", adInteger, adParamReturnValue, 0 ) .Parameters.Append .Createparameter("@CalendarID", adInteger, adParamInput, 0, CalendarID) .Parameters.Append .Createparameter("@mem", adInteger, adParamInput, 0, memID) .Parameters.Append .Createparameter("@withsig", adUnsignedTinyInt, adParamInput, 0, withsig) .Parameters.Append .Createparameter("@upfile", adVarChar, adParamInput, 50, upfile) .Parameters.Append .Createparameter("@allowSignUp", adUnsignedTinyInt, adParamInput, 0, allowSignUp) .Parameters.Append .Createparameter("@allowDiscussion", adUnsignedTinyInt, adParamInput, 0, allowDiscussion) .Parameters.Append .Createparameter("@msgIcons", adUnsignedTinyInt, adParamInput, 0, msgIcons ) .Parameters.Append .Createparameter("@subject", adVarChar, adParamInput, 100, SQLIN(subject)) .Parameters.Append .Createparameter("@body", adVarChar, adParamInput, 2147483647, SQLIN(body)) .Parameters.Append .Createparameter("@EventStartDate", adDBTimeStamp, adParamInput, 0, EventStartDate) .Parameters.Append .Createparameter("@EventStartTime", adDBTimeStamp, adParamInput, 0, EventStartTime) .Parameters.Append .Createparameter("@EventEndDate", adDBTimeStamp, adParamInput, 0, EventEndDate) .Parameters.Append .Createparameter("@EventEndTime", adDBTimeStamp, adParamInput, 0, EventEndTime) .Parameters.Append .Createparameter("@RecurrenceType", adVarChar, adParamInput, 1, RecurrenceType) .Parameters.Append .Createparameter("@PeriodicCode", adVarChar, adParamInput, 4, PeriodicCode) .Parameters.Append .Createparameter("@PeriodicAmount", adUnsignedTinyInt, adParamInput, 0, PeriodicAmount) .Parameters.Append .Createparameter("@MonthlyCode", adVarChar, adParamInput, 1, MonthlyCode) .Parameters.Append .Createparameter("@MonthlyOrdinal", adUnsignedTinyInt, adParamInput, 0, MonthlyOrdinal) .Parameters.Append .Createparameter("@MonthlyDay", adUnsignedTinyInt, adParamInput, 0, MonthlyDay) .Parameters.Append .Createparameter("@AnniversaryDate", adDBTimeStamp, adParamInput, 0, AnniversaryDate) .Parameters.Append .Createparameter("@eventID", adInteger, adParamInput, 0, eventID) .Parameters.Append .Createparameter("@edit", adVarChar, adParamInput, 100, edit) .Parameters.Append .Createparameter("@reAddDiscussionMsg", adInteger, adParamOutput, 0) .execute , , adExecuteNoRecords reAddDiscussionMsg = .parameters("@reAddDiscussionMsg") end with Set objCom = nothing If reAddDiscussionMsg = 1 then newDiscussMsgId=reAddMessage(eventID) response.write ("") END SELECT function reAddMessage(theEventID) Dim searchstring %><% Dim lastModified:lastModified = _ "%DATE%