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="Newsinfo.asp"--> <!--#include file="aspfn.asp"--> <!--#include file="userfn.asp"--> <% Call ew_Header(False, EW_CHARSET, False) %> <% ' Define page object Dim News_edit Set News_edit = New cNews_edit Set Page = News_edit ' Page init processing Call News_edit.Page_Init ' Page main Call News_edit.Page_Main ' Global Page Rendering event (in userfn*.asp) Page_Rendering() ' Page Render event News_edit.Page_Render() %> <!--#include file="header.asp"--> <script type="text/javascript"> // Form object var CurrentPageID = EW_PAGE_ID = "edit"; var CurrentForm = fNewsedit = new ew_Form("fNewsedit", "edit"); // Validate form fNewsedit.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 + "_Title"); if (elm && !ew_IsHidden(elm) && !ew_HasValue(elm)) return this.OnError(elm, "<%= ew_JsEncode2(Replace(News.Title.ReqErrMsg, "%s", News.Title.FldCaption)) %>"); elm = this.GetElements("x" + infix + "_Enable"); if (elm && !ew_IsHidden(elm) && !ew_HasValue(elm)) return this.OnError(elm, "<%= ew_JsEncode2(Replace(News.Enable.ReqErrMsg, "%s", News.Enable.FldCaption)) %>"); elm = this.GetElements("x" + infix + "_Img"); if (elm && !ew_IsHidden(elm) && !ew_HasValue(elm)) return this.OnError(elm, "<%= ew_JsEncode2(Replace(News.Img.ReqErrMsg, "%s", News.Img.FldCaption)) %>"); // 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 fNewsedit.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 %> fNewsedit.ValidateRequired = true; // Use JavaScript validation <% Else %> fNewsedit.ValidateRequired = false; // No JavaScript validation <% End If %> // Dynamic selection lists fNewsedit.Lists["x_Enable"] = {"LinkField":"","Ajax":null,"AutoFill":false,"DisplayFields":["","","",""],"ParentFields":[],"ChildFields":[],"FilterFields":[],"Options":[],"Template":""}; fNewsedit.Lists["x_Enable"].Options = <%= ew_ArrayToJson(News.Enable.Options(False)) %>; fNewsedit.Lists["x_Img"] = {"LinkField":"","Ajax":null,"AutoFill":false,"DisplayFields":["","","",""],"ParentFields":[],"ChildFields":[],"FilterFields":[],"Options":[],"Template":""}; fNewsedit.Lists["x_Img"].Options = <%= ew_ArrayToJson(News.Img.Options(False)) %>; <% 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 News_edit.ShowPageHeader %> <% Call News_edit.ShowMessage %> <form name="fNewsedit" id="fNewsedit" class="<%= News_edit.FormClassName %>" action="<%= ew_CurrentPage %>" method="post"> <% If News_edit.CheckToken Then %> <input type="hidden" name="<%= EW_TOKEN_NAME %>" value="<%= News_edit.Token %>"> <% End If %> <input type="hidden" name="a_table" id="a_table" value="News"> <input type="hidden" name="a_edit" id="a_edit" value="U"> <input type="hidden" name="modal" value="<%= ew_IIf(News_edit.IsModal, "1", "0") %>"> <div class="ewEditDiv"><!-- page* --> <% If News.ID.Visible Then ' ID %> <div id="r_ID" class="form-group"> <label id="elh_News_ID" class="<%= News.LeftColumnClass %>"><%= News.ID.FldCaption %></label> <div class="<%= News.RightColumnClass %>"><div<%= News.ID.CellAttributes %>> <span id="el_News_ID"> <span<%= News.ID.ViewAttributes %>> <p class="form-control-static"><%= News.ID.EditValue %></p> </span> </span> <input type="hidden" data-table="News" data-field="x_ID" name="x_ID" id="x_ID" value="<%= ew_HtmlEncode(News.ID.CurrentValue&"") %>"> <%= News.ID.CustomMsg %></div></div> </div> <% End If %> <% If News.Title.Visible Then ' Title %> <div id="r_Title" class="form-group"> <label id="elh_News_Title" for="x_Title" class="<%= News.LeftColumnClass %>"><%= News.Title.FldCaption %><%= Language.Phrase("FieldRequiredIndicator") %></label> <div class="<%= News.RightColumnClass %>"><div<%= News.Title.CellAttributes %>> <span id="el_News_Title"> <textarea data-table="News" data-field="x_Title" name="x_Title" id="x_Title" cols="35" rows="4" placeholder="<%= News.Title.PlaceHolder %>"<%= News.Title.EditAttributes %>><%= News.Title.EditValue %></textarea> </span> <%= News.Title.CustomMsg %></div></div> </div> <% End If %> <% If News.News_1.Visible Then ' News %> <div id="r_News_1" class="form-group"> <label id="elh_News_News_1" class="<%= News.LeftColumnClass %>"><%= News.News_1.FldCaption %></label> <div class="<%= News.RightColumnClass %>"><div<%= News.News_1.CellAttributes %>> <div id="el_News_News_1"> <div id="fd_x_News_1"> <span title="<%= ew_IIf(News.News_1.FldTitle <> "", News.News_1.FldTitle, Language.Phrase("ChooseFile")) %>" class="btn btn-default btn-sm fileinput-button ewTooltip<% If News.News_1.ReadOnly Or News.News_1.Disabled Then Response.Write " hide" %>" data-trigger="hover"> <span><%= Language.Phrase("ChooseFileBtn") %></span> <input type="file" title=" " data-table="News" data-field="x_News_1" name="x_News_1" id="x_News_1"<%= News.News_1.EditAttributes %>> </span> <input type="hidden" name="fn_x_News_1" id= "fn_x_News_1" value="<%= News.News_1.Upload.FileName %>"> <% If Request.Form("fa_x_News_1") & "" = "0" Then %> <input type="hidden" name="fa_x_News_1" id= "fa_x_News_1" value="0"> <% Else %> <input type="hidden" name="fa_x_News_1" id= "fa_x_News_1" value="1"> <% End If %> <input type="hidden" name="fs_x_News_1" id= "fs_x_News_1" value="255"> <input type="hidden" name="fx_x_News_1" id= "fx_x_News_1" value="<%= News.News_1.UploadAllowedFileExt %>"> <input type="hidden" name="fm_x_News_1" id= "fm_x_News_1" value="<%= News.News_1.UploadMaxFileSize %>"> </div> <table id="ft_x_News_1" class="table table-condensed pull-left ewUploadTable"><tbody class="files"></tbody></table> </div> <%= News.News_1.CustomMsg %></div></div> </div> <% End If %> <% If News.Enable.Visible Then ' Enable %> <div id="r_Enable" class="form-group"> <label id="elh_News_Enable" class="<%= News.LeftColumnClass %>"><%= News.Enable.FldCaption %><%= Language.Phrase("FieldRequiredIndicator") %></label> <div class="<%= News.RightColumnClass %>"><div<%= News.Enable.CellAttributes %>> <span id="el_News_Enable"> <div id="tp_x_Enable" class="ewTemplate"><input type="radio" data-table="News" data-field="x_Enable" data-value-separator="<%= News.Enable.DisplayValueSeparatorAttribute %>" name="x_Enable" id="x_Enable" value="{value}"<%= News.Enable.EditAttributes %>></div> <div id="dsl_x_Enable" data-repeatcolumn="5" class="ewItemList" style="display: none;"><div> <%= News.Enable.RadioButtonListHtml(False, "x_Enable", -1, News) %> </div></div> </span> <%= News.Enable.CustomMsg %></div></div> </div> <% End If %> <% If News.Img.Visible Then ' Img %> <div id="r_Img" class="form-group"> <label id="elh_News_Img" class="<%= News.LeftColumnClass %>"><%= News.Img.FldCaption %><%= Language.Phrase("FieldRequiredIndicator") %></label> <div class="<%= News.RightColumnClass %>"><div<%= News.Img.CellAttributes %>> <span id="el_News_Img"> <div id="tp_x_Img" class="ewTemplate"><input type="radio" data-table="News" data-field="x_Img" data-value-separator="<%= News.Img.DisplayValueSeparatorAttribute %>" name="x_Img" id="x_Img" value="{value}"<%= News.Img.EditAttributes %>></div> <div id="dsl_x_Img" data-repeatcolumn="5" class="ewItemList" style="display: none;"><div> <%= News.Img.RadioButtonListHtml(False, "x_Img", -1, News) %> </div></div> </span> <%= News.Img.CustomMsg %></div></div> </div> <% End If %> </div><!-- /page* --> <% If Not News_edit.IsModal Then %> <div class="form-group"><!-- buttons .form-group --> <div class="<%= News.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="<%= News.ReturnUrl %>"><%= Language.Phrase("CancelBtn") %></button> </div><!-- /buttons offset --> </div><!-- /buttons .form-group --> <% End If %> </form> <script type="text/javascript"> fNewsedit.Init(); </script> <% Call News_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 News_edit.Page_Terminate("") Set News_edit = Nothing %> <% ' ' Page Class ' Class cNews_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 = "News" End Property ' Page Object Name Public Property Get PageObjName PageObjName = "News_edit" End Property ' Field (ID) Public Property Get ID Set ID = News.ID End Property ' Field (Title) Public Property Get Title Set Title = News.Title End Property ' Field (News) Public Property Get News_1 Set News_1 = News.News_1 End Property ' Field (Date) Public Property Get zDate Set zDate = News.zDate End Property ' Field (Enable) Public Property Get Enable Set Enable = News.Enable End Property ' Field (Img) Public Property Get Img Set Img = News.Img End Property ' Get field object dictionary (ASP) Public Property Get Fields Set Fields = News.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(News) Then PageHeading = News.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 News.UseTokenInUrl Then PageUrl = PageUrl & "t=" & News.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 News.UseTokenInUrl Then IsPageRequest = False If ew_NotEmpty(ObjForm) Then IsPageRequest = (News.TableVar = ObjForm.GetValue("t")) End If If Request.QueryString("t").Count > 0 Then IsPageRequest = (News.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(News) Then Set News = New cNews Set Table = News ' 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 = "News" ' Debug message Call ew_LoadDebugMsg ' Open connection to the database If IsEmpty(Conn) Then Set Conn = ew_Connect(News.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("Newslist.asp")) Else Call Page_Terminate(ew_GetUrl("login.asp")) End If End If ' Create form object Set ObjForm = New cFormObj News.CurrentAction = ew_IIf(Request.QueryString("a").Count > 0, Request.QueryString("a") & "", ObjForm.GetValue("a_list") & "") ' Set up current action Call News.ID.SetVisibility(News) If News.IsAdd() Or News.IsCopy() Or News.IsGridAdd() Then News.ID.Visible = False End If Call News.Title.SetVisibility(News) Call News.News_1.SetVisibility(News) Call News.zDate.SetVisibility(News) Call News.Enable.SetVisibility(News) Call News.Img.SetVisibility(News) ' 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 = News.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(News) Then If News.Export <> "" And Request.Form("data").Count > 0 Then Dim sContent sContent = Request.Form("data") gsExportFile = Request.Form("filename") If gsExportFile = "" Then gsExportFile = News.TableVar If News.Export = "pdf" Then Call ExportPdf(sContent) ElseIf News.Export = "email" Then Response.Write ExportEmail(sContent) ElseIf News.Export = "excel" Then Call ExportExcel(sContent) ElseIf News.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 <> News.ListUrl Then ' Not List page Call row.Add("caption", News.GetModalCaption(pageName)) If pageName = "Newsview.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 News = 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 News.CurrentAction = ObjForm.GetValue("a_edit")&"" ' Get action code If News.CurrentAction <> "I" Then ' Not reload record, handle as postback postBack = True End If ' Load key from Form If ObjForm.HasValue("x_ID") Then News.ID.FormValue = ObjForm.GetValue("x_ID") End If Else News.CurrentAction = "I" ' Default action is display ' Load key from QueryString Dim loadByQuery loadByQuery = False If Request.QueryString("ID").Count > 0 Then News.ID.QueryStringValue = Request.QueryString("ID") loadByQuery = True Else News.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 News.CurrentAction = "" ' Form error, reset action FailureMessage = gsFormError News.EventCancelled = True ' Event cancelled LoadRow() ' Restore row Call RestoreFormValues ' Restore form values if validate failed End If End If ' Perform current action Select Case News.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("Newslist.asp") ' No matching record, return to list End If Case "U" ' Update sReturnUrl = News.ReturnUrl If ew_GetPageName(sReturnUrl) = "Newslist.asp" Then sReturnUrl = News.AddMasterUrl(sReturnUrl) ' List page, return to List page with correct master key if necessary End If News.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 News.EventCancelled = True ' Event cancelled LoadRow() ' Restore row Call RestoreFormValues ' Restore form values if update failed End If End Select ' Render the record News.RowType = EW_ROWTYPE_EDIT ' Render as edit ' Set up Breadcrumb Call SetupBreadcrumb ' Render row Call News.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) News.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 News.StartRecordNumber = StartRec End If End If End If StartRec = News.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 News.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 News.StartRecordNumber = StartRec ElseIf (StartRec-1) Mod DisplayRecs <> 0 Then StartRec = ((StartRec-1)\DisplayRecs)*DisplayRecs+1 ' Point to page boundary News.StartRecordNumber = StartRec End If End Sub ' ' Get upload files ' Sub GetUploadFiles() ' Get upload data News.News_1.Upload.Index = ObjForm.Index News.News_1.Upload.UploadFile() News.News_1.CurrentValue = News.News_1.Upload.FileName End Sub ' ' Load form values ' Sub LoadFormValues() ' Load values from form Call GetUploadFiles ' Get upload files If Not News.ID.FldIsDetailKey Then News.ID.FormValue = ObjForm.GetValue("x_ID") If Not News.Title.FldIsDetailKey Then News.Title.FormValue = ObjForm.GetValue("x_Title") If Not News.zDate.FldIsDetailKey Then News.zDate.FormValue = ObjForm.GetValue("x_zDate") If Not News.zDate.FldIsDetailKey Then News.zDate.CurrentValue = ew_UnFormatDateTime(News.zDate.CurrentValue, 0) If Not News.Enable.FldIsDetailKey Then News.Enable.FormValue = ObjForm.GetValue("x_Enable") If Not News.Img.FldIsDetailKey Then News.Img.FormValue = ObjForm.GetValue("x_Img") End Sub ' ' Restore form values ' Sub RestoreFormValues() News.ID.CurrentValue = News.ID.FormValue News.Title.CurrentValue = News.Title.FormValue News.zDate.CurrentValue = News.zDate.FormValue News.zDate.CurrentValue = ew_UnFormatDateTime(News.zDate.CurrentValue, 0) News.Enable.CurrentValue = News.Enable.FormValue News.Img.CurrentValue = News.Img.FormValue End Sub ' ' Load row based on key values ' Function LoadRow() Dim RsRow, sSql, sFilter sFilter = News.KeyFilter ' Call Row Selecting event Call News.Row_Selecting(sFilter) ' Load SQL based on filter News.CurrentFilter = sFilter sSql = News.SQL Call ew_SetDebugMsg("LoadRow: " & sSql) ' Show SQL for debugging Set RsRow = ew_LoadRowByDbid(sSql, News.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 News.Row_Selected(RsRow) If ew_Empty(RsRow) Then Exit Sub If RsRow.EOF Then Exit Sub News.ID.DbValue = RsRow("ID") News.Title.DbValue = RsRow("Title") News.News_1.Upload.DbValue = RsRow("News") News.News_1.DbValue = News.News_1.Upload.DbValue News.zDate.DbValue = RsRow("Date") News.Enable.DbValue = RsRow("Enable") News.Img.DbValue = RsRow("Img") End Sub ' Return a row with default values Function NewRow Dim cnn, rs, sSql, sFilter ' Clear any previous errors Err.Clear Set cnn = News.TableConnection sFilter = News.CurrentFilter News.CurrentFilter = "(0 = 1)" sSql = News.SQL News.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("Title") = Null rs("News") = Null rs("Date") = Null rs("Enable") = Null rs("Img") = 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 News.ID.m_DbValue = Rs("ID") News.Title.m_DbValue = Rs("Title") News.News_1.Upload.DbValue = Rs("News") News.zDate.m_DbValue = Rs("Date") News.Enable.m_DbValue = Rs("Enable") News.Img.m_DbValue = Rs("Img") End Sub ' Load old record Function LoadOldRecord() ' Load key values from Session Dim bValidKey bValidKey = True If News.GetKey("ID")&"" <> "" Then News.ID.CurrentValue = News.GetKey("ID") ' ID Else bValidKey = False End If ' Load old record OldRecordset = Null If bValidKey Then News.CurrentFilter = News.KeyFilter Dim sSql sSql = News.SQL Set OldRecordset = ew_LoadRecordsetByDbid(sSql, News.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 News.Row_Rendering ' ' Common render codes for all row types ' ' ID ' Title ' News ' Date ' Enable ' Img ' ' View Row ' If News.RowType = EW_ROWTYPE_VIEW Then ' View row ' ID News.ID.ViewValue = News.ID.CurrentValue News.ID.ViewCustomAttributes = "" ' Title News.Title.ViewValue = News.Title.CurrentValue News.Title.ViewCustomAttributes = "" ' News News.News_1.UploadPath = "../uploads/news" If Not ew_Empty(News.News_1.Upload.DbValue) Then News.News_1.ViewValue = News.News_1.Upload.DbValue News.News_1.ViewValue = News.News_1.Upload.DbValue Else News.News_1.ViewValue = "" End If News.News_1.ViewCustomAttributes = "" ' Date News.zDate.ViewValue = News.zDate.CurrentValue News.zDate.ViewValue = ew_FormatDateTime(News.zDate.ViewValue, 0) News.zDate.ViewCustomAttributes = "" ' Enable If Not IsNull(News.Enable.CurrentValue) Then News.Enable.ViewValue = News.Enable.OptionCaption(News.Enable.CurrentValue) Else News.Enable.ViewValue = Null End If News.Enable.ViewCustomAttributes = "" ' Img If Not IsNull(News.Img.CurrentValue) Then News.Img.ViewValue = News.Img.OptionCaption(News.Img.CurrentValue) Else News.Img.ViewValue = Null End If News.Img.ViewCustomAttributes = "" ' View refer script ' ID News.ID.LinkCustomAttributes = "" News.ID.HrefValue = "" News.ID.TooltipValue = "" ' Title News.Title.LinkCustomAttributes = "" News.Title.HrefValue = "" News.Title.TooltipValue = "" ' News News.News_1.LinkCustomAttributes = "" News.News_1.HrefValue = "" News.News_1.HrefValue2 = News.News_1.UploadPath & News.News_1.Upload.DbValue News.News_1.TooltipValue = "" ' Date News.zDate.LinkCustomAttributes = "" News.zDate.HrefValue = "" News.zDate.TooltipValue = "" ' Enable News.Enable.LinkCustomAttributes = "" News.Enable.HrefValue = "" News.Enable.TooltipValue = "" ' Img News.Img.LinkCustomAttributes = "" News.Img.HrefValue = "" News.Img.TooltipValue = "" ' ' Edit Row ' ElseIf News.RowType = EW_ROWTYPE_EDIT Then ' Edit row ' ID Call News.ID.EditAttrs.UpdateAttribute("class", "form-control") News.ID.EditCustomAttributes = "" News.ID.EditValue = News.ID.CurrentValue News.ID.ViewCustomAttributes = "" ' Title Call News.Title.EditAttrs.UpdateAttribute("class", "form-control") News.Title.EditCustomAttributes = "" News.Title.EditValue = ew_HtmlEncode(News.Title.CurrentValue) News.Title.PlaceHolder = ew_HtmlEncode(ew_RemoveHtml(News.Title.FldCaption)) ' News Call News.News_1.EditAttrs.UpdateAttribute("class", "form-control") News.News_1.EditCustomAttributes = "" News.News_1.UploadPath = "../uploads/news" If Not ew_Empty(News.News_1.Upload.DbValue) Then News.News_1.EditValue = News.News_1.Upload.DbValue News.News_1.EditValue = News.News_1.Upload.DbValue Else News.News_1.EditValue = "" End If If News.CurrentAction = "I" And Not News.EventCancelled Then Call ew_RenderUploadField(News.News_1, -1) ' Date ' Enable News.Enable.EditCustomAttributes = "" News.Enable.EditValue = News.Enable.Options(False) ' Img News.Img.EditCustomAttributes = "" News.Img.EditValue = News.Img.Options(False) ' Edit refer script ' ID News.ID.LinkCustomAttributes = "" News.ID.HrefValue = "" ' Title News.Title.LinkCustomAttributes = "" News.Title.HrefValue = "" ' News News.News_1.LinkCustomAttributes = "" News.News_1.HrefValue = "" News.News_1.HrefValue2 = News.News_1.UploadPath & News.News_1.Upload.DbValue ' Date News.zDate.LinkCustomAttributes = "" News.zDate.HrefValue = "" ' Enable News.Enable.LinkCustomAttributes = "" News.Enable.HrefValue = "" ' Img News.Img.LinkCustomAttributes = "" News.Img.HrefValue = "" End If If News.RowType = EW_ROWTYPE_ADD Or News.RowType = EW_ROWTYPE_EDIT Or News.RowType = EW_ROWTYPE_SEARCH Then ' Add/Edit/Search row Call News.SetupFieldTitles End If ' Call Row Rendered event If News.RowType <> EW_ROWTYPE_AGGREGATEINIT Then Call News.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 News.Title.FldIsDetailKey And Not IsNull(News.Title.FormValue) And News.Title.FormValue&"" = "" Then Call ew_AddMessage(gsFormError, Replace(News.Title.ReqErrMsg, "%s", News.Title.FldCaption)) End If If News.Enable.FormValue&"" = "" Then Call ew_AddMessage(gsFormError, Replace(News.Enable.ReqErrMsg, "%s", News.Enable.FldCaption)) End If If News.Img.FormValue&"" = "" Then Call ew_AddMessage(gsFormError, Replace(News.Img.ReqErrMsg, "%s", News.Img.FldCaption)) 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 = News.KeyFilter Set cnn = News.TableConnection News.CurrentFilter = sFilter sSql = News.UpdateTableSQL Set Rs = Server.CreateObject("ADODB.Recordset") Rs.CursorLocation = News.TableCursorLocation Call ew_SetDebugMsg("EditRow: " & sSql) ' Show SQL for debugging Rs.Open sSql, cnn, 1, News.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) News.News_1.OldUploadPath = "../uploads/news" News.News_1.UploadPath = News.News_1.OldUploadPath If Rs.EOF Then FailureMessage = Language.Phrase("NoRecord") ' Set no record message EditRow = False ' Update Failed Else ' Field Title Call News.Title.SetDbValue(Rs, News.Title.CurrentValue, Null, News.Title.ReadOnly) ' Field News If News.News_1.Visible And Not News.News_1.ReadOnly And Not News.News_1.Upload.KeepFile Then News.News_1.Upload.DbValue = Rs("News") ' Get original value If News.News_1.Upload.FileName & "" = "" Then Rs("News") = Null Else Rs("News") = News.News_1.Upload.FileName End If End If ' Field Date Call News.zDate.SetDbValue(Rs, ew_CurrentDate, Null, False) ' Field Enable Call News.Enable.SetDbValue(Rs, News.Enable.CurrentValue, Null, News.Enable.ReadOnly) ' Field Img Call News.Img.SetDbValue(Rs, News.Img.CurrentValue, Null, News.Img.ReadOnly) ' Check recordset update error If Err.Number <> 0 Then FailureMessage = Err.Description Rs.Close Set Rs = Nothing EditRow = False Exit Function End If If News.News_1.Visible And Not News.News_1.Upload.KeepFile Then News.News_1.UploadPath = "../uploads/news" TmpOldFiles = ew_IIf(ew_Empty(News.News_1.Upload.DbValue), Array(), Array(News.News_1.Upload.DbValue)) If Not ew_Empty(News.News_1.Upload.FileName) Then TmpNewFiles = Array(News.News_1.Upload.FileName) TmpNewFileCount = UBound(TmpNewFiles) + 1 For i = 0 to TmpNewFileCount - 1 TmpFldVar = ew_IIf(News.News_1.Upload.Index < 0, News.News_1.FldVar, Mid(News.News_1.FldVar, 1, 1) & News.News_1.Upload.Index & Mid(News.News_1.FldVar, 2)) If TmpNewFiles(i) <> "" Then If ew_FileExists(ew_UploadTempPath(TmpFldVar, News.News_1.TblVar), TmpNewFiles(i)) Then TmpFile = TmpNewFiles(i) OldFileFound = False TmpOldFileCount = UBound(TmpOldFiles) + 1 For j = 0 to TmpOldFileCount - 1 If TmpOldFiles(j) = TmpFile Then ' Old file found, no need to delete anymore TmpOldFiles = ew_ArrayDiff(TmpOldFiles, Array(TmpFile)) ' ASP OldFileFound = True Exit For End If Next If Not OldFileFound Then TmpFile1 = ew_UploadFileNameEx(News.News_1.PhysicalUploadPath, TmpFile) ' Get new file name If TmpFile1 <> TmpFile Then Do While ew_FileExists(ew_UploadTempPath(TmpFldVar, News.News_1.TblVar), TmpFile1) Or ew_FileExists(News.News_1.PhysicalUploadPath, TmpFile1) ' Make sure no file name clash TmpFile1 = ew_UniqueFilename(News.News_1.PhysicalUploadPath, TmpFile1, True) ' Use indexed name Loop Call ew_RenameFile(ew_UploadTempPath(TmpFldVar, News.News_1.TblVar) & TmpFile, ew_UploadTempPath(TmpFldVar, News.News_1.TblVar) & TmpFile1) ' Rename temp file TmpNewFiles(i) = TmpFile1 ' Update new file name End If End If End If End If Next If ew_Empty(TmpOldFiles) Then News.News_1.Upload.DbValue = "" Else News.News_1.Upload.DbValue = Join(TmpOldFiles, EW_MULTIPLE_UPLOAD_SEPARATOR) End If News.News_1.Upload.FileName = Join(TmpNewFiles, EW_MULTIPLE_UPLOAD_SEPARATOR) Call News.News_1.SetDbValue(Rs, News.News_1.Upload.FileName, Null, News.News_1.ReadOnly) End If End If ' Call Row Updating event bUpdateRow = News.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 If News.News_1.Visible And Not News.News_1.Upload.KeepFile Then TmpOldFiles = ew_IIf(ew_Empty(News.News_1.Upload.DbValue), Array(), Array(News.News_1.Upload.DbValue)) If Not ew_Empty(News.News_1.Upload.FileName) Then TmpNewFiles = Array(News.News_1.Upload.FileName) TmpNewFiles2 = Array(Rs("News")) TmpNewFileCount = UBound(TmpNewFiles) + 1 For i = 0 to TmpNewFileCount - 1 TmpFldVar = ew_IIf(News.News_1.Upload.Index < 0, News.News_1.FldVar, Mid(News.News_1.FldVar, 1, 1) & News.News_1.Upload.Index & Mid(News.News_1.FldVar, 2)) If TmpNewFiles(i) <> "" Then If ew_FileExists(ew_UploadTempPath(TmpFldVar, News.News_1.TblVar), TmpNewFiles(i)) Then TmpFile = ew_UploadTempPath(TmpFldVar, News.News_1.TblVar) & TmpNewFiles(i) News.News_1.Upload.Value = ew_LoadBinaryFile(TmpFile) If UBound(TmpNewFiles2) >= i Then If TmpNewFiles2(i) <> "" Then ' Use correct file name TmpNewFiles(i) = TmpNewFiles2(i) End If End If TmpFile = TmpNewFiles(i) If Not News.News_1.Upload.SaveToFile(TmpFile, True) Then FailureMessage = Language.Phrase("UploadErrMsg7") End If End If End If Next Else TmpNewFiles = Array() End If TmpOldFileCount = UBound(TmpOldFiles) + 1 For i = 0 to TmpOldFileCount - 1 If TmpOldFiles(i) <> "" And Not ew_InArray(TmpOldFiles(i), TmpNewFiles) Then Call ew_DeleteFile(News.News_1.OldPhysicalUploadPath & TmpOldFiles(i)) End If Next End If End If Else Rs.CancelUpdate ' Set up error message If SuccessMessage <> "" Or FailureMessage <> "" Then ' Use the message, do nothing ElseIf News.CancelMessage <> "" Then FailureMessage = News.CancelMessage News.CancelMessage = "" Else FailureMessage = Language.Phrase("UpdateCancelled") End If EditRow = False End If End If ' Call Row_Updated event If EditRow Then Call News.Row_Updated(RsOld, RsNew) End If Rs.Close Set Rs = Nothing ' News Call ew_CleanUploadTempPath(News.News_1, News.News_1.Upload.Index) 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", News.TableVar, News.AddMasterUrl("Newslist.asp"), "", News.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), News_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), News_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 %>