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="Hmenudetailsinfo.asp"--> <!--#include file="aspfn.asp"--> <!--#include file="userfn.asp"--> <% Call ew_Header(False, EW_CHARSET, False) %> <% ' Define page object Dim Hmenudetails_add Set Hmenudetails_add = New cHmenudetails_add Set Page = Hmenudetails_add ' Page init processing Call Hmenudetails_add.Page_Init ' Page main Call Hmenudetails_add.Page_Main ' Global Page Rendering event (in userfn*.asp) Page_Rendering() ' Page Render event Hmenudetails_add.Page_Render() %> <!--#include file="header.asp"--> <script type="text/javascript"> // Form object var CurrentPageID = EW_PAGE_ID = "add"; var CurrentForm = fHmenudetailsadd = new ew_Form("fHmenudetailsadd", "add"); // Validate form fHmenudetailsadd.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(Hmenudetails.zMenu.ReqErrMsg, "%s", Hmenudetails.zMenu.FldCaption)) %>"); elm = this.GetElements("x" + infix + "_Parent_id"); if (elm && !ew_CheckInteger(elm.value)) return this.OnError(elm, "<%= ew_JsEncode2(Hmenudetails.Parent_id.FldErrMsg) %>"); elm = this.GetElements("x" + infix + "_Sequence"); if (elm && !ew_CheckInteger(elm.value)) return this.OnError(elm, "<%= ew_JsEncode2(Hmenudetails.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 fHmenudetailsadd.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 %> fHmenudetailsadd.ValidateRequired = true; // Use JavaScript validation <% Else %> fHmenudetailsadd.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 Hmenudetails_add.ShowPageHeader %> <% Call Hmenudetails_add.ShowMessage %> <form name="fHmenudetailsadd" id="fHmenudetailsadd" class="<%= Hmenudetails_add.FormClassName %>" action="<%= ew_CurrentPage() %>" method="post"> <% If Hmenudetails_add.CheckToken Then %> <input type="hidden" name="<%= EW_TOKEN_NAME %>" value="<%= Hmenudetails_add.Token %>"> <% End If %> <input type="hidden" name="t" value="Hmenudetails"> <input type="hidden" name="a_add" id="a_add" value="A"> <input type="hidden" name="modal" value="<%= ew_IIf(Hmenudetails_add.IsModal, "1", "0") %>"> <div class="ewAddDiv"><!-- page* --> <% If Hmenudetails.zMenu.Visible Then ' Menu %> <div id="r_zMenu" class="form-group"> <label id="elh_Hmenudetails_zMenu" for="x_zMenu" class="<%= Hmenudetails.LeftColumnClass %>"><%= Hmenudetails.zMenu.FldCaption %><%= Language.Phrase("FieldRequiredIndicator") %></label> <div class="<%= Hmenudetails.RightColumnClass %>"><div<%= Hmenudetails.zMenu.CellAttributes %>> <span id="el_Hmenudetails_zMenu"> <input type="text" data-table="Hmenudetails" data-field="x_zMenu" name="x_zMenu" id="x_zMenu" size="30" maxlength="255" placeholder="<%= Hmenudetails.zMenu.PlaceHolder %>" value="<%= Hmenudetails.zMenu.EditValue %>"<%= Hmenudetails.zMenu.EditAttributes %>> </span> <%= Hmenudetails.zMenu.CustomMsg %></div></div> </div> <% End If %> <% If Hmenudetails.URL.Visible Then ' URL %> <div id="r_URL" class="form-group"> <label id="elh_Hmenudetails_URL" for="x_URL" class="<%= Hmenudetails.LeftColumnClass %>"><%= Hmenudetails.URL.FldCaption %></label> <div class="<%= Hmenudetails.RightColumnClass %>"><div<%= Hmenudetails.URL.CellAttributes %>> <span id="el_Hmenudetails_URL"> <input type="text" data-table="Hmenudetails" data-field="x_URL" name="x_URL" id="x_URL" size="30" maxlength="255" placeholder="<%= Hmenudetails.URL.PlaceHolder %>" value="<%= Hmenudetails.URL.EditValue %>"<%= Hmenudetails.URL.EditAttributes %>> </span> <%= Hmenudetails.URL.CustomMsg %></div></div> </div> <% End If %> <% If Hmenudetails.Parent_id.Visible Then ' Parent_id %> <div id="r_Parent_id" class="form-group"> <label id="elh_Hmenudetails_Parent_id" for="x_Parent_id" class="<%= Hmenudetails.LeftColumnClass %>"><%= Hmenudetails.Parent_id.FldCaption %></label> <div class="<%= Hmenudetails.RightColumnClass %>"><div<%= Hmenudetails.Parent_id.CellAttributes %>> <span id="el_Hmenudetails_Parent_id"> <input type="text" data-table="Hmenudetails" data-field="x_Parent_id" name="x_Parent_id" id="x_Parent_id" size="30" placeholder="<%= Hmenudetails.Parent_id.PlaceHolder %>" value="<%= Hmenudetails.Parent_id.EditValue %>"<%= Hmenudetails.Parent_id.EditAttributes %>> </span> <%= Hmenudetails.Parent_id.CustomMsg %></div></div> </div> <% End If %> <% If Hmenudetails.Sequence.Visible Then ' Sequence %> <div id="r_Sequence" class="form-group"> <label id="elh_Hmenudetails_Sequence" for="x_Sequence" class="<%= Hmenudetails.LeftColumnClass %>"><%= Hmenudetails.Sequence.FldCaption %></label> <div class="<%= Hmenudetails.RightColumnClass %>"><div<%= Hmenudetails.Sequence.CellAttributes %>> <span id="el_Hmenudetails_Sequence"> <input type="text" data-table="Hmenudetails" data-field="x_Sequence" name="x_Sequence" id="x_Sequence" size="30" placeholder="<%= Hmenudetails.Sequence.PlaceHolder %>" value="<%= Hmenudetails.Sequence.EditValue %>"<%= Hmenudetails.Sequence.EditAttributes %>> </span> <%= Hmenudetails.Sequence.CustomMsg %></div></div> </div> <% End If %> </div><!-- /page* --> <% If Not Hmenudetails_add.IsModal Then %> <div class="form-group"><!-- buttons .form-group --> <div class="<%= Hmenudetails.OffsetColumnClass %>"><!-- buttons offset --> <button class="btn btn-primary ewButton" name="btnAction" id="btnAction" type="submit"><%= Language.Phrase("AddBtn") %></button> <button class="btn btn-default ewButton" name="btnCancel" id="btnCancel" type="button" data-href="<%= Hmenudetails.ReturnUrl %>"><%= Language.Phrase("CancelBtn") %></button> </div><!-- /buttons offset --> </div><!-- /buttons .form-group --> <% End If %> </form> <script type="text/javascript"> fHmenudetailsadd.Init(); </script> <% Call Hmenudetails_add.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 Hmenudetails_add.Page_Terminate("") Set Hmenudetails_add = Nothing %> <% ' ' Page Class ' Class cHmenudetails_add ' Page ID Public Property Get PageID PageID = "add" End Property ' Project ID Public Property Get ProjectID ProjectID = "panel" End Property ' Table Name Public Property Get TableName TableName = "Hmenudetails" End Property ' Page Object Name Public Property Get PageObjName PageObjName = "Hmenudetails_add" End Property ' Field (ID) Public Property Get ID Set ID = Hmenudetails.ID End Property ' Field (Menu) Public Property Get zMenu Set zMenu = Hmenudetails.zMenu End Property ' Field (URL) Public Property Get URL Set URL = Hmenudetails.URL End Property ' Field (Parent_id) Public Property Get Parent_id Set Parent_id = Hmenudetails.Parent_id End Property ' Field (Sequence) Public Property Get Sequence Set Sequence = Hmenudetails.Sequence End Property ' Get field object dictionary (ASP) Public Property Get Fields Set Fields = Hmenudetails.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(Hmenudetails) Then PageHeading = Hmenudetails.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 Hmenudetails.UseTokenInUrl Then PageUrl = PageUrl & "t=" & Hmenudetails.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 Hmenudetails.UseTokenInUrl Then IsPageRequest = False If ew_NotEmpty(ObjForm) Then IsPageRequest = (Hmenudetails.TableVar = ObjForm.GetValue("t")) End If If Request.QueryString("t").Count > 0 Then IsPageRequest = (Hmenudetails.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(Hmenudetails) Then Set Hmenudetails = New cHmenudetails Set Table = Hmenudetails ' Initialize URLs ' Initialize form object Set ObjForm = Nothing ' Get resize object Call ew_GetResizeObj ' Intialize page id (for backward compatibility) EW_PAGE_ID = "add" ' Initialize table name (for backward compatibility) EW_TABLE_NAME = "Hmenudetails" ' Debug message Call ew_LoadDebugMsg ' Open connection to the database If IsEmpty(Conn) Then Set Conn = ew_Connect(Hmenudetails.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.CanAdd Then Call Security.SaveLastUrl If Security.CanList Then Call Page_Terminate(ew_GetUrl("Hmenudetailslist.asp")) Else Call Page_Terminate(ew_GetUrl("login.asp")) End If End If ' Create form object Set ObjForm = New cFormObj Hmenudetails.CurrentAction = ew_IIf(Request.QueryString("a").Count > 0, Request.QueryString("a") & "", ObjForm.GetValue("a_list") & "") ' Set up current action Call Hmenudetails.zMenu.SetVisibility(Hmenudetails) Call Hmenudetails.URL.SetVisibility(Hmenudetails) Call Hmenudetails.Parent_id.SetVisibility(Hmenudetails) Call Hmenudetails.Sequence.SetVisibility(Hmenudetails) ' 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 = Hmenudetails.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(Hmenudetails) Then If Hmenudetails.Export <> "" And Request.Form("data").Count > 0 Then Dim sContent sContent = Request.Form("data") gsExportFile = Request.Form("filename") If gsExportFile = "" Then gsExportFile = Hmenudetails.TableVar If Hmenudetails.Export = "pdf" Then Call ExportPdf(sContent) ElseIf Hmenudetails.Export = "email" Then Response.Write ExportEmail(sContent) ElseIf Hmenudetails.Export = "excel" Then Call ExportExcel(sContent) ElseIf Hmenudetails.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 <> Hmenudetails.ListUrl Then ' Not List page Call row.Add("caption", Hmenudetails.GetModalCaption(pageName)) If pageName = "Hmenudetailsview.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 Hmenudetails = Nothing Call ew_CleanUp End Sub ' ' Page_Terminate (End) ' Dim FormClassName Dim IsModal Dim IsMobileOrModal Dim DbMasterFilter, DbDetailFilter Dim StartRec Dim Priv Dim OldRecordset Dim CopyRecord ' ' Page main ' Sub Page_Main() IsMobileOrModal = False If IsModal Then gbSkipHeaderFooter = True FormClassName = "ewForm ewAddForm form-horizontal" ' Set up current action If ObjForm.GetValue("a_add")&"" <> "" Then Hmenudetails.CurrentAction = ObjForm.GetValue("a_add") ' Get form action ' Not post back Else ' Load key values from QueryString CopyRecord = True If Request.QueryString("ID").Count > 0 Then Hmenudetails.ID.QueryStringValue = Request.QueryString("ID") Call Hmenudetails.SetKey("ID", Hmenudetails.ID.CurrentValue) ' Set up key Else Call Hmenudetails.SetKey("ID", "") ' Clear key CopyRecord = False End If If CopyRecord Then Hmenudetails.CurrentAction = "C" ' Copy Record Else Hmenudetails.CurrentAction = "I" ' Display Blank Record End If End If Dim loaded loaded = LoadOldRecord() ' Load old recordset ' Load form values If ObjForm.GetValue("a_add")&"" <> "" Then Call LoadFormValues ' Load form values End If ' Validate form if post back If ObjForm.GetValue("a_add")&"" <> "" Then If Not ValidateForm() Then Hmenudetails.CurrentAction = "I" ' Form error, reset action Hmenudetails.EventCancelled = True ' Event cancelled Call RestoreFormValues ' Restore form values FailureMessage = gsFormError End If End If ' Perform current action Select Case Hmenudetails.CurrentAction Case "I" ' Blank record Case "C" ' Copy an existing record If Not loaded Then ' Record not loaded If FailureMessage = "" Then FailureMessage = Language.Phrase("NoRecord") ' No record found Call Page_Terminate("Hmenudetailslist.asp") ' No matching record, return to list End If Case "A" ' Add new record Hmenudetails.SendEmail = True ' Send email on add success If AddRow(OldRecordset) Then ' Add successful If SuccessMessage = "" Then SuccessMessage = Language.Phrase("AddSuccess") ' Set up success message Dim sReturnUrl sReturnUrl = Hmenudetails.ReturnUrl If ew_GetPageName(sReturnUrl) = "Hmenudetailslist.asp" Then sReturnUrl = Hmenudetails.AddMasterUrl(sReturnUrl) ' List page, return to List page with correct master key if necessary ElseIf ew_GetPageName(sReturnUrl) = "Hmenudetailsview.asp" Then sReturnUrl = Hmenudetails.ViewUrl("") ' View paging, return to View page with keyurl directly End If Call Page_Terminate(sReturnUrl) ' Clean up and return Else Hmenudetails.EventCancelled = True ' Event cancelled Call RestoreFormValues ' Add failed, restore form values End If End Select ' Set up Breadcrumb Call SetupBreadcrumb ' Render row based on row type Hmenudetails.RowType = EW_ROWTYPE_ADD ' Render add type ' Render row Call Hmenudetails.ResetAttrs Call RenderRow End Sub ' ' Get upload files ' Sub GetUploadFiles() ' Get upload data End Sub ' ' Load default values ' Sub LoadDefaultValues() Hmenudetails.ID.CurrentValue = Null Hmenudetails.ID.OldValue = Hmenudetails.ID.CurrentValue Hmenudetails.zMenu.CurrentValue = Null Hmenudetails.zMenu.OldValue = Hmenudetails.zMenu.CurrentValue Hmenudetails.URL.CurrentValue = Null Hmenudetails.URL.OldValue = Hmenudetails.URL.CurrentValue Hmenudetails.Parent_id.CurrentValue = Null Hmenudetails.Parent_id.OldValue = Hmenudetails.Parent_id.CurrentValue Hmenudetails.Sequence.CurrentValue = Null Hmenudetails.Sequence.OldValue = Hmenudetails.Sequence.CurrentValue End Sub ' ' Load form values ' Sub LoadFormValues() ' Load values from form If Not Hmenudetails.zMenu.FldIsDetailKey Then Hmenudetails.zMenu.FormValue = ObjForm.GetValue("x_zMenu") If Not Hmenudetails.URL.FldIsDetailKey Then Hmenudetails.URL.FormValue = ObjForm.GetValue("x_URL") If Not Hmenudetails.Parent_id.FldIsDetailKey Then Hmenudetails.Parent_id.FormValue = ObjForm.GetValue("x_Parent_id") If Not Hmenudetails.Sequence.FldIsDetailKey Then Hmenudetails.Sequence.FormValue = ObjForm.GetValue("x_Sequence") End Sub ' ' Restore form values ' Sub RestoreFormValues() Hmenudetails.zMenu.CurrentValue = Hmenudetails.zMenu.FormValue Hmenudetails.URL.CurrentValue = Hmenudetails.URL.FormValue Hmenudetails.Parent_id.CurrentValue = Hmenudetails.Parent_id.FormValue Hmenudetails.Sequence.CurrentValue = Hmenudetails.Sequence.FormValue End Sub ' ' Load row based on key values ' Function LoadRow() Dim RsRow, sSql, sFilter sFilter = Hmenudetails.KeyFilter ' Call Row Selecting event Call Hmenudetails.Row_Selecting(sFilter) ' Load SQL based on filter Hmenudetails.CurrentFilter = sFilter sSql = Hmenudetails.SQL Call ew_SetDebugMsg("LoadRow: " & sSql) ' Show SQL for debugging Set RsRow = ew_LoadRowByDbid(sSql, Hmenudetails.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 Hmenudetails.Row_Selected(RsRow) If ew_Empty(RsRow) Then Exit Sub If RsRow.EOF Then Exit Sub Hmenudetails.ID.DbValue = RsRow("ID") Hmenudetails.zMenu.DbValue = RsRow("Menu") Hmenudetails.URL.DbValue = RsRow("URL") Hmenudetails.Parent_id.DbValue = RsRow("Parent_id") Hmenudetails.Sequence.DbValue = RsRow("Sequence") End Sub ' Return a row with default values Function NewRow Call LoadDefaultValues Dim cnn, rs, sSql, sFilter ' Clear any previous errors Err.Clear Set cnn = Hmenudetails.TableConnection sFilter = Hmenudetails.CurrentFilter Hmenudetails.CurrentFilter = "(0 = 1)" sSql = Hmenudetails.SQL Hmenudetails.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") = Hmenudetails.zMenu.CurrentValue rs("URL") = Hmenudetails.URL.CurrentValue rs("Parent_id") = Hmenudetails.Parent_id.CurrentValue rs("Sequence") = Hmenudetails.Sequence.CurrentValue ' 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 Hmenudetails.ID.m_DbValue = Rs("ID") Hmenudetails.zMenu.m_DbValue = Rs("Menu") Hmenudetails.URL.m_DbValue = Rs("URL") Hmenudetails.Parent_id.m_DbValue = Rs("Parent_id") Hmenudetails.Sequence.m_DbValue = Rs("Sequence") End Sub ' Load old record Function LoadOldRecord() ' Load key values from Session Dim bValidKey bValidKey = True If Hmenudetails.GetKey("ID")&"" <> "" Then Hmenudetails.ID.CurrentValue = Hmenudetails.GetKey("ID") ' ID Else bValidKey = False End If ' Load old record OldRecordset = Null If bValidKey Then Hmenudetails.CurrentFilter = Hmenudetails.KeyFilter Dim sSql sSql = Hmenudetails.SQL Set OldRecordset = ew_LoadRecordsetByDbid(sSql, Hmenudetails.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 Hmenudetails.Row_Rendering ' ' Common render codes for all row types ' ' ID ' Menu ' URL ' Parent_id ' Sequence ' ' View Row ' If Hmenudetails.RowType = EW_ROWTYPE_VIEW Then ' View row ' ID Hmenudetails.ID.ViewValue = Hmenudetails.ID.CurrentValue Hmenudetails.ID.ViewCustomAttributes = "" ' Menu Hmenudetails.zMenu.ViewValue = Hmenudetails.zMenu.CurrentValue Hmenudetails.zMenu.ViewCustomAttributes = "" ' URL Hmenudetails.URL.ViewValue = Hmenudetails.URL.CurrentValue Hmenudetails.URL.ViewCustomAttributes = "" ' Parent_id Hmenudetails.Parent_id.ViewValue = Hmenudetails.Parent_id.CurrentValue Hmenudetails.Parent_id.ViewCustomAttributes = "" ' Sequence Hmenudetails.Sequence.ViewValue = Hmenudetails.Sequence.CurrentValue Hmenudetails.Sequence.ViewCustomAttributes = "" ' View refer script ' Menu Hmenudetails.zMenu.LinkCustomAttributes = "" Hmenudetails.zMenu.HrefValue = "" Hmenudetails.zMenu.TooltipValue = "" ' URL Hmenudetails.URL.LinkCustomAttributes = "" Hmenudetails.URL.HrefValue = "" Hmenudetails.URL.TooltipValue = "" ' Parent_id Hmenudetails.Parent_id.LinkCustomAttributes = "" Hmenudetails.Parent_id.HrefValue = "" Hmenudetails.Parent_id.TooltipValue = "" ' Sequence Hmenudetails.Sequence.LinkCustomAttributes = "" Hmenudetails.Sequence.HrefValue = "" Hmenudetails.Sequence.TooltipValue = "" ' ' Add Row ' ElseIf Hmenudetails.RowType = EW_ROWTYPE_ADD Then ' Add row ' Menu Call Hmenudetails.zMenu.EditAttrs.UpdateAttribute("class", "form-control") Hmenudetails.zMenu.EditCustomAttributes = "" Hmenudetails.zMenu.EditValue = ew_HtmlEncode(Hmenudetails.zMenu.CurrentValue) Hmenudetails.zMenu.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(Hmenudetails.zMenu.FldCaption)) ' URL Call Hmenudetails.URL.EditAttrs.UpdateAttribute("class", "form-control") Hmenudetails.URL.EditCustomAttributes = "" Hmenudetails.URL.EditValue = ew_HtmlEncode(Hmenudetails.URL.CurrentValue) Hmenudetails.URL.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(Hmenudetails.URL.FldCaption)) ' Parent_id Call Hmenudetails.Parent_id.EditAttrs.UpdateAttribute("class", "form-control") Hmenudetails.Parent_id.EditCustomAttributes = "" Hmenudetails.Parent_id.EditValue = ew_HtmlEncode(Hmenudetails.Parent_id.CurrentValue) Hmenudetails.Parent_id.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(Hmenudetails.Parent_id.FldCaption)) ' Sequence Call Hmenudetails.Sequence.EditAttrs.UpdateAttribute("class", "form-control") Hmenudetails.Sequence.EditCustomAttributes = "" Hmenudetails.Sequence.EditValue = ew_HtmlEncode(Hmenudetails.Sequence.CurrentValue) Hmenudetails.Sequence.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(Hmenudetails.Sequence.FldCaption)) ' Add refer script ' Menu Hmenudetails.zMenu.LinkCustomAttributes = "" Hmenudetails.zMenu.HrefValue = "" ' URL Hmenudetails.URL.LinkCustomAttributes = "" Hmenudetails.URL.HrefValue = "" ' Parent_id Hmenudetails.Parent_id.LinkCustomAttributes = "" Hmenudetails.Parent_id.HrefValue = "" ' Sequence Hmenudetails.Sequence.LinkCustomAttributes = "" Hmenudetails.Sequence.HrefValue = "" End If If Hmenudetails.RowType = EW_ROWTYPE_ADD Or Hmenudetails.RowType = EW_ROWTYPE_EDIT Or Hmenudetails.RowType = EW_ROWTYPE_SEARCH Then ' Add/Edit/Search row Call Hmenudetails.SetupFieldTitles End If ' Call Row Rendered event If Hmenudetails.RowType <> EW_ROWTYPE_AGGREGATEINIT Then Call Hmenudetails.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 Hmenudetails.zMenu.FldIsDetailKey And Not IsNull(Hmenudetails.zMenu.FormValue) And Hmenudetails.zMenu.FormValue&"" = "" Then Call ew_AddMessage(gsFormError, Replace(Hmenudetails.zMenu.ReqErrMsg, "%s", Hmenudetails.zMenu.FldCaption)) End If If Not ew_CheckInteger(Hmenudetails.Parent_id.FormValue) Then Call ew_AddMessage(gsFormError, Hmenudetails.Parent_id.FldErrMsg) End If If Not ew_CheckInteger(Hmenudetails.Sequence.FormValue) Then Call ew_AddMessage(gsFormError, Hmenudetails.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 ' ' Add record ' Function AddRow(RsOld) If Not EW_DEBUG_ENABLED Then On Error Resume Next Dim cnn, Rs, sSql, sFilter Dim RsNew Dim bInsertRow Dim RsChk Dim sIdxErrMsg ' Clear any previous errors Err.Clear Dim RsMaster, sMasterUserIdMsg, sMasterFilter, bCheckMasterRecord, bValidMasterKey Set cnn = Hmenudetails.TableConnection ' Load db values from rsold Call LoadDbValues(RsOld) If Not IsNull(RsOld) Then End If ' Add new record sFilter = "(0 = 1)" Hmenudetails.CurrentFilter = sFilter sSql = Hmenudetails.UpdateTableSQL Set Rs = Server.CreateObject("ADODB.Recordset") Rs.CursorLocation = Hmenudetails.TableCursorLocation Call ew_SetDebugMsg("AddRow: " & sSql) ' Show SQL for debugging Rs.Open sSql, cnn, 1, Hmenudetails.TableRecordsetLockType Rs.AddNew If Err.Number <> 0 Then Message = Err.Description Rs.Close Set Rs = Nothing AddRow = False Exit Function End If ' Field Menu Call Hmenudetails.zMenu.SetDbValue(Rs, Hmenudetails.zMenu.CurrentValue, Null, False) ' Field URL Call Hmenudetails.URL.SetDbValue(Rs, Hmenudetails.URL.CurrentValue, Null, False) ' Field Parent_id Call Hmenudetails.Parent_id.SetDbValue(Rs, Hmenudetails.Parent_id.CurrentValue, Null, False) ' Field Sequence Call Hmenudetails.Sequence.SetDbValue(Rs, Hmenudetails.Sequence.CurrentValue, Null, False) ' Check recordset update error If Err.Number <> 0 Then FailureMessage = Err.Description Rs.Close Set Rs = Nothing AddRow = False Exit Function End If ' Call Row Inserting event bInsertRow = Hmenudetails.Row_Inserting(RsOld, Rs) If bInsertRow Then ' Clone new recordset object Set RsNew = ew_CloneRs(Rs) Call ew_SetDebugMsg("Insert: " & ew_HtmlEncode(ew_RecordToJson(RsNew))) ' Show data for debugging Rs.Update If Err.Number <> 0 Then FailureMessage = Err.Description AddRow = False Else AddRow = True End If If AddRow Then Hmenudetails.ID.DbValue = RsNew("ID") ' Get insert id if necessary End If Else Rs.CancelUpdate ' Set up error message If SuccessMessage <> "" Or FailureMessage <> "" Then ' Use the message, do nothing ElseIf Hmenudetails.CancelMessage <> "" Then FailureMessage = Hmenudetails.CancelMessage Hmenudetails.CancelMessage = "" Else FailureMessage = Language.Phrase("InsertCancelled") End If AddRow = False End If Rs.Close Set Rs = Nothing If AddRow Then ' Call Row Inserted event Call Hmenudetails.Row_Inserted(RsOld, RsNew) 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", Hmenudetails.TableVar, Hmenudetails.AddMasterUrl("Hmenudetailslist.asp"), "", Hmenudetails.TableVar, True) PageId = ew_IIf(Hmenudetails.CurrentAction = "C", "Copy", "Add") Call Breadcrumb.Add("add", PageId, url, "", "", False) End Sub ' Setup lookup filters of a field Sub SetupLookupFilters(fld, pageId) pageId = ew_IIf(ew_EmptyStr(pageId), Hmenudetails_add.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), Hmenudetails_add.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 %>