% Response.Buffer = EW_RESPONSE_BUFFER %> <% Session.Timeout = 20 %> <% Response.Expires = 0 Response.ExpiresAbsolute = Now() - 1 Response.AddHeader "pragma", "no-cache" Response.AddHeader "cache-control", "private, no-cache, no-store, must-revalidate" %> <% ' Define page object Dim newsletter_add Set newsletter_add = New cnewsletter_add Set Page = newsletter_add ' Page init processing Call newsletter_add.Page_Init() ' Page main processing Call newsletter_add.Page_Main() %> <% newsletter_add.ShowMessage %>
<% If newsletter.CurrentAction <> "F" Then %> <% End If %> <% ' Drop page object Set newsletter_add = Nothing %> <% ' ----------------------------------------------------------------- ' Page Class ' Class cnewsletter_add ' Page ID Public Property Get PageID() PageID = "add" End Property ' Table Name Public Property Get TableName() TableName = "newsletter" End Property ' Page Object Name Public Property Get PageObjName() PageObjName = "newsletter_add" End Property ' Page Name Public Property Get PageName() PageName = ew_CurrentPage() End Property ' Page Url Public Property Get PageUrl() PageUrl = ew_CurrentPage() & "?" If newsletter.UseTokenInUrl Then PageUrl = PageUrl & "t=" & newsletter.TableVar & "&" ' add page token End Property ' Message Public Property Get Message() Message = Session(EW_SESSION_MESSAGE) End Property Public Property Let Message(v) If Session(EW_SESSION_MESSAGE) <> "" Then ' Append Session(EW_SESSION_MESSAGE) = Session(EW_SESSION_MESSAGE) & "" & Message & "
" Session(EW_SESSION_MESSAGE) = "" ' Clear message in Session End If End Sub ' ----------------------- ' Validate Page request ' Public Function IsPageRequest() If newsletter.UseTokenInUrl Then IsPageRequest = False If Not (ObjForm Is Nothing) Then IsPageRequest = (newsletter.TableVar = ObjForm.GetValue("t")) End If If Request.QueryString("t").Count > 0 Then IsPageRequest = (newsletter.TableVar = Request.QueryString("t")) End If Else IsPageRequest = True End If End Function ' ----------------------------------------------------------------- ' Class initialize ' - init objects ' - open ADO connection ' Private Sub Class_Initialize() ' Initialize table object Set newsletter = New cnewsletter ' Initialize form object Set ObjForm = Nothing ' Intialize page id (for backward compatibility) EW_PAGE_ID = "add" ' Initialize table name (for backward compatibility) EW_TABLE_NAME = "newsletter" ' Open connection to the database Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open EW_DB_CONNECTION_STRING End Sub ' ----------------------------------------------------------------- ' Subroutine Page_Init ' - called before page main ' - check Security ' - set up response header ' - call page load events ' Sub Page_Init() ' Global page loading event (in userfn7.asp) Call Page_Loading() ' Page load event, used in current page Call Page_Load() End Sub ' ----------------------------------------------------------------- ' Class terminate ' - clean up page object ' Private Sub Class_Terminate() Call Page_Terminate("") End Sub ' ----------------------------------------------------------------- ' Subroutine Page_Terminate ' - called when exit page ' - clean up ADO connection and objects ' - if url specified, redirect to url ' Sub Page_Terminate(url) ' Page unload event, used in current page Call Page_Unload() ' Global page unloaded event (in userfn60.asp) Call Page_Unloaded() If Not (Conn Is Nothing) Then Conn.Close ' Close Connection Set Conn = Nothing Set newsletter = Nothing ' Go to url if specified If url <> "" Then Response.Clear Response.Redirect url End If End Sub ' ' Subroutine Page_Terminate (End) ' ---------------------------------------- Dim x_ewPriv ' ----------------------------------------------------------------- ' Page main processing ' Sub Page_Main() ' Load key values from QueryString Dim bCopy bCopy = True If Request.QueryString("mobile").Count > 0 Then newsletter.mobile.QueryStringValue = Request.QueryString("mobile") Else bCopy = False End If ' Create form object Set ObjForm = New cFormObj ' Process form if post back If ObjForm.GetValue("a_add")&"" <> "" Then newsletter.CurrentAction = ObjForm.GetValue("a_add") ' Get form action Call LoadFormValues() ' Load form values ' Validate Form If Not ValidateForm() Then newsletter.CurrentAction = "I" ' Form error, reset action Message = gsFormError End If ' Not post back Else If bCopy Then newsletter.CurrentAction = "C" ' Copy Record Else newsletter.CurrentAction = "I" ' Display Blank Record Call LoadDefaultValues() ' Load default values End If End If ' Close form object Set ObjForm = Nothing ' Perform action based on action code Select Case newsletter.CurrentAction Case "I" ' Blank record, no action required Case "C" ' Copy an existing record If Not LoadRow() Then ' Load record based on key Message = "No records found" ' No record found Call Page_Terminate("newsletterlist.asp") ' No matching record, return to list End If Case "A" ' Add new record newsletter.SendEmail = True ' Send email on add success If AddRow() Then ' Add successful Message = "Add succeeded" ' Set up success message Dim sReturnUrl sReturnUrl = "thankyou.asp" Call Page_Terminate(sReturnUrl) ' Clean up and return Else Call RestoreFormValues() ' Add failed, restore form values End If End Select ' Render row based on row type If newsletter.CurrentAction = "F" Then ' Confirm page newsletter.RowType = EW_ROWTYPE_VIEW ' Render view type Else newsletter.RowType = EW_ROWTYPE_ADD ' Render add type End If ' Render row Call RenderRow() End Sub ' ----------------------------------------------------------------- ' Function Get upload files ' Function GetUploadFiles() ' Get upload data End Function ' ----------------------------------------------------------------- ' Load default values ' Function LoadDefaultValues() newsletter.zdate.CurrentValue = Date() End Function ' ----------------------------------------------------------------- ' Load form values ' Function LoadFormValues() ' Load values from form newsletter.mobile.FormValue = ObjForm.GetValue("x_mobile") newsletter.mobile.OldValue = ObjForm.GetValue("o_mobile") newsletter.name.FormValue = ObjForm.GetValue("x_name") newsletter.name.OldValue = ObjForm.GetValue("o_name") newsletter.zdate.FormValue = ObjForm.GetValue("x_zdate") newsletter.zdate.CurrentValue = ew_UnFormatDateTime(newsletter.zdate.CurrentValue, 8) newsletter.zdate.OldValue = ObjForm.GetValue("o_zdate") End Function ' ----------------------------------------------------------------- ' Restore form values ' Function RestoreFormValues() newsletter.mobile.CurrentValue = newsletter.mobile.FormValue newsletter.name.CurrentValue = newsletter.name.FormValue newsletter.zdate.CurrentValue = newsletter.zdate.FormValue newsletter.zdate.CurrentValue = ew_UnFormatDateTime(newsletter.zdate.CurrentValue, 8) End Function ' ----------------------------------------------------------------- ' Load row based on key values ' Function LoadRow() Dim RsRow, sSql, sFilter sFilter = newsletter.KeyFilter ' Call Row Selecting event Call newsletter.Row_Selecting(sFilter) ' Load sql based on filter newsletter.CurrentFilter = sFilter sSql = newsletter.SQL If EW_DEBUG_ENABLED Then Response.Write sSql ' Show SQL for debugging Set RsRow = Server.CreateObject("ADODB.Recordset") RsRow.Open sSql, Conn If RsRow.Eof Then LoadRow = False Else LoadRow = True RsRow.MoveFirst Call LoadRowValues(RsRow) ' Load row values ' Call Row Selected event Call newsletter.Row_Selected(RsRow) End If RsRow.Close Set RsRow = Nothing End Function ' ----------------------------------------------------------------- ' Load row values from recordset ' Sub LoadRowValues(RsRow) newsletter.mobile.DbValue = RsRow("mobile") newsletter.name.DbValue = RsRow("name") newsletter.zdate.DbValue = RsRow("date") End Sub ' ----------------------------------------------------------------- ' Render row values based on field settings ' Sub RenderRow() ' Call Row Rendering event Call newsletter.Row_Rendering() ' --------------------------------------- ' Common render codes for all row types ' --------------------------------------- ' mobile newsletter.mobile.CellCssStyle = "" newsletter.mobile.CellCssClass = "" ' name newsletter.name.CellCssStyle = "" newsletter.name.CellCssClass = "" ' date newsletter.zdate.CellCssStyle = "" newsletter.zdate.CellCssClass = "" ' ----------- ' View Row ' ----------- If newsletter.RowType = EW_ROWTYPE_VIEW Then ' View row ' mobile newsletter.mobile.ViewValue = newsletter.mobile.CurrentValue newsletter.mobile.CssStyle = "" newsletter.mobile.CssClass = "" newsletter.mobile.ViewCustomAttributes = "" ' name newsletter.name.ViewValue = newsletter.name.CurrentValue newsletter.name.CssStyle = "" newsletter.name.CssClass = "" newsletter.name.ViewCustomAttributes = "" ' date newsletter.zdate.ViewValue = newsletter.zdate.CurrentValue newsletter.zdate.CssStyle = "" newsletter.zdate.CssClass = "" newsletter.zdate.ViewCustomAttributes = "" ' View refer script ' mobile newsletter.mobile.HrefValue = "" ' name newsletter.name.HrefValue = "" ' date newsletter.zdate.HrefValue = "" ' --------- ' Add Row ' --------- ElseIf newsletter.RowType = EW_ROWTYPE_ADD Then ' Add row ' mobile newsletter.mobile.EditCustomAttributes = "" newsletter.mobile.EditValue = ew_HtmlEncode(newsletter.mobile.CurrentValue) ' name newsletter.name.EditCustomAttributes = "" newsletter.name.EditValue = ew_HtmlEncode(newsletter.name.CurrentValue) ' date newsletter.zdate.EditCustomAttributes = "" newsletter.zdate.CurrentValue = Date() End If ' Call Row Rendered event Call newsletter.Row_Rendered() End Sub ' ----------------------------------------------------------------- ' Validate form ' Function ValidateForm() ' Initialize gsFormError = "" ' Check if validation required If Not EW_SERVER_VALIDATE Then ValidateForm = (gsFormError = "") Exit Function End If If Not ew_CheckInteger(newsletter.mobile.FormValue) Then If gsFormError <> "" Then gsFormError = gsFormError & "