<% 'Include Common Files @1-16366741 %> <% 'End Include Common Files 'Initialize Page @1-2EF4B88F ' 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 messages Redirect = "" TemplateFileName = "Reply.html" Set CCSEvents = CreateObject("Scripting.Dictionary") PathToCurrentPage = "./" FileName = "Reply.asp" PathToRoot = "./" ScriptPath = Left(Request.ServerVariables("PATH_TRANSLATED"), Len(Request.ServerVariables("PATH_TRANSLATED")) - Len(FileName)) 'End Initialize Page 'Initialize Objects @1-22944B91 Set DBConnection1 = New clsDBConnection1 DBConnection1.Open ' Controls Set Header = New clsHeader Header.initIncludes("") Header.BindEvents Header.Initialize Set messages = new clsRecordmessages messages.Initialize DBConnection1 ' Events %> <% BindEvents CCSEventResult = CCRaiseEvent(CCSEvents, "AfterInitialize", Nothing) 'End Initialize Objects 'Execute Components @1-23EC2B70 Header.Operations messages.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-3CC9CBE1 Header.Show Tpl, "Header" 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-D3000B53 Sub UnloadPage() CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeUnload", Nothing) If DBConnection1.State = adStateOpen Then _ DBConnection1.Close Set DBConnection1 = Nothing Set Header = Nothing Set messages = Nothing End Sub 'End UnloadPage Sub Class clsRecordmessages 'messages Class @4-105FE3F4 'messages Variables @4-8F277D8D ' 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 smile_id Dim smile_idDataSource Dim topic Dim author Dim message Dim date_add Dim message_id_parent Dim Insert Dim Cancel 'End messages Variables 'messages Class_Initialize Event @4-CA7F7906 Private Sub Class_Initialize() Visible = True Set Errors = New clsErrors Set CCSEvents = CreateObject("Scripting.Dictionary") Set DataSource = New clsmessagesDataSource Set Command = New clsCommand InsertAllowed = True UpdateAllowed = False DeleteAllowed = False ReadAllowed = False Dim Method Dim OperationMode OperationMode = Split(CCGetFromGet("ccsForm", Empty), ":") If UBound(OperationMode) > -1 Then FormSubmitted = (OperationMode(0) = "messages") End If If UBound(OperationMode) > 0 Then EditMode = (OperationMode(1) = "Edit") End If ComponentName = "messages" Method = IIf(FormSubmitted, ccsPost, ccsGet) Set smile_idDataSource = CCCreateDataSource(dsTable,DBConnection1, Array("SELECT * " & _ "FROM smiles", "", "smile_id")) With smile_idDataSource.WhereParameters Set .ParameterSources = Server.CreateObject("Scripting.Dictionary") .ParameterSources("expr14") = 0 .AddParameter 1, "expr14", ccsInteger, Empty, Empty, Empty, False .Criterion(1) = .Operation(opNotEqual, False, "smile_id", .getParamByID(1)) .AssembledWhere = .Criterion(1) End With smile_idDataSource.Where = smile_idDataSource.WhereParameters.AssembledWhere Set smile_id = CCCreateList(ccsRadioButton, "smile_id", "Smiley Id", ccsInteger, CCGetRequestParam("smile_id", Method), smile_idDataSource) smile_id.BoundColumn = "smile_id" smile_id.TextColumn = "smile_url" smile_id.HTML = True Set topic = CCCreateControl(ccsTextBox, "topic", "Topic", ccsText, Empty, CCGetRequestParam("topic", Method)) topic.Required = True Set author = CCCreateControl(ccsTextBox, "author", "Author", ccsText, Empty, CCGetRequestParam("author", Method)) author.Required = True Set message = CCCreateControl(ccsTextArea, "message", "Message", ccsMemo, Empty, CCGetRequestParam("message", Method)) message.Required = True Set date_add = CCCreateControl(ccsHidden, "date_add", "date_add", ccsDate, Array("mm", "/", "dd", "/", "yyyy", " ", "h", ":", "nn", " ", "AM/PM"), CCGetRequestParam("date_add", Method)) Set message_id_parent = CCCreateControl(ccsHidden, "message_id_parent", "message_id_parent", ccsInteger, Empty, CCGetRequestParam("message_id_parent", Method)) Set Insert = CCCreateButton("Insert") Set Cancel = CCCreateButton("Cancel") Set ValidatingControls = new clsControls ValidatingControls.addControls Array(smile_id, topic, author, message, date_add, message_id_parent) If Not FormSubmitted Then If IsEmpty(smile_id.Value) Then _ smile_id.Value = 1 If IsEmpty(date_add.Value) Then _ date_add.Value = Now End If End Sub 'End messages Class_Initialize Event 'messages Initialize Method @4-E96DD0BE Sub Initialize(objConnection) If NOT Visible Then Exit Sub Set DataSource.Connection = objConnection With DataSource .Parameters("urla") = CCGetRequestParam("a", ccsGET) End With End Sub 'End messages Initialize Method 'messages Class_Terminate Event @4-32B847C9 Private Sub Class_Terminate() Set Errors = Nothing End Sub 'End messages Class_Terminate Event 'messages Validate Method @4-B9D513CF Function Validate() Dim Validation ValidatingControls.Validate CCSEventResult = CCRaiseEvent(CCSEvents, "OnValidate", Me) Validate = ValidatingControls.isValid() And (Errors.Count = 0) End Function 'End messages Validate Method 'messages Operation Method @4-F45B15ED Sub Operation() If NOT ( Visible AND FormSubmitted ) Then Exit Sub If FormSubmitted Then PressedButton = "Insert" If Not IsEmpty(CCGetParam("Insert", Empty)) Then PressedButton = "Insert" ElseIf Not IsEmpty(CCGetParam("Cancel", Empty)) Then PressedButton = "Cancel" End If End If Redirect = "ViewThread.asp?" & CCGetQueryString("QueryString", Array("ccsForm", "Insert", "Cancel")) If PressedButton = "Cancel" Then If NOT Cancel.OnClick Then Redirect = "" Else Redirect = "ViewThread.asp?" & CCGetQueryString("QueryString", Array("ccsForm")) End If ElseIf Validate() Then If PressedButton = "Insert" Then If NOT Insert.OnClick() OR NOT InsertRow() Then Redirect = "" End If End If Else Redirect = "" End If End Sub 'End messages Operation Method 'messages InsertRow Method @4-10364EAF Function InsertRow() CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeInsert", Me) If NOT InsertAllowed Then InsertRow = False : Exit Function DataSource.smile_id.Value = smile_id.Value DataSource.topic.Value = topic.Value DataSource.author.Value = author.Value DataSource.message.Value = message.Value DataSource.date_add.Value = date_add.Value DataSource.message_id_parent.Value = message_id_parent.Value DataSource.Insert(Command) CCSEventResult = CCRaiseEvent(CCSEvents, "AfterInsert", Me) If DataSource.Errors.Count > 0 Then Errors.AddErrors(DataSource.Errors) DataSource.Errors.Clear End If InsertRow = (Errors.Count = 0) End Function 'End messages InsertRow Method 'messages Show Method @4-43246C65 Sub Show(Tpl) If NOT Visible Then Exit Sub CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeSelect", Me) Set Recordset = DataSource.Open(Command) If Recordset.State = adStateOpen Then EditMode = NOT Recordset.EOF And ReadAllowed Else EditMode = False End If HTMLFormAction = FileName & "?" & CCAddParam(Request.ServerVariables("QUERY_STRING"), "ccsForm", "messages" & IIf(EditMode, ":Edit", "")) Set TemplateBlock = Tpl.Block("Record " & ComponentName) TemplateBlock.Variable("HTMLFormName") = ComponentName TemplateBlock.Variable("HTMLFormEnctype") ="application/x-www-form-urlencoded" If DataSource.Errors.Count > 0 Then Errors.AddErrors(DataSource.Errors) DataSource.Errors.Clear With TemplateBlock.Block("Error") .Variable("Error") = Errors.ToString .Parse False End With End If Set Controls = CCCreateCollection(TemplateBlock, Null, ccsParseOverwrite, _ Array(smile_id, topic, author, message, date_add, message_id_parent, Insert, Cancel)) If EditMode And ReadAllowed Then If Errors.Count = 0 Then If Recordset.Errors.Count > 0 Then With TemplateBlock.Block("Error") .Variable("Error") = Recordset.Errors.ToString .Parse False End With ElseIf Not Recordset.EOF Then If Not FormSubmitted Then smile_id.Value = Recordset.Fields("smile_id") topic.Value = Recordset.Fields("topic") author.Value = Recordset.Fields("author") message.Value = Recordset.Fields("message") date_add.Value = Recordset.Fields("date_add") message_id_parent.Value = Recordset.Fields("message_id_parent") End If Else EditMode = False End If End If End If If Not FormSubmitted Then End If If FormSubmitted Then With TemplateBlock.Block("Error") .Variable("Error") = ValidatingControls.GetErrors & Errors.ToString _ & DataSource.Errors.ToString .Parse False End With End If TemplateBlock.Variable("Action") = HTMLFormAction Insert.Visible = NOT EditMode AND InsertAllowed CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Me) If Visible Then Controls.Show End Sub 'End messages Show Method End Class 'End messages Class @4-A61BA892 Class clsmessagesDataSource 'messagesDataSource Class @4-76310243 'DataSource Variables @4-D9546CF1 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_id Public topic Public author Public message Public date_add Public message_id_parent 'End DataSource Variables 'DataSource Class_Initialize Event @4-7E0868AC 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_id = CCCreateField("smile_id", "smile_id", ccsInteger, Empty, Recordset) Set topic = CCCreateField("topic", "message_title", ccsText, Empty, Recordset) Set author = CCCreateField("author", "author", ccsText, Empty, Recordset) Set message = CCCreateField("message", "message_desc", ccsMemo, Empty, Recordset) Set date_add = CCCreateField("date_add", "date_add", ccsDate, Array("yyyy", "-", "mm", "-", "dd", " ", "HH", ":", "nn", ":", "ss"), Recordset) Set message_id_parent = CCCreateField("message_id_parent", "message_id_parent", ccsInteger, Empty, Recordset) Fields.AddFields Array(smile_id, topic, author, message, date_add, message_id_parent) Set Parameters = Server.CreateObject("Scripting.Dictionary") Set WhereParameters = Nothing SQL = "SELECT TOP 1 * " & _ "FROM forum_messages" Where = "" Order = "" End Sub 'End DataSource Class_Initialize Event 'BuildTableWhere Method @4-0D1AA0F5 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, "urla", ccsInteger, Empty, Empty, Empty, False AllParamsSet = .AllParamsSet .Criterion(1) = .Operation(opEqual, False, "message_id", .getParamByID(1)) .AssembledWhere = .Criterion(1) 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 @4-F51151ED 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 BuildTableWhere Cmd.Where = Where Cmd.OrderBy = Order Cmd.Options("TOP") = True If Not AllParamsSet Then Set Open = New clsEmptyDataSource Exit Function End If 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 @4-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 'Insert Method @4-A836DDE0 Sub Insert(Cmd) CmdExecution = True CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeBuildInsert", Me) Set Cmd.Connection = Connection Cmd.CommandOperation = cmdExec Cmd.CommandType = dsTable Cmd.CommandParameters = Empty Cmd.Prepared = True Cmd.SQL = "INSERT INTO forum_messages(" & _ "smile_id, " & _ "message_title, " & _ "author, " & _ "message_desc, " & _ "date_add, " & _ "message_id_parent" & _ ") VALUES (" & _ Connection.ToSQL(IIf(TypeName(smile_id) = "clsSQLParameter", smile_id, smile_id.SQLText), smile_id.DataType) & ", " & _ Connection.ToSQL(IIf(TypeName(topic) = "clsSQLParameter", topic, topic.SQLText), topic.DataType) & ", " & _ Connection.ToSQL(IIf(TypeName(author) = "clsSQLParameter", author, author.SQLText), author.DataType) & ", " & _ "?" & ", " & _ Connection.ToSQL(IIf(TypeName(date_add) = "clsSQLParameter", date_add, date_add.SQLText), date_add.DataType) & ", " & _ Connection.ToSQL(IIf(TypeName(message_id_parent) = "clsSQLParameter", message_id_parent, message_id_parent.SQLText), message_id_parent.DataType) & _ ")" Cmd.CommandParameters = Array( _ Array("message_desc", adLongVarChar, adParamInput, 2147483647, message.Value) _ ) CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeExecuteInsert", Me) If Errors.Count = 0 And CmdExecution Then Cmd.Exec(Errors) CCSEventResult = CCRaiseEvent(CCSEvents, "AfterExecuteInsert", Me) End If End Sub 'End Insert Method End Class 'End messagesDataSource Class @4-A61BA892 'Include Page Implementation @2-58B2864F %> <% 'End Include Page Implementation %>