<%@ CodePage=1256 LCID=1065 %> <% Const EW_PAGE_ID = "list" Const EW_TABLE_NAME = "LastNews" %> <% Session.Timeout = 60 %> <% Response.Expires = 0 Response.ExpiresAbsolute = Now() - 1 Response.AddHeader "pragma", "no-cache" Response.AddHeader "cache-control", "private, no-cache, no-store, must-revalidate" %> <% ' Open connection to the database Dim conn Set conn = Server.CreateObject("ADODB.Connection") conn.Open EW_DB_CONNECTION_STRING %> <% Dim Security Set Security = New cAdvancedSecurity %> <% %> <% ' Common page loading event (in userfn60.asp) Call Page_Loading() %> <% ' Page load event, used in current page Call Page_Load() %> <% LastNews.Export = Request.QueryString("export") ' Get export parameter sExport = LastNews.Export ' Get export parameter, used in header sExportFile = LastNews.TableVar ' Get export file, used in header %> <% ' Paging variables Dim Pager, PagerItem ' Pager Dim nDisplayRecs ' Number of display records Dim nRecRange ' Record display range Dim nStartRec, nStopRec, nTotalRecs nStartRec = 0 ' Start record index nStopRec = 0 ' Stop record index nTotalRecs = 0 ' Total number of records nDisplayRecs = 1 nRecRange = 10 Dim i Dim nRecCount nRecCount = 0 ' Record count Dim RowCnt, RowIndex, OptionCnt ' Sort Dim sSortOrder ' Search filters Dim sSrchAdvanced, sSrchBasic, sSrchWhere, sFilter sSrchAdvanced = "" ' Advanced search filter sSrchBasic = "" ' Basic search filter sSrchWhere = "" ' Search where clause sFilter = "" Dim bEditRow, nEditRowCnt ' Edit row Dim sDeleteConfirmMsg ' Delete confirm message sDeleteConfirmMsg = "Do you want to delete this record?" ' Master/Detail Dim sDbMasterFilter, sDbDetailFilter sDbMasterFilter = "" ' Master filter sDbDetailFilter = "" ' Detail filter Dim sSqlMaster sSqlMaster = "" ' Sql for master record ' Set up records per page dynamically SetUpDisplayRecs() ' Handle reset command ResetCmd() ' Build filter sFilter = "" If sDbDetailFilter <> "" Then If sFilter <> "" Then sFilter = sFilter & " AND " sFilter = sFilter & "(" & sDbDetailFilter & ")" End If If sSrchWhere <> "" Then If sFilter <> "" Then sFilter = sFilter & " AND " sFilter = sFilter & "(" & sSrchWhere & ")" End If ' Set up filter in Session LastNews.SessionWhere = sFilter LastNews.CurrentFilter = "" ' Set Up Sorting Order SetUpSortOrder() ' Set Return Url LastNews.ReturnUrl = "lastnewslist.asp" %> <% If LastNews.Export = "" Then %> <% End If %> <% If LastNews.Export = "" Then %> <% End If %> <% ' Load recordset Dim rs Set rs = LoadRecordset() nTotalRecs = rs.RecordCount nStartRec = 1 If nDisplayRecs > 0 Then ' Display all records nDisplayRecs = 3 End If If Not (EW_EXPORT_ALL And LastNews.Export <> "") Then SetUpStartRec() ' Set up start record position End If %>
<% If nTotalRecs > 0 Then %> <% OptionCnt = 0 %> <% If (EW_EXPORT_ALL And LastNews.Export <> "") Then nStopRec = nTotalRecs Else nStopRec = nStartRec + nDisplayRecs - 1 ' Set the last record to display End If ' Move to first record directly for performance reason nRecCount = nStartRec - 1 If Not rs.Eof Then rs.MoveFirst rs.Move nStartRec - 1 End If RowCnt = 0 Do While (Not rs.Eof) And (nRecCount < nStopRec) nRecCount = nRecCount + 1 If CLng(nRecCount) >= CLng(nStartRec) Then RowCnt = RowCnt + 1 ' Init row class and style LastNews.CssClass = "ewTableRow" LastNews.CssStyle = "" ' Init row event LastNews.RowClientEvents = "onmouseover='ew_MouseOver(this);' onmouseout='ew_MouseOut(this);' onclick='ew_Click(this);'" ' Display alternate color for rows If RowCnt Mod 2 = 0 Then LastNews.CssClass = "ewTableAltRow" End If Call LoadRowValues(rs) ' Load row values LastNews.RowType = EW_ROWTYPE_VIEW ' Render view Call RenderRow() %> > > ><%= LastNews.NewsHeadline.ViewValue %> <% If LastNews.Export = "" Then %> <% End If %> <% End If rs.MoveNext Loop %>
<% If LastNews.Export <> "" Then %> غلنال <% Else %> &ordertype=<%= LastNews.NewsHeadline.ReverseSort %>" style="text-decoration: none">غلنال<% If LastNews.NewsHeadline.Sort = "ASC" Then %><% ElseIf LastNews.NewsHeadline.Sort = "DESC" Then %><% End If %> <% End If %> <% If LastNews.Export = "" Then %> <% End If %>
<% If LastNews.Export = "" Then %>
<% End If %> <% End If %>
 

 

<% ' If control is passed here, simply terminate the page without redirect Call Page_Terminate("") ' ----------------------------------------------------------------- ' Subroutine Page_Terminate ' - called when exit page ' - clean up ADO connection and objects ' - if url specified, redirect to url, otherwise end response ' Sub Page_Terminate(url) ' Page unload event, used in current page Call Page_Unload() ' Global page unloaded event (in userfn60.asp) Call Page_Unloaded() conn.Close ' Close Connection Set conn = Nothing Set Security = Nothing Set LastNews = Nothing ' Go to url if specified If url <> "" Then Response.Clear Response.Redirect url End If ' Terminate response Response.End End Sub ' ' Subroutine Page_Terminate (End) ' ---------------------------------------- %><% ' Set up number of records displayed per page Sub SetUpDisplayRecs() Dim sWrk sWrk = Request.QueryString(EW_TABLE_REC_PER_PAGE) If sWrk <> "" Then If IsNumeric(sWrk) Then nDisplayRecs = CInt(sWrk) Else If LCase(sWrk) = "all" Then ' Display all records nDisplayRecs = -1 Else nDisplayRecs = 1 ' Non-numeric, load default End If End If LastNews.RecordsPerPage = nDisplayRecs ' Save to Session ' Reset start position nStartRec = 1 LastNews.StartRecordNumber = nStartRec Else If LastNews.RecordsPerPage <> "" Then nDisplayRecs = LastNews.RecordsPerPage ' Restore from Session Else nDisplayRecs = 1 ' Load default End If End If End Sub ' Set up Sort parameters based on Sort Links clicked Sub SetUpSortOrder() Dim sOrderBy Dim sSortField, sLastSort, sThisSort Dim bCtrl ' Check for an Order parameter If Request.QueryString("order").Count > 0 Then LastNews.CurrentOrder = Request.QueryString("order") LastNews.CurrentOrderType = Request.QueryString("ordertype") ' Field NewsHeadline Call LastNews.UpdateSort(LastNews.NewsHeadline) ' Field NewsDate Call LastNews.UpdateSort(LastNews.NewsDate) LastNews.StartRecordNumber = 1 ' Reset start position End If sOrderBy = LastNews.SessionOrderBy ' Get order by from Session If sOrderBy = "" Then If LastNews.SqlOrderBy <> "" Then sOrderBy = LastNews.SqlOrderBy LastNews.SessionOrderBy = sOrderBy End If End If End Sub ' Reset command based on querystring parameter cmd= ' - RESET: reset search parameters ' - RESETALL: reset search & master/detail parameters ' - RESETSORT: reset sort parameters Sub ResetCmd() Dim sCmd ' Get reset cmd If Request.QueryString("cmd").Count > 0 Then sCmd = Request.QueryString("cmd") ' Reset Sort Criteria If LCase(sCmd) = "resetsort" Then Dim sOrderBy sOrderBy = "" LastNews.SessionOrderBy = sOrderBy LastNews.NewsHeadline.Sort = "" LastNews.NewsDate.Sort = "" End If ' Reset start position nStartRec = 1 LastNews.StartRecordNumber = nStartRec End If End Sub %><% ' Set up Starting Record parameters based on Pager Navigation Sub SetUpStartRec() Dim nPageNo ' Exit if nDisplayRecs = 0 If nDisplayRecs = 0 Then Exit Sub ' Check for a START parameter If Request.QueryString(EW_TABLE_START_REC).Count > 0 Then nStartRec = Request.QueryString(EW_TABLE_START_REC) LastNews.StartRecordNumber = nStartRec ElseIf Request.QueryString(EW_TABLE_PAGE_NO).Count > 0 Then nPageNo = Request.QueryString(EW_TABLE_PAGE_NO) If IsNumeric(nPageNo) Then nStartRec = (nPageNo-1)*nDisplayRecs+1 If nStartRec <= 0 Then nStartRec = 1 ElseIf nStartRec >= ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 Then nStartRec = ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 End If LastNews.StartRecordNumber = nStartRec Else nStartRec = LastNews.StartRecordNumber End If Else nStartRec = LastNews.StartRecordNumber End If ' Check if correct start record counter If Not IsNumeric(nStartRec) Or nStartRec = "" Then ' Avoid invalid start record counter nStartRec = 1 ' Reset start record counter LastNews.StartRecordNumber = nStartRec ElseIf CLng(nStartRec) > CLng(nTotalRecs) Then ' Avoid starting record > total records nStartRec = ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 ' Point to last page first record LastNews.StartRecordNumber = nStartRec ElseIf (nStartRec-1) Mod nDisplayRecs <> 0 Then nStartRec = ((nStartRec-1)\nDisplayRecs)*nDisplayRecs+1 ' Point to page boundary LastNews.StartRecordNumber = nStartRec End If End Sub %><% ' Load recordset Function LoadRecordset() ' Call Recordset Selecting event Call LastNews.Recordset_Selecting(LastNews.CurrentFilter) ' Load list page sql Dim sSql sSql = LastNews.ListSQL ' Response.Write sSql ' Uncomment to show SQL for debugging ' Load recordset Dim rs Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = EW_CURSORLOCATION rs.Open sSql, conn, 1, 2 ' Call Recordset Selected event Call LastNews.Recordset_Selected(rs) Set LoadRecordset = rs End Function %><% ' Load row based on key values Function LoadRow() Dim rs, sSql, sFilter sFilter = LastNews.SqlKeyFilter ' Call Row Selecting event Call LastNews.Row_Selecting(sFilter) ' Load sql based on filter LastNews.CurrentFilter = sFilter sSql = LastNews.SQL Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sSql, conn If rs.Eof Then LoadRow = False Else LoadRow = True rs.MoveFirst Call LoadRowValues(rs) ' Load row values ' Call Row Selected event Call LastNews.Row_Selected(rs) End If rs.Close Set rs = Nothing End Function ' Load row values from recordset Sub LoadRowValues(rs) LastNews.NewsHeadline.DbValue = rs("NewsHeadline") LastNews.NewsDate.DbValue = rs("NewsDate") End Sub %> <% ' Render row values based on field settings Sub RenderRow() ' Call Row Rendering event Call LastNews.Row_Rendering() ' Common render codes for all row types ' NewsHeadline LastNews.NewsHeadline.CellCssStyle = "" LastNews.NewsHeadline.CellCssClass = "" ' NewsDate LastNews.NewsDate.CellCssStyle = "" LastNews.NewsDate.CellCssClass = "" If LastNews.RowType = EW_ROWTYPE_VIEW Then ' View row ' NewsHeadline LastNews.NewsHeadline.ViewValue = LastNews.NewsHeadline.CurrentValue LastNews.NewsHeadline.CssStyle = "" LastNews.NewsHeadline.CssClass = "" LastNews.NewsHeadline.ViewCustomAttributes = "" ' NewsDate LastNews.NewsDate.ViewValue = LastNews.NewsDate.CurrentValue LastNews.NewsDate.CssStyle = "" LastNews.NewsDate.CssClass = "" LastNews.NewsDate.ViewCustomAttributes = "" ' NewsHeadline ' *** view refer script LastNews.NewsHeadline.HrefValue = "" ' NewsDate ' *** view refer script LastNews.NewsDate.HrefValue = "" ElseIf LastNews.RowType = EW_ROWTYPE_ADD Then ' Add row ElseIf LastNews.RowType = EW_ROWTYPE_EDIT Then ' Edit row ElseIf LastNews.RowType = EW_ROWTYPE_SEARCH Then ' Search row End If ' Call Row Rendered event Call LastNews.Row_Rendered() 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 %>