<% 'Include Common Files @1-16366741 %> <% 'End Include Common Files 'Initialize Page @1-18F2B22C ' Variables Dim PathToRoot, ScriptPath Dim FileName Dim Redirect Dim Tpl, HTMLTemplate Dim TemplateFileName Dim ComponentName Dim PathToCurrentPage ' Events Dim CCSEvents Dim CCSEventResult ' Connections Dim DBConnection1 ' Page controls Dim Header Dim messagesSearch Dim messages Redirect = "" TemplateFileName = "Default.html" Set CCSEvents = CreateObject("Scripting.Dictionary") PathToCurrentPage = "./" FileName = "Default.asp" PathToRoot = "./" ScriptPath = Left(Request.ServerVariables("PATH_TRANSLATED"), Len(Request.ServerVariables("PATH_TRANSLATED")) - Len(FileName)) 'End Initialize Page 'Initialize Objects @1-E0249AE3 Set DBConnection1 = New clsDBConnection1 DBConnection1.Open ' Controls Set Header = New clsHeader Header.initIncludes("") Header.BindEvents Header.Initialize Set messagesSearch = new clsRecordmessagesSearch Set messages = New clsGridmessages messages.Initialize DBConnection1 ' Events %> <% BindEvents CCSEventResult = CCRaiseEvent(CCSEvents, "AfterInitialize", Nothing) 'End Initialize Objects 'Execute Components @1-BC4170B9 Header.Operations messagesSearch.Operation 'End Execute Components 'Go to destination page @1-6D35F4FD If NOT ( Redirect = "" ) Then UnloadPage Response.Redirect Redirect End If 'End Go to destination page 'Initialize HTML Template @1-0155E1BE CCSEventResult = CCRaiseEvent(CCSEvents, "OnInitializeView", Nothing) Set HTMLTemplate = new clsTemplate Set HTMLTemplate.Cache = TemplatesRepository HTMLTemplate.LoadTemplate ScriptPath & TemplateFileName Set Tpl = HTMLTemplate.Block("main") CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Nothing) 'End Initialize HTML Template 'Show Page @1-A5C9E0F9 Header.Show Tpl, "Header" messagesSearch.Show Tpl messages.Show Tpl HTMLTemplate.PParse "main", False 'End Show Page 'Unload Page @1-CB210C62 UnloadPage Set Tpl = Nothing Set HTMLTemplate = Nothing 'End Unload Page 'UnloadPage Sub @1-52F8D17E Sub UnloadPage() CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeUnload", Nothing) If DBConnection1.State = adStateOpen Then _ DBConnection1.Close Set DBConnection1 = Nothing Set Header = Nothing Set messagesSearch = Nothing Set messages = Nothing End Sub 'End UnloadPage Sub Class clsRecordmessagesSearch 'messagesSearch Class @2-DD638415 'messagesSearch Variables @2-C43F874B ' Public variables Public ComponentName Public HTMLFormAction Public PressedButton Public Errors Public FormSubmitted Public EditMode Public Visible Public Recordset Public TemplateBlock Public CCSEvents Private CCSEventResult Public InsertAllowed Public UpdateAllowed Public DeleteAllowed Public ReadAllowed Public DataSource Public Command Public ValidatingControls Public Controls ' Class variables Dim s_message Dim s_author Dim DoSearch 'End messagesSearch Variables 'messagesSearch Class_Initialize Event @2-81EA24AB Private Sub Class_Initialize() Visible = True Set Errors = New clsErrors Set CCSEvents = CreateObject("Scripting.Dictionary") InsertAllowed = False UpdateAllowed = False DeleteAllowed = False ReadAllowed = True Dim Method Dim OperationMode OperationMode = Split(CCGetFromGet("ccsForm", Empty), ":") If UBound(OperationMode) > -1 Then FormSubmitted = (OperationMode(0) = "messagesSearch") End If If UBound(OperationMode) > 0 Then EditMode = (OperationMode(1) = "Edit") End If ComponentName = "messagesSearch" Method = IIf(FormSubmitted, ccsPost, ccsGet) Set s_message = CCCreateControl(ccsTextBox, "s_message", "s_message", ccsMemo, Empty, CCGetRequestParam("s_message", Method)) Set s_author = CCCreateControl(ccsTextBox, "s_author", "s_author", ccsText, Empty, CCGetRequestParam("s_author", Method)) Set DoSearch = CCCreateButton("DoSearch") Set ValidatingControls = new clsControls ValidatingControls.addControls Array(s_message, s_author) End Sub 'End messagesSearch Class_Initialize Event 'messagesSearch Class_Terminate Event @2-32B847C9 Private Sub Class_Terminate() Set Errors = Nothing End Sub 'End messagesSearch Class_Terminate Event 'messagesSearch Validate Method @2-B9D513CF Function Validate() Dim Validation ValidatingControls.Validate CCSEventResult = CCRaiseEvent(CCSEvents, "OnValidate", Me) Validate = ValidatingControls.isValid() And (Errors.Count = 0) End Function 'End messagesSearch Validate Method 'messagesSearch Operation Method @2-6749040C Sub Operation() If NOT ( Visible AND FormSubmitted ) Then Exit Sub If FormSubmitted Then PressedButton = "DoSearch" If Not IsEmpty(CCGetParam("DoSearch", Empty)) Then PressedButton = "DoSearch" End If End If Redirect = "Default.asp?" & CCGetQueryString("QueryString", Array("ccsForm", "DoSearch")) If PressedButton = "DoSearch" Then If NOT DoSearch.OnClick Then Redirect = "" Else Redirect = "Default.asp?" & CCGetQueryString("QueryString", Array("s_message", "s_author", "ccsForm")) & IIf(CCGetQueryString("QueryString", Array("s_message", "s_author", "ccsForm")) <> "", "&", "") & CCGetQueryString("Form", Array(PressedButton, "ccsForm")) End If Else Redirect = "" End If End Sub 'End messagesSearch Operation Method 'messagesSearch Show Method @2-8B68DEB7 Sub Show(Tpl) If NOT Visible Then Exit Sub EditMode = False HTMLFormAction = FileName & "?" & CCAddParam(Request.ServerVariables("QUERY_STRING"), "ccsForm", "messagesSearch" & IIf(EditMode, ":Edit", "")) Set TemplateBlock = Tpl.Block("Record " & ComponentName) TemplateBlock.Variable("HTMLFormName") = ComponentName TemplateBlock.Variable("HTMLFormEnctype") ="application/x-www-form-urlencoded" Set Controls = CCCreateCollection(TemplateBlock, Null, ccsParseOverwrite, _ Array(s_message, s_author, DoSearch)) If Not FormSubmitted Then End If If FormSubmitted Then With TemplateBlock.Block("Error") .Variable("Error") = ValidatingControls.GetErrors & Errors.ToString .Parse False End With End If TemplateBlock.Variable("Action") = HTMLFormAction CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Me) If Visible Then Controls.Show End Sub 'End messagesSearch Show Method End Class 'End messagesSearch Class @2-A61BA892 Class clsGridmessages 'messages Class @7-5565BAD3 'messages Variables @7-0FD32CAE ' Private variables Private VarPageSize ' Public variables Public ComponentName, CCSEvents Public Visible, Errors Public DataSource Public PageNumber Public Command Public TemplateBlock Public ActiveSorter, SortingDirection Public Recordset Private CCSEventResult ' Grid Controls Public StaticControls, RowControls Dim Sorter_topic Dim Sorter_author Dim Sorter_ldate_add Dim smile_url Dim topic Dim author Dim date_add Dim Navigator1 'End messages Variables 'messages Class_Initialize Event @7-D896A82D Private Sub Class_Initialize() ComponentName = "messages" Visible = True Set CCSEvents = CreateObject("Scripting.Dictionary") Set Errors = New clsErrors Set DataSource = New clsmessagesDataSource Set Command = New clsCommand PageSize = CCGetParam(ComponentName & "PageSize", Empty) If IsNumeric(PageSize) And Len(PageSize) > 0 Then If PageSize <= 0 Then Errors.AddError(CCSRunTimeMessages.GetMessage("GridPageSizeError", Empty)) If PageSize > 100 Then PageSize = 100 End If If NOT IsNumeric(PageSize) OR IsEmpty(PageSize) Then _ PageSize = 20 _ Else _ PageSize = CInt(PageSize) PageNumber = CCGetParam(ComponentName & "Page", 1) If Not IsNumeric(PageNumber) And Len(PageNumber) > 0 Then Errors.AddError(CCSRunTimeMessages.GetMessage("GridPageNumberError", Empty)) PageNumber = 1 ElseIf Len(PageNumber) > 0 Then If PageNumber > 0 Then PageNumber = CInt(PageNumber) Else Errors.AddError(CCSRunTimeMessages.GetMessage("GridPageNumberError", Empty)) PageNumber = 1 End If Else PageNumber = 1 End If ActiveSorter = CCGetParam("messagesOrder", Empty) SortingDirection = CCGetParam("messagesDir", Empty) If NOT(SortingDirection = "ASC" OR SortingDirection = "DESC") Then _ SortingDirection = Empty Set smile_url = CCCreateControl(ccsLabel, "smile_url", "smile_url", ccsText, Empty, CCGetRequestParam("smile_url", ccsGet)) smile_url.HTML = True Set topic = CCCreateControl(ccsLink, "topic", "topic", ccsText, Empty, CCGetRequestParam("topic", ccsGet)) Set author = CCCreateControl(ccsLabel, "author", "author", ccsText, Empty, CCGetRequestParam("author", ccsGet)) Set date_add = CCCreateControl(ccsLabel, "date_add", "date_add", ccsDate, Array("mm", "/", "dd", "/", "yyyy", " ", "h", ":", "nn", " ", "AM/PM"), CCGetRequestParam("date_add", ccsGet)) Set Sorter_topic = CCCreateSorter("Sorter_topic", Me, FileName) Set Sorter_author = CCCreateSorter("Sorter_author", Me, FileName) Set Sorter_ldate_add = CCCreateSorter("Sorter_ldate_add", Me, FileName) Set Navigator1 = CCCreateNavigator(ComponentName, "Navigator1", FileName, 10, tpSimple) End Sub 'End messages Class_Initialize Event 'messages Initialize Method @7-2AEA3975 Sub Initialize(objConnection) If NOT Visible Then Exit Sub Set DataSource.Connection = objConnection DataSource.PageSize = PageSize DataSource.SetOrder ActiveSorter, SortingDirection DataSource.AbsolutePage = PageNumber End Sub 'End messages Initialize Method 'messages Class_Terminate Event @7-E1528F98 Private Sub Class_Terminate() Set DataSource = Nothing Set Command = Nothing Set Errors = Nothing End Sub 'End messages Class_Terminate Event 'messages Show Method @7-C30956F6 Sub Show(Tpl) If NOT Visible Then Exit Sub Dim RecordCounter, ShownRecords Dim RowBlock With DataSource .Parameters("urls_message") = CCGetRequestParam("s_message", ccsGET) .Parameters("urls_author") = CCGetRequestParam("s_author", ccsGET) .Parameters("urlsdf") = CCGetRequestParam("sdf", ccsGET) End With CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeSelect", Me) Set Recordset = DataSource.Open(Command) Set TemplateBlock = Tpl.Block("Grid " & ComponentName) Set RowBlock = TemplateBlock.Block("Row") Set StaticControls = CCCreateCollection(TemplateBlock, Null, ccsParseOverwrite, _ Array(Sorter_topic, Sorter_author, Sorter_ldate_add, Navigator1)) Set RowControls = CCCreateCollection(RowBlock, Null, ccsParseAccumulate, _ Array(smile_url, topic, author, date_add)) CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Me) If NOT Visible Then Exit Sub Errors.AddErrors DataSource.Errors If Errors.Count > 0 Then TemplateBlock.HTML = CCFormatError("Grid messages", Errors) Else ' Show NoRecords block if no records are found If Recordset.EOF Then TemplateBlock.Block("NoRecords").Parse ccsParseOverwrite End If While NOT Recordset.EOF AND ShownRecords < PageSize smile_url.Value = Recordset.Fields("smile_url") topic.Value = Recordset.Fields("topic") topic.Link = "" topic.Parameters = CCAddParam(topic.Parameters, "message_id", Recordset.Fields("topic_param1")) topic.Page = "ViewThread.asp" author.Value = Recordset.Fields("author") date_add.Value = Recordset.Fields("date_add") CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShowRow", Me) RowControls.Show Recordset.MoveNext ShownRecords = ShownRecords + 1 Wend Navigator1.SetDataSource Recordset StaticControls.Show End If End Sub 'End messages Show Method 'messages PageSize Property Let @7-54E46DD6 Public Property Let PageSize(NewValue) VarPageSize = NewValue DataSource.PageSize = NewValue End Property 'End messages PageSize Property Let 'messages PageSize Property Get @7-9AA1D1E9 Public Property Get PageSize() PageSize = VarPageSize End Property 'End messages PageSize Property Get End Class 'End messages Class @7-A61BA892 Class clsmessagesDataSource 'messagesDataSource Class @7-76310243 'DataSource Variables @7-30C20D70 Public Errors, Connection, Parameters, CCSEvents Public Recordset Public SQL, CountSQL, Order, Where, Orders Public PageSize Public PageCount Public AbsolutePage Public Fields Dim WhereParameters Public AllParamsSet Public CmdExecution Private CurrentOperation Private CCSEventResult ' Datasource fields Public smile_url Public topic Public topic_param1 Public author Public date_add 'End DataSource Variables 'DataSource Class_Initialize Event @7-FF451E7D Private Sub Class_Initialize() Set CCSEvents = CreateObject("Scripting.Dictionary") Set Fields = New clsFields Set Recordset = New clsDataSource Set Recordset.DataSource = Me Set Errors = New clsErrors AllParamsSet = True Set smile_url = CCCreateField("smile_url", "smile_url", ccsText, Empty, Recordset) Set topic = CCCreateField("topic", "message_title", ccsText, Empty, Recordset) Set topic_param1 = CCCreateField("topic_param1", "message_id", ccsText, Empty, Recordset) Set author = CCCreateField("author", "author", ccsText, Empty, Recordset) Set date_add = CCCreateField("date_add", "date_add", ccsDate, Array("yyyy", "-", "mm", "-", "dd", " ", "HH", ":", "nn", ":", "ss"), Recordset) Fields.AddFields Array(smile_url, topic, topic_param1, author, date_add) Set Parameters = Server.CreateObject("Scripting.Dictionary") Set WhereParameters = Nothing Orders = Array( _ Array("Sorter_topic", "message_title, message_id", "message_title desc, message_id"), _ Array("Sorter_author", "author, message_id", "author desc, message_id"), _ Array("Sorter_ldate_add", "date_add, message_id", "date_add desc, message_id")) SQL = "SELECT TOP {SqlParam_endRecord} * " & _ "FROM forum_messages LEFT JOIN smiles ON " & _ "forum_messages.smile_id = smiles.smile_id" CountSQL = "SELECT COUNT(*) " & _ "FROM forum_messages LEFT JOIN smiles ON " & _ "forum_messages.smile_id = smiles.smile_id" Where = "" Order = "date_add desc" End Sub 'End DataSource Class_Initialize Event 'SetOrder Method @7-68FC9576 Sub SetOrder(Column, Direction) Order = Recordset.GetOrder(Order, Column, Direction, Orders) End Sub 'End SetOrder Method 'BuildTableWhere Method @7-9D6C208C Public Sub BuildTableWhere() Dim WhereParams If Not WhereParameters Is Nothing Then _ Exit Sub Set WhereParameters = new clsSQLParameters With WhereParameters Set .Connection = Connection Set .ParameterSources = Parameters Set .DataSource = Me .AddParameter 1, "urls_message", ccsText, Empty, Empty, Empty, False .AddParameter 2, "urls_message", ccsMemo, Empty, Empty, Empty, False .AddParameter 3, "urls_author", ccsText, Empty, Empty, Empty, False .AddParameter 4, "urlsdf", ccsInteger, Empty, Empty, 1, False .Criterion(1) = .Operation(opContains, False, "message_title", .getParamByID(1)) .Criterion(2) = .Operation(opContains, False, "message_desc", .getParamByID(2)) .Criterion(3) = .Operation(opContains, False, "author", .getParamByID(3)) .Criterion(4) = .Operation(opIsNull, False, "message_id_parent", .getParamByID(4)) .AssembledWhere = .opAND(False, .opAND(False, .opOR(True, .Criterion(1), .Criterion(2)), .Criterion(3)), .Criterion(4)) WhereParams = .AssembledWhere If Len(Where) > 0 Then If Len(WhereParams) > 0 Then _ Where = Where & " AND " & WhereParams Else If Len(WhereParams) > 0 Then _ Where = WhereParams End If End With End Sub 'End BuildTableWhere Method 'Open Method @7-192E38F9 Function Open(Cmd) Errors.Clear Set Cmd.Connection = Connection Cmd.CommandOperation = cmdOpen Cmd.PageSize = PageSize Cmd.ActivePage = AbsolutePage Cmd.CommandType = dsTable CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeBuildSelect", Me) Cmd.SQL = SQL Cmd.CountSQL = CountSQL BuildTableWhere Cmd.Where = Where Cmd.OrderBy = Order Cmd.Options("TOP") = True CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeExecuteSelect", Me) If Errors.Count = 0 And CCSEventResult Then _ Set Recordset = Cmd.Exec(Errors) CCSEventResult = CCRaiseEvent(CCSEvents, "AfterExecuteSelect", Me) Set Recordset.FieldsCollection = Fields Set Open = Recordset End Function 'End Open Method 'DataSource Class_Terminate Event @7-41B4B08D Private Sub Class_Terminate() If Recordset.State = adStateOpen Then _ Recordset.Close Set Recordset = Nothing Set Parameters = Nothing Set Errors = Nothing End Sub 'End DataSource Class_Terminate Event End Class 'End messagesDataSource Class @7-A61BA892 'Include Page Implementation @28-58B2864F %> <% 'End Include Page Implementation %>