Server IP : 103.118.17.23 / Your IP : 216.73.216.169 Web Server : Microsoft-IIS/10.0 System : Windows NT RESELLERPLESK22 10.0 build 20348 (Windows Server 2016) AMD64 User : IWAM_plesk(default) ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : E:/Inetpub/vhosts/mesa.org.in/httpdocs/panel/ |
Upload File : |
<%@ CodePage="65001" %> <% Response.Buffer = EW_RESPONSE_BUFFER %> <!--#include file="ewcfg.asp"--> <!--#include file="polymenudetailsinfo.asp"--> <!--#include file="aspfn.asp"--> <!--#include file="userfn.asp"--> <% Call ew_Header(False, EW_CHARSET, False) %> <% ' Define page object Dim polymenudetails_edit Set polymenudetails_edit = New cpolymenudetails_edit Set Page = polymenudetails_edit ' Page init processing Call polymenudetails_edit.Page_Init ' Page main Call polymenudetails_edit.Page_Main ' Global Page Rendering event (in userfn*.asp) Page_Rendering() ' Page Render event polymenudetails_edit.Page_Render() %> <!--#include file="header.asp"--> <script type="text/javascript"> // Form object var CurrentPageID = EW_PAGE_ID = "edit"; var CurrentForm = fpolymenudetailsedit = new ew_Form("fpolymenudetailsedit", "edit"); // Validate form fpolymenudetailsedit.Validate = function() { if (!this.ValidateRequired) return true; // Ignore validation var $ = jQuery, fobj = this.GetForm(), $fobj = $(fobj); if ($fobj.find("#a_confirm").val() == "F") return true; var elm, felm, uelm, addcnt = 0; var $k = $fobj.find("#" + this.FormKeyCountName); // Get key_count var rowcnt = ($k[0]) ? parseInt($k.val(), 10) : 1; var startcnt = (rowcnt == 0) ? 0 : 1; // Check rowcnt == 0 => Inline-Add var gridinsert = $fobj.find("#a_list").val() == "gridinsert"; for (var i = startcnt; i <= rowcnt; i++) { var infix = ($k[0]) ? String(i) : ""; $fobj.data("rowindex", infix); elm = this.GetElements("x" + infix + "_zMenu"); if (elm && !ew_IsHidden(elm) && !ew_HasValue(elm)) return this.OnError(elm, "<%= ew_JsEncode2(Replace(polymenudetails.zMenu.ReqErrMsg, "%s", polymenudetails.zMenu.FldCaption)) %>"); elm = this.GetElements("x" + infix + "_Parent_id"); if (elm && !ew_CheckInteger(elm.value)) return this.OnError(elm, "<%= ew_JsEncode2(polymenudetails.Parent_id.FldErrMsg) %>"); elm = this.GetElements("x" + infix + "_Sequence"); if (elm && !ew_CheckInteger(elm.value)) return this.OnError(elm, "<%= ew_JsEncode2(polymenudetails.Sequence.FldErrMsg) %>"); // Fire Form_CustomValidate event if (!this.Form_CustomValidate(fobj)) return false; } // Process detail forms var dfs = $fobj.find("input[name='detailpage']").get(); for (var i = 0; i < dfs.length; i++) { var df = dfs[i], val = df.value; if (val && ewForms[val]) if (!ewForms[val].Validate()) return false; } return true; } // Form_CustomValidate event fpolymenudetailsedit.Form_CustomValidate = function(fobj) { // DO NOT CHANGE THIS LINE! // Your custom validation code here, return false if invalid. return true; } // Use JavaScript validation or not <% If EW_CLIENT_VALIDATE Then %> fpolymenudetailsedit.ValidateRequired = true; // Use JavaScript validation <% Else %> fpolymenudetailsedit.ValidateRequired = false; // No JavaScript validation <% End If %> // Dynamic selection lists <% Set arAS = Nothing %> // Form object for search </script> <script type="text/javascript"> // Write your client script here, no need to add script tags. </script> <% Call polymenudetails_edit.ShowPageHeader %> <% Call polymenudetails_edit.ShowMessage %> <form name="fpolymenudetailsedit" id="fpolymenudetailsedit" class="<%= polymenudetails_edit.FormClassName %>" action="<%= ew_CurrentPage %>" method="post"> <% If polymenudetails_edit.CheckToken Then %> <input type="hidden" name="<%= EW_TOKEN_NAME %>" value="<%= polymenudetails_edit.Token %>"> <% End If %> <input type="hidden" name="a_table" id="a_table" value="polymenudetails"> <input type="hidden" name="a_edit" id="a_edit" value="U"> <input type="hidden" name="modal" value="<%= ew_IIf(polymenudetails_edit.IsModal, "1", "0") %>"> <div class="ewEditDiv"><!-- page* --> <% If polymenudetails.ID.Visible Then ' ID %> <div id="r_ID" class="form-group"> <label id="elh_polymenudetails_ID" class="<%= polymenudetails.LeftColumnClass %>"><%= polymenudetails.ID.FldCaption %></label> <div class="<%= polymenudetails.RightColumnClass %>"><div<%= polymenudetails.ID.CellAttributes %>> <span id="el_polymenudetails_ID"> <span<%= polymenudetails.ID.ViewAttributes %>> <p class="form-control-static"><%= polymenudetails.ID.EditValue %></p> </span> </span> <input type="hidden" data-table="polymenudetails" data-field="x_ID" name="x_ID" id="x_ID" value="<%= ew_HtmlEncode(polymenudetails.ID.CurrentValue&"") %>"> <%= polymenudetails.ID.CustomMsg %></div></div> </div> <% End If %> <% If polymenudetails.zMenu.Visible Then ' Menu %> <div id="r_zMenu" class="form-group"> <label id="elh_polymenudetails_zMenu" for="x_zMenu" class="<%= polymenudetails.LeftColumnClass %>"><%= polymenudetails.zMenu.FldCaption %><%= Language.Phrase("FieldRequiredIndicator") %></label> <div class="<%= polymenudetails.RightColumnClass %>"><div<%= polymenudetails.zMenu.CellAttributes %>> <span id="el_polymenudetails_zMenu"> <input type="text" data-table="polymenudetails" data-field="x_zMenu" name="x_zMenu" id="x_zMenu" size="30" maxlength="255" placeholder="<%= polymenudetails.zMenu.PlaceHolder %>" value="<%= polymenudetails.zMenu.EditValue %>"<%= polymenudetails.zMenu.EditAttributes %>> </span> <%= polymenudetails.zMenu.CustomMsg %></div></div> </div> <% End If %> <% If polymenudetails.URL.Visible Then ' URL %> <div id="r_URL" class="form-group"> <label id="elh_polymenudetails_URL" for="x_URL" class="<%= polymenudetails.LeftColumnClass %>"><%= polymenudetails.URL.FldCaption %></label> <div class="<%= polymenudetails.RightColumnClass %>"><div<%= polymenudetails.URL.CellAttributes %>> <span id="el_polymenudetails_URL"> <input type="text" data-table="polymenudetails" data-field="x_URL" name="x_URL" id="x_URL" size="30" maxlength="255" placeholder="<%= polymenudetails.URL.PlaceHolder %>" value="<%= polymenudetails.URL.EditValue %>"<%= polymenudetails.URL.EditAttributes %>> </span> <%= polymenudetails.URL.CustomMsg %></div></div> </div> <% End If %> <% If polymenudetails.Parent_id.Visible Then ' Parent_id %> <div id="r_Parent_id" class="form-group"> <label id="elh_polymenudetails_Parent_id" for="x_Parent_id" class="<%= polymenudetails.LeftColumnClass %>"><%= polymenudetails.Parent_id.FldCaption %></label> <div class="<%= polymenudetails.RightColumnClass %>"><div<%= polymenudetails.Parent_id.CellAttributes %>> <span id="el_polymenudetails_Parent_id"> <input type="text" data-table="polymenudetails" data-field="x_Parent_id" name="x_Parent_id" id="x_Parent_id" size="30" placeholder="<%= polymenudetails.Parent_id.PlaceHolder %>" value="<%= polymenudetails.Parent_id.EditValue %>"<%= polymenudetails.Parent_id.EditAttributes %>> </span> <%= polymenudetails.Parent_id.CustomMsg %></div></div> </div> <% End If %> <% If polymenudetails.Sequence.Visible Then ' Sequence %> <div id="r_Sequence" class="form-group"> <label id="elh_polymenudetails_Sequence" for="x_Sequence" class="<%= polymenudetails.LeftColumnClass %>"><%= polymenudetails.Sequence.FldCaption %></label> <div class="<%= polymenudetails.RightColumnClass %>"><div<%= polymenudetails.Sequence.CellAttributes %>> <span id="el_polymenudetails_Sequence"> <input type="text" data-table="polymenudetails" data-field="x_Sequence" name="x_Sequence" id="x_Sequence" size="30" placeholder="<%= polymenudetails.Sequence.PlaceHolder %>" value="<%= polymenudetails.Sequence.EditValue %>"<%= polymenudetails.Sequence.EditAttributes %>> </span> <%= polymenudetails.Sequence.CustomMsg %></div></div> </div> <% End If %> </div><!-- /page* --> <% If Not polymenudetails_edit.IsModal Then %> <div class="form-group"><!-- buttons .form-group --> <div class="<%= polymenudetails.OffsetColumnClass %>"><!-- buttons offset --> <button class="btn btn-primary ewButton" name="btnAction" id="btnAction" type="submit"><%= Language.Phrase("SaveBtn") %></button> <button class="btn btn-default ewButton" name="btnCancel" id="btnCancel" type="button" data-href="<%= polymenudetails.ReturnUrl %>"><%= Language.Phrase("CancelBtn") %></button> </div><!-- /buttons offset --> </div><!-- /buttons .form-group --> <% End If %> </form> <script type="text/javascript"> fpolymenudetailsedit.Init(); </script> <% Call polymenudetails_edit.ShowPageFooter If EW_DEBUG_ENABLED Then Response.Write ew_DebugMsg() %> <script type="text/javascript"> // Write your table-specific startup script here // document.write("page loaded"); </script> <!--#include file="footer.asp"--> <% ' Clean up and drop page object Call polymenudetails_edit.Page_Terminate("") Set polymenudetails_edit = Nothing %> <% ' ' Page Class ' Class cpolymenudetails_edit ' Page ID Public Property Get PageID PageID = "edit" End Property ' Project ID Public Property Get ProjectID ProjectID = "panel" End Property ' Table Name Public Property Get TableName TableName = "polymenudetails" End Property ' Page Object Name Public Property Get PageObjName PageObjName = "polymenudetails_edit" End Property ' Field (ID) Public Property Get ID Set ID = polymenudetails.ID End Property ' Field (Menu) Public Property Get zMenu Set zMenu = polymenudetails.zMenu End Property ' Field (URL) Public Property Get URL Set URL = polymenudetails.URL End Property ' Field (Parent_id) Public Property Get Parent_id Set Parent_id = polymenudetails.Parent_id End Property ' Field (Sequence) Public Property Get Sequence Set Sequence = polymenudetails.Sequence End Property ' Get field object dictionary (ASP) Public Property Get Fields Set Fields = polymenudetails.Fields End Property ' Get field object by name (alias of Fields) (ASP) Public Function GetField(Name) Set GetField = Fields.Get(Name) End Function ' Get field object by parm (ASP) Public Function GetFieldByParm(Parm) Dim keys, key keys = Fields.Keys() For Each key In keys If Fields.Get(key).FldParm = Parm Then Set GetFieldByParm = Fields.Get(key) Exit Function End If Next Set GetFieldByParm = Nothing End Function ' Export document (ASP) Dim ExportDoc ' Page headings Dim Heading Dim Subheading ' Page heading Function PageHeading() PageHeading = "" If Heading <> "" Then PageHeading = Heading ElseIf ew_NotEmpty(polymenudetails) Then PageHeading = polymenudetails.TableCaption End If End Function ' Page subheading Function PageSubheading() If Subheading <> "" Then PageSubheading = Subheading Else PageSubheading = "" If TableName <> "" Then PageSubheading = Language.Phrase(PageID) End If End If End Function ' Page Name Public Property Get PageName PageName = ew_CurrentPage() End Property ' Page Url Public Property Get PageUrl PageUrl = ew_CurrentPage() & "?" If polymenudetails.UseTokenInUrl Then PageUrl = PageUrl & "t=" & polymenudetails.TableVar & "&" ' add page token End Property ' Message Public Property Get Message Message = Session(EW_SESSION_MESSAGE) End Property Public Property Let Message(v) Dim msg msg = Session(EW_SESSION_MESSAGE) Call ew_AddMessage(msg, v) Session(EW_SESSION_MESSAGE) = msg End Property Public Property Get FailureMessage FailureMessage = Session(EW_SESSION_FAILURE_MESSAGE) End Property Public Property Let FailureMessage(v) Dim msg msg = Session(EW_SESSION_FAILURE_MESSAGE) Call ew_AddMessage(msg, v) Session(EW_SESSION_FAILURE_MESSAGE) = msg End Property Public Property Get SuccessMessage SuccessMessage = Session(EW_SESSION_SUCCESS_MESSAGE) End Property Public Property Let SuccessMessage(v) Dim msg msg = Session(EW_SESSION_SUCCESS_MESSAGE) Call ew_AddMessage(msg, v) Session(EW_SESSION_SUCCESS_MESSAGE) = msg End Property Public Property Get WarningMessage WarningMessage = Session(EW_SESSION_WARNING_MESSAGE) End Property Public Property Let WarningMessage(v) Dim msg msg = Session(EW_SESSION_WARNING_MESSAGE) Call ew_AddMessage(msg, v) Session(EW_SESSION_WARNING_MESSAGE) = msg End Property ' Methods to clear message Public Sub ClearMessage() Session(EW_SESSION_MESSAGE) = "" End Sub Public Sub ClearFailureMessage() Session(EW_SESSION_FAILURE_MESSAGE) = "" End Sub Public Sub ClearSuccessMessage() Session(EW_SESSION_SUCCESS_MESSAGE) = "" End Sub Public Sub ClearWarningMessage() Session(EW_SESSION_WARNING_MESSAGE) = "" End Sub Public Sub ClearMessages() Session(EW_SESSION_MESSAGE) = "" Session(EW_SESSION_FAILURE_MESSAGE) = "" Session(EW_SESSION_SUCCESS_MESSAGE) = "" Session(EW_SESSION_WARNING_MESSAGE) = "" End Sub ' Show Message Public Sub ShowMessage() Dim hidden, html, sMessage hidden = False html = "" ' Message sMessage = Message Call Message_Showing(sMessage, "") If sMessage <> "" Then ' Message in Session, display If Not hidden Then sMessage = "<button type=""button"" class=""close"" data-dismiss=""alert"">×</button>" & sMessage html = html & "<div class=""alert alert-info ewInfo"">" & sMessage & "</div>" Session(EW_SESSION_MESSAGE) = "" ' Clear message in Session End If ' Warning message Dim sWarningMessage sWarningMessage = WarningMessage Call Message_Showing(sWarningMessage, "warning") If sWarningMessage <> "" Then ' Message in Session, display If Not hidden Then sWarningMessage = "<button type=""button"" class=""close"" data-dismiss=""alert"">×</button>" & sWarningMessage html = html & "<div class=""alert alert-warning ewWarning"">" & sWarningMessage & "</div>" Session(EW_SESSION_WARNING_MESSAGE) = "" ' Clear message in Session End If ' Success message Dim sSuccessMessage sSuccessMessage = SuccessMessage Call Message_Showing(sSuccessMessage, "success") If sSuccessMessage <> "" Then ' Message in Session, display If Not hidden Then sSuccessMessage = "<button type=""button"" class=""close"" data-dismiss=""alert"">×</button>" & sSuccessMessage html = html & "<div class=""alert alert-success ewSuccess"">" & sSuccessMessage & "</div>" Session(EW_SESSION_SUCCESS_MESSAGE) = "" ' Clear message in Session End If ' Failure message Dim sErrorMessage sErrorMessage = FailureMessage Call Message_Showing(sErrorMessage, "failure") If sErrorMessage <> "" Then ' Message in Session, display If Not hidden Then sErrorMessage = "<button type=""button"" class=""close"" data-dismiss=""alert"">×</button>" & sErrorMessage html = html & "<div class=""alert alert-danger ewError"">" & sErrorMessage & "</div>" Session(EW_SESSION_FAILURE_MESSAGE) = "" ' Clear message in Session End If Response.Write "<div class=""ewMessageDialog""" & ew_IIf(hidden, " style=""display: none;""", "") & ">" & html & "</div>" End Sub Dim PageHeader Dim PageFooter ' Show Page Header Public Sub ShowPageHeader() Dim sHeader sHeader = PageHeader Call Page_DataRendering(sHeader) If sHeader <> "" Then ' Header exists, display Response.Write "<p>" & sHeader & "</p>" End If End Sub ' Show Page Footer Public Sub ShowPageFooter() Dim sFooter sFooter = PageFooter Call Page_DataRendered(sFooter) If sFooter <> "" Then ' Footer exists, display Response.Write "<p>" & sFooter & "</p>" End If End Sub ' ' Validate Page request ' Public Function IsPageRequest() If polymenudetails.UseTokenInUrl Then IsPageRequest = False If ew_NotEmpty(ObjForm) Then IsPageRequest = (polymenudetails.TableVar = ObjForm.GetValue("t")) End If If Request.QueryString("t").Count > 0 Then IsPageRequest = (polymenudetails.TableVar = Request.QueryString("t")) End If Else IsPageRequest = True End If End Function Dim Token Dim CheckToken Dim TokenTimeout ' Valid Post Function ValidPost() If Not CheckToken Or Not ew_IsPost() Then ValidPost = True Exit Function End If If Request.Form(EW_TOKEN_NAME).Count = 0 Then ValidPost = False Exit Function End If ValidPost = ew_CheckToken(Request.Form(EW_TOKEN_NAME),TokenTimeout) End Function ' Create Token Sub CreateToken() If CheckToken And Token = "" Then Token = ew_CreateToken() gsToken = Token ' Save to global variable End If End Sub ' ' Class initialize ' Private Sub Class_Initialize() Session.LCID = 1033 ' Always use US locale id If IsEmpty(StartTimer) Then StartTimer = Timer ' Init start time ' Check Token Token = "" CheckToken = EW_CHECK_TOKEN TokenTimeout = 0 TokenTimeout = ew_SessionTimeoutTime() ' Initialize language object If IsEmpty(Language) Then Set Language = New cLanguage Call Language.LoadPhrases End If ' Initialize table object If IsEmpty(polymenudetails) Then Set polymenudetails = New cpolymenudetails Set Table = polymenudetails ' Initialize URLs ' Initialize form object Set ObjForm = Nothing ' Get resize object Call ew_GetResizeObj ' Intialize page id (for backward compatibility) EW_PAGE_ID = "edit" ' Initialize table name (for backward compatibility) EW_TABLE_NAME = "polymenudetails" ' Debug message Call ew_LoadDebugMsg ' Open connection to the database If IsEmpty(Conn) Then Set Conn = ew_Connect(polymenudetails.TableDBID) End If End Sub ' ' Page_Init ' Sub Page_Init() ' Is modal IsModal = (Request.QueryString("modal") = "1" Or Request.Form("modal") = "1") ' User profile Set UserProfile = New cUserProfile ' Security Set Security = New cAdvancedSecurity If Not Security.IsLoggedIn() Then Security.AutoLogin() Call Security.LoadCurrentUserLevel(ProjectID & TableName) If Not Security.CanEdit Then Call Security.SaveLastUrl If Security.CanList Then Call Page_Terminate(ew_GetUrl("polymenudetailslist.asp")) Else Call Page_Terminate(ew_GetUrl("login.asp")) End If End If ' Create form object Set ObjForm = New cFormObj polymenudetails.CurrentAction = ew_IIf(Request.QueryString("a").Count > 0, Request.QueryString("a") & "", ObjForm.GetValue("a_list") & "") ' Set up current action Call polymenudetails.ID.SetVisibility(polymenudetails) If polymenudetails.IsAdd() Or polymenudetails.IsCopy() Or polymenudetails.IsGridAdd() Then polymenudetails.ID.Visible = False End If Call polymenudetails.zMenu.SetVisibility(polymenudetails) Call polymenudetails.URL.SetVisibility(polymenudetails) Call polymenudetails.Parent_id.SetVisibility(polymenudetails) Call polymenudetails.Sequence.SetVisibility(polymenudetails) ' Global page loading event (in userfn*.asp) Call Page_Loading ' Page load event, used in current page Call Page_Load ' Check token If Not ValidPost() Then Response.Write Language.Phrase("InvalidPostRequest") Call Page_Terminate("") Response.End End If ' Process auto fill Dim results If Request.Form("ajax") = "autofill" Then results = polymenudetails.GetAutoFill(Request.Form("name"), Request.Form("q")) If results <> "" Then ' Clean output buffer If Response.Buffer Then Response.Clear Response.Write results Call Page_Terminate("") Response.End End If End If ' Create Token Call CreateToken End Sub ' ' Page_Terminate ' Sub Page_Terminate(url) If Request.Form("customexport")&"" = "" Then ' Page unload event, used in current page Call Page_Unload ' Global page unloaded event (in userfn*.asp) Call Page_Unloaded End If ' Export If ew_NotEmpty(polymenudetails) Then If polymenudetails.Export <> "" And Request.Form("data").Count > 0 Then Dim sContent sContent = Request.Form("data") gsExportFile = Request.Form("filename") If gsExportFile = "" Then gsExportFile = polymenudetails.TableVar If polymenudetails.Export = "pdf" Then Call ExportPdf(sContent) ElseIf polymenudetails.Export = "email" Then Response.Write ExportEmail(sContent) ElseIf polymenudetails.Export = "excel" Then Call ExportExcel(sContent) ElseIf polymenudetails.Export = "word" Then Call ExportWord(sContent) End If End If End If Dim sRedirectUrl sRedirectUrl = url Call Page_Redirecting(sRedirectUrl) Call ew_CloseConn ' Close Connection Set Security = Nothing Set ObjForm = Nothing Set gResizeObj = Nothing ' Go to URL if specified If gsExport & "" = "" Then If sRedirectUrl <> "" Then If Response.Buffer Then Response.Clear ' Handle modal response If IsModal Then ' Show as modal Dim row, pageName Set row = Dictionary() Call row.Add("url", sRedirectURL) Call row.Add("modal", "1") pageName = ew_GetPageName(sRedirectURL) If pageName <> polymenudetails.ListUrl Then ' Not List page Call row.Add("caption", polymenudetails.GetModalCaption(pageName)) If pageName = "polymenudetailsview.asp" Then Call row.Add("view", "1") End If Else 'List page should not be shown as modal => error Call row.Add("error", FailureMessage) Call ClearFailureMessage End If Call ResponseJson Response.Write "[" & row.ToJson() & "]" Set row = Nothing Response.End Else Call ew_SaveDebugMsg Response.Redirect sRedirectUrl End If End If End If Set polymenudetails = Nothing Call ew_CleanUp End Sub ' ' Page_Terminate (End) ' Dim DbMasterFilter, DbDetailFilter Dim FormClassName Dim IsModal Dim IsMobileOrModal Dim DisplayRecs Dim StartRec, StopRec, TotalRecs, RecRange Dim AutoHidePager Dim RecCnt Dim Recordset ' ' Page main ' Sub Page_Main() Dim sReturnUrl sReturnUrl = "" ' Check modal If IsModal Then gbSkipHeaderFooter = True IsMobileOrModal = False IsMobileOrModal = ew_IsMobile() Or IsModal FormClassName = "ewForm ewEditForm form-horizontal" Dim loaded, postBack sReturnUrl = "" loaded = False postBack = False ' Set up current action and primary key If ObjForm.GetValue("a_edit")&"" <> "" Then polymenudetails.CurrentAction = ObjForm.GetValue("a_edit")&"" ' Get action code If polymenudetails.CurrentAction <> "I" Then ' Not reload record, handle as postback postBack = True End If ' Load key from Form If ObjForm.HasValue("x_ID") Then polymenudetails.ID.FormValue = ObjForm.GetValue("x_ID") End If Else polymenudetails.CurrentAction = "I" ' Default action is display ' Load key from QueryString Dim loadByQuery loadByQuery = False If Request.QueryString("ID").Count > 0 Then polymenudetails.ID.QueryStringValue = Request.QueryString("ID") loadByQuery = True Else polymenudetails.ID.CurrentValue = Null End If End If ' Load current record loaded = LoadRow() ' Process form if post back If postBack Then Call LoadFormValues ' Get form values End If ' Validate form if post back If postBack Then If Not ValidateForm() Then polymenudetails.CurrentAction = "" ' Form error, reset action FailureMessage = gsFormError polymenudetails.EventCancelled = True ' Event cancelled LoadRow() ' Restore row Call RestoreFormValues ' Restore form values if validate failed End If End If ' Perform current action Select Case polymenudetails.CurrentAction Case "I" ' Get a record to display If Not loaded Then ' Load Record based on key If FailureMessage = "" Then FailureMessage = Language.Phrase("NoRecord") ' No record found Call Page_Terminate("polymenudetailslist.asp") ' No matching record, return to list End If Case "U" ' Update sReturnUrl = polymenudetails.ReturnUrl If ew_GetPageName(sReturnUrl) = "polymenudetailslist.asp" Then sReturnUrl = polymenudetails.AddMasterUrl(sReturnUrl) ' List page, return to List page with correct master key if necessary End If polymenudetails.SendEmail = True ' Send email on update success If EditRow() Then ' Update Record based on key If SuccessMessage = "" Then SuccessMessage = Language.Phrase("UpdateSuccess") ' Update success End If Call Page_Terminate(sReturnUrl) ' Return to caller ElseIf FailureMessage = Language.Phrase("NoRecord") Then Call Page_Terminate(sReturnUrl) ' Return to caller Else polymenudetails.EventCancelled = True ' Event cancelled LoadRow() ' Restore row Call RestoreFormValues ' Restore form values if update failed End If End Select ' Render the record polymenudetails.RowType = EW_ROWTYPE_EDIT ' Render as edit ' Set up Breadcrumb Call SetupBreadcrumb ' Render row Call polymenudetails.ResetAttrs Call RenderRow End Sub Dim Pager ' ' Set up Starting Record parameters based on Pager Navigation ' Sub SetupStartRec() Dim PageNo ' Exit if DisplayRecs = 0 If DisplayRecs = 0 Then Exit Sub If IsPageRequest Then ' Validate request ' Check for a START parameter If Request.QueryString(EW_TABLE_START_REC).Count > 0 Then StartRec = Request.QueryString(EW_TABLE_START_REC) polymenudetails.StartRecordNumber = StartRec ElseIf Request.QueryString(EW_TABLE_PAGE_NO).Count > 0 Then PageNo = Request.QueryString(EW_TABLE_PAGE_NO) If IsNumeric(PageNo) Then StartRec = (PageNo-1)*DisplayRecs+1 If StartRec <= 0 Then StartRec = 1 ElseIf StartRec >= ((TotalRecs-1)\DisplayRecs)*DisplayRecs+1 Then StartRec = ((TotalRecs-1)\DisplayRecs)*DisplayRecs+1 End If polymenudetails.StartRecordNumber = StartRec End If End If End If StartRec = polymenudetails.StartRecordNumber ' Check if correct start record counter If Not IsNumeric(StartRec) Or StartRec = "" Then ' Avoid invalid start record counter StartRec = 1 ' Reset start record counter polymenudetails.StartRecordNumber = StartRec ElseIf CLng(StartRec) > CLng(TotalRecs) Then ' Avoid starting record > total records StartRec = ((TotalRecs-1)\DisplayRecs)*DisplayRecs+1 ' Point to last page first record polymenudetails.StartRecordNumber = StartRec ElseIf (StartRec-1) Mod DisplayRecs <> 0 Then StartRec = ((StartRec-1)\DisplayRecs)*DisplayRecs+1 ' Point to page boundary polymenudetails.StartRecordNumber = StartRec End If End Sub ' ' Get upload files ' Sub GetUploadFiles() ' Get upload data End Sub ' ' Load form values ' Sub LoadFormValues() ' Load values from form If Not polymenudetails.ID.FldIsDetailKey Then polymenudetails.ID.FormValue = ObjForm.GetValue("x_ID") If Not polymenudetails.zMenu.FldIsDetailKey Then polymenudetails.zMenu.FormValue = ObjForm.GetValue("x_zMenu") If Not polymenudetails.URL.FldIsDetailKey Then polymenudetails.URL.FormValue = ObjForm.GetValue("x_URL") If Not polymenudetails.Parent_id.FldIsDetailKey Then polymenudetails.Parent_id.FormValue = ObjForm.GetValue("x_Parent_id") If Not polymenudetails.Sequence.FldIsDetailKey Then polymenudetails.Sequence.FormValue = ObjForm.GetValue("x_Sequence") End Sub ' ' Restore form values ' Sub RestoreFormValues() polymenudetails.ID.CurrentValue = polymenudetails.ID.FormValue polymenudetails.zMenu.CurrentValue = polymenudetails.zMenu.FormValue polymenudetails.URL.CurrentValue = polymenudetails.URL.FormValue polymenudetails.Parent_id.CurrentValue = polymenudetails.Parent_id.FormValue polymenudetails.Sequence.CurrentValue = polymenudetails.Sequence.FormValue End Sub ' ' Load row based on key values ' Function LoadRow() Dim RsRow, sSql, sFilter sFilter = polymenudetails.KeyFilter ' Call Row Selecting event Call polymenudetails.Row_Selecting(sFilter) ' Load SQL based on filter polymenudetails.CurrentFilter = sFilter sSql = polymenudetails.SQL Call ew_SetDebugMsg("LoadRow: " & sSql) ' Show SQL for debugging Set RsRow = ew_LoadRowByDbid(sSql, polymenudetails.TableDBID) If RsRow.EOF Then LoadRow = False Else LoadRow = True RsRow.MoveFirst Call LoadRowValues(RsRow) ' Load row values End If RsRow.Close Set RsRow = Nothing End Function ' ' Load row values from recordset ' Sub LoadRowValues(RsRow) Dim sDetailFilter If Not EW_DEBUG_ENABLED Then On Error Resume Next If IsNull(RsRow) Then Set RsRow = NewRow() End If ' Call Row Selected event Call polymenudetails.Row_Selected(RsRow) If ew_Empty(RsRow) Then Exit Sub If RsRow.EOF Then Exit Sub polymenudetails.ID.DbValue = RsRow("ID") polymenudetails.zMenu.DbValue = RsRow("Menu") polymenudetails.URL.DbValue = RsRow("URL") polymenudetails.Parent_id.DbValue = RsRow("Parent_id") polymenudetails.Sequence.DbValue = RsRow("Sequence") End Sub ' Return a row with default values Function NewRow Dim cnn, rs, sSql, sFilter ' Clear any previous errors Err.Clear Set cnn = polymenudetails.TableConnection sFilter = polymenudetails.CurrentFilter polymenudetails.CurrentFilter = "(0 = 1)" sSql = polymenudetails.SQL polymenudetails.CurrentFilter = sFilter Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 3 ' adUseClient Call ew_SetDebugMsg("NewRow: " & sSql) ' Show SQL for debugging rs.Open sSql, cnn, 3, 4 ' adOpenStatic, adLockBatchOptimistic ' Disconnect the Recordset Set rs.ActiveConnection = Nothing ' Add new record rs.AddNew rs("Menu") = Null rs("URL") = Null rs("Parent_id") = Null rs("Sequence") = Null ' Return the recordset If Err.Number = 0 Then Set NewRow = rs Else Set NewRow = Nothing End If End Function ' Load DbValue from recordset Sub LoadDbValues(Rs) If Not EW_DEBUG_ENABLED Then On Error Resume Next If ew_Empty(Rs) Then Exit Sub If Rs.EOF Then Exit Sub polymenudetails.ID.m_DbValue = Rs("ID") polymenudetails.zMenu.m_DbValue = Rs("Menu") polymenudetails.URL.m_DbValue = Rs("URL") polymenudetails.Parent_id.m_DbValue = Rs("Parent_id") polymenudetails.Sequence.m_DbValue = Rs("Sequence") End Sub ' Load old record Function LoadOldRecord() ' Load key values from Session Dim bValidKey bValidKey = True If polymenudetails.GetKey("ID")&"" <> "" Then polymenudetails.ID.CurrentValue = polymenudetails.GetKey("ID") ' ID Else bValidKey = False End If ' Load old record OldRecordset = Null If bValidKey Then polymenudetails.CurrentFilter = polymenudetails.KeyFilter Dim sSql sSql = polymenudetails.SQL Set OldRecordset = ew_LoadRecordsetByDbid(sSql, polymenudetails.TableDBID) End If Call LoadRowValues(OldRecordset) ' Load row values LoadOldRecord = bValidKey End Function ' ' Render row values based on field settings ' Sub RenderRow() ' Initialize URLs ' Call Row Rendering event Call polymenudetails.Row_Rendering ' ' Common render codes for all row types ' ' ID ' Menu ' URL ' Parent_id ' Sequence ' ' View Row ' If polymenudetails.RowType = EW_ROWTYPE_VIEW Then ' View row ' ID polymenudetails.ID.ViewValue = polymenudetails.ID.CurrentValue polymenudetails.ID.ViewCustomAttributes = "" ' Menu polymenudetails.zMenu.ViewValue = polymenudetails.zMenu.CurrentValue polymenudetails.zMenu.ViewCustomAttributes = "" ' URL polymenudetails.URL.ViewValue = polymenudetails.URL.CurrentValue polymenudetails.URL.ViewCustomAttributes = "" ' Parent_id polymenudetails.Parent_id.ViewValue = polymenudetails.Parent_id.CurrentValue polymenudetails.Parent_id.ViewCustomAttributes = "" ' Sequence polymenudetails.Sequence.ViewValue = polymenudetails.Sequence.CurrentValue polymenudetails.Sequence.ViewCustomAttributes = "" ' View refer script ' ID polymenudetails.ID.LinkCustomAttributes = "" polymenudetails.ID.HrefValue = "" polymenudetails.ID.TooltipValue = "" ' Menu polymenudetails.zMenu.LinkCustomAttributes = "" polymenudetails.zMenu.HrefValue = "" polymenudetails.zMenu.TooltipValue = "" ' URL polymenudetails.URL.LinkCustomAttributes = "" polymenudetails.URL.HrefValue = "" polymenudetails.URL.TooltipValue = "" ' Parent_id polymenudetails.Parent_id.LinkCustomAttributes = "" polymenudetails.Parent_id.HrefValue = "" polymenudetails.Parent_id.TooltipValue = "" ' Sequence polymenudetails.Sequence.LinkCustomAttributes = "" polymenudetails.Sequence.HrefValue = "" polymenudetails.Sequence.TooltipValue = "" ' ' Edit Row ' ElseIf polymenudetails.RowType = EW_ROWTYPE_EDIT Then ' Edit row ' ID Call polymenudetails.ID.EditAttrs.UpdateAttribute("class", "form-control") polymenudetails.ID.EditCustomAttributes = "" polymenudetails.ID.EditValue = polymenudetails.ID.CurrentValue polymenudetails.ID.ViewCustomAttributes = "" ' Menu Call polymenudetails.zMenu.EditAttrs.UpdateAttribute("class", "form-control") polymenudetails.zMenu.EditCustomAttributes = "" polymenudetails.zMenu.EditValue = ew_HtmlEncode(polymenudetails.zMenu.CurrentValue) polymenudetails.zMenu.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(polymenudetails.zMenu.FldCaption)) ' URL Call polymenudetails.URL.EditAttrs.UpdateAttribute("class", "form-control") polymenudetails.URL.EditCustomAttributes = "" polymenudetails.URL.EditValue = ew_HtmlEncode(polymenudetails.URL.CurrentValue) polymenudetails.URL.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(polymenudetails.URL.FldCaption)) ' Parent_id Call polymenudetails.Parent_id.EditAttrs.UpdateAttribute("class", "form-control") polymenudetails.Parent_id.EditCustomAttributes = "" polymenudetails.Parent_id.EditValue = ew_HtmlEncode(polymenudetails.Parent_id.CurrentValue) polymenudetails.Parent_id.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(polymenudetails.Parent_id.FldCaption)) ' Sequence Call polymenudetails.Sequence.EditAttrs.UpdateAttribute("class", "form-control") polymenudetails.Sequence.EditCustomAttributes = "" polymenudetails.Sequence.EditValue = ew_HtmlEncode(polymenudetails.Sequence.CurrentValue) polymenudetails.Sequence.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(polymenudetails.Sequence.FldCaption)) ' Edit refer script ' ID polymenudetails.ID.LinkCustomAttributes = "" polymenudetails.ID.HrefValue = "" ' Menu polymenudetails.zMenu.LinkCustomAttributes = "" polymenudetails.zMenu.HrefValue = "" ' URL polymenudetails.URL.LinkCustomAttributes = "" polymenudetails.URL.HrefValue = "" ' Parent_id polymenudetails.Parent_id.LinkCustomAttributes = "" polymenudetails.Parent_id.HrefValue = "" ' Sequence polymenudetails.Sequence.LinkCustomAttributes = "" polymenudetails.Sequence.HrefValue = "" End If If polymenudetails.RowType = EW_ROWTYPE_ADD Or polymenudetails.RowType = EW_ROWTYPE_EDIT Or polymenudetails.RowType = EW_ROWTYPE_SEARCH Then ' Add/Edit/Search row Call polymenudetails.SetupFieldTitles End If ' Call Row Rendered event If polymenudetails.RowType <> EW_ROWTYPE_AGGREGATEINIT Then Call polymenudetails.Row_Rendered End If 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 polymenudetails.zMenu.FldIsDetailKey And Not IsNull(polymenudetails.zMenu.FormValue) And polymenudetails.zMenu.FormValue&"" = "" Then Call ew_AddMessage(gsFormError, Replace(polymenudetails.zMenu.ReqErrMsg, "%s", polymenudetails.zMenu.FldCaption)) End If If Not ew_CheckInteger(polymenudetails.Parent_id.FormValue) Then Call ew_AddMessage(gsFormError, polymenudetails.Parent_id.FldErrMsg) End If If Not ew_CheckInteger(polymenudetails.Sequence.FormValue) Then Call ew_AddMessage(gsFormError, polymenudetails.Sequence.FldErrMsg) End If ' Return validate result ValidateForm = (gsFormError = "") ' Call Form Custom Validate event Dim sFormCustomError sFormCustomError = "" ValidateForm = ValidateForm And Form_CustomValidate(sFormCustomError) If sFormCustomError <> "" Then Call ew_AddMessage(gsFormError, sFormCustomError) End If End Function ' ' Update record based on key values ' Function EditRow() If Not EW_DEBUG_ENABLED Then On Error Resume Next Dim cnn, Rs, sSql, sFilter Dim RsChk, sSqlChk, sFilterChk Dim bUpdateRow Dim RsOld, RsNew Dim sIdxErrMsg ' Clear any previous errors Err.Clear sFilter = polymenudetails.KeyFilter Set cnn = polymenudetails.TableConnection polymenudetails.CurrentFilter = sFilter sSql = polymenudetails.UpdateTableSQL Set Rs = Server.CreateObject("ADODB.Recordset") Rs.CursorLocation = polymenudetails.TableCursorLocation Call ew_SetDebugMsg("EditRow: " & sSql) ' Show SQL for debugging Rs.Open sSql, cnn, 1, polymenudetails.TableRecordsetLockType If Err.Number <> 0 Then Message = Err.Description Rs.Close Set Rs = Nothing EditRow = False Exit Function End If ' Clone old recordset object Set RsOld = ew_CloneRs(Rs) Call LoadDbValues(RsOld) If Rs.EOF Then FailureMessage = Language.Phrase("NoRecord") ' Set no record message EditRow = False ' Update Failed Else ' Field Menu Call polymenudetails.zMenu.SetDbValue(Rs, polymenudetails.zMenu.CurrentValue, Null, polymenudetails.zMenu.ReadOnly) ' Field URL Call polymenudetails.URL.SetDbValue(Rs, polymenudetails.URL.CurrentValue, Null, polymenudetails.URL.ReadOnly) ' Field Parent_id Call polymenudetails.Parent_id.SetDbValue(Rs, polymenudetails.Parent_id.CurrentValue, Null, polymenudetails.Parent_id.ReadOnly) ' Field Sequence Call polymenudetails.Sequence.SetDbValue(Rs, polymenudetails.Sequence.CurrentValue, Null, polymenudetails.Sequence.ReadOnly) ' Check recordset update error If Err.Number <> 0 Then FailureMessage = Err.Description Rs.Close Set Rs = Nothing EditRow = False Exit Function End If ' Call Row Updating event bUpdateRow = polymenudetails.Row_Updating(RsOld, Rs) If bUpdateRow Then ' Clone new recordset object Set RsNew = ew_CloneRs(Rs) EditRow = True If EditRow Then Call ew_SetDebugMsg("Update: " & ew_HtmlEncode(ew_RecordToJson(Rs))) ' Show data for debugging Rs.Update End If If Err.Number <> 0 Or Not EditRow Then If Err.Description <> "" Then FailureMessage = Err.Description EditRow = False Else EditRow = True End If If EditRow Then End If Else Rs.CancelUpdate ' Set up error message If SuccessMessage <> "" Or FailureMessage <> "" Then ' Use the message, do nothing ElseIf polymenudetails.CancelMessage <> "" Then FailureMessage = polymenudetails.CancelMessage polymenudetails.CancelMessage = "" Else FailureMessage = Language.Phrase("UpdateCancelled") End If EditRow = False End If End If ' Call Row_Updated event If EditRow Then Call polymenudetails.Row_Updated(RsOld, RsNew) End If Rs.Close Set Rs = Nothing If ew_NotEmpty(RsOld) Then RsOld.Close Set RsOld = Nothing End If If ew_NotEmpty(RsNew) Then RsNew.Close Set RsNew = Nothing End If End Function ' Set up Breadcrumb Sub SetupBreadcrumb() Dim PageId, url Set Breadcrumb = New cBreadcrumb url = Mid(ew_CurrentUrl(), InStrRev(ew_CurrentUrl(), "/") + 1) Call Breadcrumb.Add("list", polymenudetails.TableVar, polymenudetails.AddMasterUrl("polymenudetailslist.asp"), "", polymenudetails.TableVar, True) PageId = "edit" Call Breadcrumb.Add("edit", PageId, url, "", "", False) End Sub ' Setup lookup filters of a field Sub SetupLookupFilters(fld, pageId) pageId = ew_IIf(ew_EmptyStr(pageId), polymenudetails_edit.PageID, pageId) Select Case fld.FldVar End Select End Sub ' Setup AutoSuggest filters of a field Sub SetupAutoSuggestFilters(fld, pageId) pageId = ew_IIF(ew_EmptyStr(pageId), polymenudetails_edit.PageID, pageId) Select Case fld.FldVar End Select End Sub ' Page Load event Sub Page_Load() 'Response.Write "Page Load" End Sub ' Page Unload event Sub Page_Unload() 'Response.Write "Page Unload" End Sub ' Page Redirecting event Sub Page_Redirecting(url) 'url = newurl End Sub ' Message Showing event ' typ = ""|"success"|"failure"|"warning" Sub Message_Showing(msg, typ) ' Example: 'If typ = "success" Then ' msg = "your success message" 'ElseIf typ = "failure" Then ' msg = "your failure message" 'ElseIf typ = "warning" Then ' msg = "your warning message" 'Else ' msg = "your message" 'End If End Sub ' Page Render event Sub Page_Render() 'Response.Write "Page Render" End Sub ' Page Data Rendering event Sub Page_DataRendering(header) ' Example: 'header = "your header" End Sub ' Page Data Rendered event Sub Page_DataRendered(footer) ' Example: 'footer = "your footer" End Sub ' Form Custom Validate event Function Form_CustomValidate(CustomError) 'Return error message in CustomError Form_CustomValidate = True End Function End Class %>