<%@ CodePage=28591 %> <% 'Include Common Files @1-3F5A437A %> <% 'End Include Common Files 'Initialize Page @1-3A8358DE ' Variables Dim PathToRoot, ScriptPath, TemplateFilePath Dim FileName Dim Redirect Dim Tpl, HTMLTemplate Dim TemplateFileName Dim ComponentName Dim PathToCurrentPage Dim Attributes ' Events Dim CCSEvents Dim CCSEventResult ' Connections Dim DBcontentfusion ' Page controls Dim lblPageTitle Dim lblMetaTags Dim lblShortcutIcon Dim lblStylesheets Dim lblCollectionItem Dim lblLogo2 Dim lblTitleBar Dim lblAdvertisements1 Dim lblContentRight Dim lblNews1Shortlist Dim lblSpecials1Shortlist Dim lblBanner1 Dim Panel_CollectionIntro Dim lblCollectionIntro Dim Panel_CollectionImages Dim items Dim item Dim lblMenuMain Dim lblCollections Dim lblLogo1 Dim lblFooter1 Dim lblLanguage Dim lblMenuGlobal Dim lblGoogleAnalytics Dim ChildControls Response.ContentType = CCSContentType Redirect = "" TemplateFileName = "collection.html" Set CCSEvents = CreateObject("Scripting.Dictionary") PathToCurrentPage = "./html/" FileName = "collection.asp" PathToRoot = "../" ScriptPath = Left(Request.ServerVariables("PATH_TRANSLATED"), Len(Request.ServerVariables("PATH_TRANSLATED")) - Len(FileName)) TemplateFilePath = ScriptPath 'End Initialize Page 'Initialize Objects @1-001B280A Set DBcontentfusion = New clsDBcontentfusion DBcontentfusion.Open Set Attributes = New clsAttributes ' Controls Set lblPageTitle = CCCreateControl(ccsLabel, "lblPageTitle", Empty, ccsText, Empty, CCGetRequestParam("lblPageTitle", ccsGet)) lblPageTitle.HTML = True Set lblMetaTags = CCCreateControl(ccsLabel, "lblMetaTags", Empty, ccsText, Empty, CCGetRequestParam("lblMetaTags", ccsGet)) lblMetaTags.HTML = True Set lblShortcutIcon = CCCreateControl(ccsLabel, "lblShortcutIcon", Empty, ccsText, Empty, CCGetRequestParam("lblShortcutIcon", ccsGet)) lblShortcutIcon.HTML = True Set lblStylesheets = CCCreateControl(ccsLabel, "lblStylesheets", Empty, ccsText, Empty, CCGetRequestParam("lblStylesheets", ccsGet)) lblStylesheets.HTML = True Set lblCollectionItem = CCCreateControl(ccsLabel, "lblCollectionItem", Empty, ccsText, Empty, CCGetRequestParam("lblCollectionItem", ccsGet)) lblCollectionItem.HTML = True Set lblLogo2 = CCCreateControl(ccsLabel, "lblLogo2", Empty, ccsText, Empty, CCGetRequestParam("lblLogo2", ccsGet)) lblLogo2.HTML = True Set lblTitleBar = CCCreateControl(ccsLabel, "lblTitleBar", Empty, ccsText, Empty, CCGetRequestParam("lblTitleBar", ccsGet)) lblTitleBar.HTML = True Set lblAdvertisements1 = CCCreateControl(ccsLabel, "lblAdvertisements1", Empty, ccsText, Empty, CCGetRequestParam("lblAdvertisements1", ccsGet)) lblAdvertisements1.HTML = True Set lblContentRight = CCCreateControl(ccsLabel, "lblContentRight", Empty, ccsText, Empty, CCGetRequestParam("lblContentRight", ccsGet)) lblContentRight.HTML = True Set lblNews1Shortlist = CCCreateControl(ccsLabel, "lblNews1Shortlist", Empty, ccsText, Empty, CCGetRequestParam("lblNews1Shortlist", ccsGet)) lblNews1Shortlist.HTML = True Set lblSpecials1Shortlist = CCCreateControl(ccsLabel, "lblSpecials1Shortlist", Empty, ccsText, Empty, CCGetRequestParam("lblSpecials1Shortlist", ccsGet)) lblSpecials1Shortlist.HTML = True Set lblBanner1 = CCCreateControl(ccsLabel, "lblBanner1", Empty, ccsText, Empty, CCGetRequestParam("lblBanner1", ccsGet)) lblBanner1.HTML = True Set Panel_CollectionIntro = CCCreatePanel("Panel_CollectionIntro") Set lblCollectionIntro = CCCreateControl(ccsLabel, "lblCollectionIntro", Empty, ccsText, Empty, CCGetRequestParam("lblCollectionIntro", ccsGet)) lblCollectionIntro.HTML = True Set Panel_CollectionImages = CCCreatePanel("Panel_CollectionImages") Set items = New clsGriditems Set item = New clsGriditem Set lblMenuMain = CCCreateControl(ccsLabel, "lblMenuMain", Empty, ccsText, Empty, CCGetRequestParam("lblMenuMain", ccsGet)) lblMenuMain.HTML = True Set lblCollections = CCCreateControl(ccsLabel, "lblCollections", Empty, ccsText, Empty, CCGetRequestParam("lblCollections", ccsGet)) lblCollections.HTML = True Set lblLogo1 = CCCreateControl(ccsLabel, "lblLogo1", Empty, ccsText, Empty, CCGetRequestParam("lblLogo1", ccsGet)) lblLogo1.HTML = True Set lblFooter1 = CCCreateControl(ccsLabel, "lblFooter1", Empty, ccsText, Empty, CCGetRequestParam("lblFooter1", ccsGet)) lblFooter1.HTML = True Set lblLanguage = CCCreateControl(ccsLabel, "lblLanguage", Empty, ccsText, Empty, CCGetRequestParam("lblLanguage", ccsGet)) lblLanguage.HTML = True Set lblMenuGlobal = CCCreateControl(ccsLabel, "lblMenuGlobal", Empty, ccsText, Empty, CCGetRequestParam("lblMenuGlobal", ccsGet)) lblMenuGlobal.HTML = True Set lblGoogleAnalytics = CCCreateControl(ccsLabel, "lblGoogleAnalytics", Empty, ccsText, Empty, CCGetRequestParam("lblGoogleAnalytics", ccsGet)) lblGoogleAnalytics.HTML = True Panel_CollectionIntro.AddComponent(lblCollectionIntro) Panel_CollectionImages.AddComponents(Array(items,item)) items.Initialize DBcontentfusion item.Initialize DBcontentfusion ' Events %> <% BindEvents CCSEventResult = CCRaiseEvent(CCSEvents, "AfterInitialize", Nothing) 'End Initialize Objects '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-2DA4DCFB CCSEventResult = CCRaiseEvent(CCSEvents, "OnInitializeView", Nothing) Set HTMLTemplate = new clsTemplate HTMLTemplate.Encoding = "iso-8859-1" Set HTMLTemplate.Cache = TemplatesRepository HTMLTemplate.LoadTemplate TemplateFilePath & TemplateFileName HTMLTemplate.SetVar "@CCS_PathToRoot", PathToRoot Set Tpl = HTMLTemplate.Block("main") CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Nothing) 'End Initialize HTML Template 'Show Page @1-10DA2B34 Attributes.Show HTMLTemplate, "page:" Set ChildControls = CCCreateCollection(Tpl, Null, ccsParseOverwrite, _ Array(lblPageTitle, lblMetaTags, lblShortcutIcon, lblStylesheets, lblCollectionItem, lblLogo2, lblTitleBar, lblAdvertisements1, lblContentRight, lblNews1Shortlist, lblSpecials1Shortlist, lblBanner1, Panel_CollectionIntro, Panel_CollectionImages, lblMenuMain, lblCollections, lblLogo1, lblFooter1, lblLanguage, lblMenuGlobal, lblGoogleAnalytics)) ChildControls.Show Dim MainHTML HTMLTemplate.Parse "main", False MainHTML = HTMLTemplate.GetHTML("main") CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeOutput", Nothing) If CCSEventResult Then Response.Write MainHTML 'End Show Page 'Unload Page @1-CB210C62 UnloadPage Set Tpl = Nothing Set HTMLTemplate = Nothing 'End Unload Page 'UnloadPage Sub @1-3B3A76E9 Sub UnloadPage() CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeUnload", Nothing) If DBcontentfusion.State = adStateOpen Then _ DBcontentfusion.Close Set DBcontentfusion = Nothing Set CCSEvents = Nothing Set Attributes = Nothing End Sub 'End UnloadPage Sub Class clsGriditems 'items Class @27-D528AFC8 'items Variables @27-5DB0D560 ' Private variables Private VarPageSize ' Public variables Public ComponentName, CCSEvents Public Visible, Errors Public DataSource Public PageNumber Public Command Public TemplateBlock Public IsDSEmpty Public ForceIteration Public Attributes Private ShownRecords Public Recordset Private CCSEventResult ' Grid Controls Public StaticControls, RowControls Dim RowOpenTag Dim RowComponents Dim Item_Picture Dim RowCloseTag Dim lblContentMain Dim Navigator_Items 'End items Variables 'items Class_Initialize Event @27-127F20F2 Private Sub Class_Initialize() ComponentName = "items" Visible = True Set CCSEvents = CreateObject("Scripting.Dictionary") Set Attributes = New clsAttributes Set Errors = New clsErrors Set DataSource = New clsitemsDataSource Set Command = New clsCommand PageSize = CCGetParam(ComponentName & "PageSize", Empty) If IsNumeric(PageSize) And Len(PageSize) > 0 Then If PageSize <= 0 Then Errors.AddError(CCSLocales.GetText("CCS_GridPageSizeError", Empty)) If PageSize > 100 Then PageSize = 100 End If If NOT IsNumeric(PageSize) OR IsEmpty(PageSize) Then _ PageSize = 6 _ Else _ PageSize = CInt(PageSize) PageNumber = CCGetParam(ComponentName & "Page", 1) If Not IsNumeric(PageNumber) And Len(PageNumber) > 0 Then Errors.AddError(CCSLocales.GetText("CCS_GridPageNumberError", Empty)) PageNumber = 1 ElseIf Len(PageNumber) > 0 Then If PageNumber > 0 Then PageNumber = CInt(PageNumber) Else Errors.AddError(CCSLocales.GetText("CCS_GridPageNumberError", Empty)) PageNumber = 1 End If Else PageNumber = 1 End If Set RowOpenTag = CCCreatePanel("RowOpenTag") Set RowComponents = CCCreatePanel("RowComponents") Set Item_Picture = CCCreateControl(ccsImageLink, "Item_Picture", Empty, ccsText, Empty, CCGetRequestParam("Item_Picture", ccsGet)) Set RowCloseTag = CCCreatePanel("RowCloseTag") Set lblContentMain = CCCreateControl(ccsLabel, "lblContentMain", Empty, ccsText, Empty, CCGetRequestParam("lblContentMain", ccsGet)) lblContentMain.HTML = True Set Navigator_Items = CCCreateNavigator(ComponentName, "Navigator_Items", FileName, 10, tpSimple) RowComponents.AddComponent(Item_Picture) IsDSEmpty = True End Sub 'End items Class_Initialize Event 'items Initialize Method @27-57CE6952 Sub Initialize(objConnection) If NOT Visible Then Exit Sub Set DataSource.Connection = objConnection DataSource.PageSize = PageSize DataSource.AbsolutePage = PageNumber End Sub 'End items Initialize Method 'items Class_Terminate Event @27-B97CC660 Private Sub Class_Terminate() Set CCSEvents = Nothing Set DataSource = Nothing Set Command = Nothing Set Errors = Nothing Set Attributes = Nothing End Sub 'End items Class_Terminate Event 'items Show Method @27-6ECEE84C Sub Show(Tpl) Dim HasNext If NOT Visible Then Exit Sub Dim RowBlock With DataSource .Parameters("urlCID") = CCGetRequestParam("CID", ccsGET) .Parameters("expr167") = BOOLEAN_TRUE .Parameters("expr168") = GetCurrentLanguageID(DBcontentfusion) .Parameters("expr169") = CONTENTTYPE_ITEM_NAME End With CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeSelect", Me) Set Recordset = DataSource.Open(Command) If DataSource.Errors.Count = 0 Then IsDSEmpty = Recordset.EOF Set TemplateBlock = Tpl.Block("Grid " & ComponentName) If TemplateBlock is Nothing Then Exit Sub Set RowBlock = TemplateBlock.Block("Row") Set StaticControls = CCCreateCollection(TemplateBlock, Null, ccsParseOverwrite, _ Array(lblContentMain, Navigator_Items)) Navigator_Items.SetDataSource Recordset Set RowControls = CCCreateCollection(RowBlock, Null, ccsParseAccumulate, _ Array(RowOpenTag, RowComponents, RowCloseTag)) Attributes("numberOfColumns") = 3 CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Me) If NOT Visible Then Exit Sub RowControls.PreserveControlsVisible Errors.AddErrors DataSource.Errors If Errors.Count > 0 Then TemplateBlock.HTML = CCFormatError("Grid " & ComponentName, Errors) Else ' Show NoRecords block if no records are found If Recordset.EOF Then Attributes.Show TemplateBlock, "items:" TemplateBlock.Block("NoRecords").Parse ccsParseOverwrite End If HasNext = HasNextRow() ForceIteration = False Do While ForceIteration Or HasNext Attributes("rowNumber") = ShownRecords + 1 If HasNext Then Item_Picture.Value = Recordset.Fields("Item_Picture") Item_Picture.Parameters = CCGetQueryString("QueryString", Array("ccsForm")) Item_Picture.Parameters = CCAddParam(Item_Picture.Parameters, "PID", CCGetRequestParam("PID", ccsGET)) Item_Picture.Parameters = CCAddParam(Item_Picture.Parameters, "CID", CCGetRequestParam("CID", ccsGET)) Item_Picture.Parameters = CCAddParam(Item_Picture.Parameters, "IID", Recordset.Fields("Item_Picture_param1")) Item_Picture.Page = "collection.asp" Item_Picture.Attributes("width") = 130 Item_Picture.Attributes("height") = 114 Item_Picture.Attributes("border") = 0 Item_Picture.Attributes("title") = Recordset.Fields("Content_Value") End If CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShowRow", Me) Attributes.Show TemplateBlock.Block("Row"), "items:" RowControls.Show If HasNext Then Recordset.MoveNext ShownRecords = ShownRecords + 1 HasNext = HasNextRow() Loop Attributes.Show TemplateBlock, "items:" StaticControls.Show End If End Sub 'End items Show Method 'items PageSize Property Let @27-54E46DD6 Public Property Let PageSize(NewValue) VarPageSize = NewValue DataSource.PageSize = NewValue End Property 'End items PageSize Property Let 'items PageSize Property Get @27-9AA1D1E9 Public Property Get PageSize() PageSize = VarPageSize End Property 'End items PageSize Property Get 'items RowNumber Property Get @27-F32EE2C6 Public Property Get RowNumber() RowNumber = ShownRecords + 1 End Property 'End items RowNumber Property Get 'items HasNextRow Function @27-9BECE27A Public Function HasNextRow() HasNextRow = NOT Recordset.EOF AND ShownRecords < PageSize End Function 'End items HasNextRow Function End Class 'End items Class @27-A61BA892 Class clsitemsDataSource 'itemsDataSource Class @27-C9BA987A 'DataSource Variables @27-909D7F29 Public Errors, Connection, Parameters, CCSEvents Public Recordset Public SQL, CountSQL, Order, Where, Orders, StaticOrder Public PageSize Public PageCount Public AbsolutePage Public Fields Dim WhereParameters Public AllParamsSet Public CmdExecution Public InsertOmitIfEmpty Public UpdateOmitIfEmpty Private CurrentOperation Private CCSEventResult ' Datasource fields Public Item_Picture Public Item_Picture_param1 Public Item_Picture_param2 Public Item_Picture_param3 'End DataSource Variables 'DataSource Class_Initialize Event @27-1E41A7DA 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 Set Connection = Nothing AllParamsSet = True Set Item_Picture = CCCreateField("Item_Picture", "Item_Thumbnail", ccsText, Empty, Recordset) Set Item_Picture_param1 = CCCreateField("Item_Picture_param1", "PK_Item_ID", ccsText, Empty, Recordset) Fields.AddFields Array(Item_Picture, Item_Picture_param1) Set Parameters = Server.CreateObject("Scripting.Dictionary") Set WhereParameters = Nothing SQL = "SELECT TOP {SqlParam_endRecord} PK_Item_ID, Item_Picture, Item_Thumbnail, Content_Value " & vbLf & _ "FROM tblContent INNER JOIN tblItems ON " & vbLf & _ "tblContent.FK_Object_ID = tblItems.PK_Item_ID {SQL_Where} {SQL_OrderBy}" CountSQL = "SELECT COUNT(*) " & vbLf & _ "FROM tblContent INNER JOIN tblItems ON " & vbLf & _ "tblContent.FK_Object_ID = tblItems.PK_Item_ID" Where = "" Order = "tblItems.Item_SortOrder, Content_SortOrder" StaticOrder = "" End Sub 'End DataSource Class_Initialize Event 'BuildTableWhere Method @27-B0B13CE5 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, "urlCID", ccsInteger, Empty, Empty, Empty, True .AddParameter 2, "expr167", ccsBoolean, Empty, Array("true", "false", Empty), Empty, True .AddParameter 3, "expr168", ccsInteger, Empty, Empty, Empty, True .AddParameter 4, "expr169", ccsInteger, Empty, Empty, Empty, True .Criterion(1) = .Operation(opEqual, False, "tblItems.FK_Collection_ID", .getParamByID(1)) .Criterion(2) = .Operation(opEqual, False, "tblItems.Item_Enabled", .getParamByID(2)) .Criterion(3) = .Operation(opEqual, False, "tblContent.FK_Language_ID", .getParamByID(3)) .Criterion(4) = .Operation(opEqual, False, "tblContent.FK_Contenttype_ID", .getParamByID(4)) .AssembledWhere = .opAND(False, .opAND(False, .opAND(False, .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 @27-40984FC5 Function Open(Cmd) Errors.Clear If Connection Is Nothing Then Set Open = New clsEmptyDataSource Exit Function End If 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 If(Len(StaticOrder)>0) Then If Len(Order)>0 Then Cmd.OrderBy = ", "+Cmd.OrderBy Cmd.OrderBy = StaticOrder + Cmd.OrderBy End If 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 @27-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 itemsDataSource Class @27-A61BA892 Class clsGriditem 'item Class @63-47845C77 'item Variables @63-5DB0D560 ' Private variables Private VarPageSize ' Public variables Public ComponentName, CCSEvents Public Visible, Errors Public DataSource Public PageNumber Public Command Public TemplateBlock Public IsDSEmpty Public ForceIteration Public Attributes Private ShownRecords Public Recordset Private CCSEventResult ' Grid Controls Public StaticControls, RowControls Dim RowOpenTag Dim RowComponents Dim Item_Picture Dim RowCloseTag Dim lblContentMain Dim Navigator_Items 'End item Variables 'item Class_Initialize Event @63-FF826854 Private Sub Class_Initialize() ComponentName = "item" Visible = True Set CCSEvents = CreateObject("Scripting.Dictionary") Set Attributes = New clsAttributes Set Errors = New clsErrors Set DataSource = New clsitemDataSource Set Command = New clsCommand PageSize = CCGetParam(ComponentName & "PageSize", Empty) If IsNumeric(PageSize) And Len(PageSize) > 0 Then If PageSize <= 0 Then Errors.AddError(CCSLocales.GetText("CCS_GridPageSizeError", Empty)) If PageSize > 100 Then PageSize = 100 End If If NOT IsNumeric(PageSize) OR IsEmpty(PageSize) Then _ PageSize = 1 _ Else _ PageSize = CInt(PageSize) PageNumber = CCGetParam(ComponentName & "Page", 1) If Not IsNumeric(PageNumber) And Len(PageNumber) > 0 Then Errors.AddError(CCSLocales.GetText("CCS_GridPageNumberError", Empty)) PageNumber = 1 ElseIf Len(PageNumber) > 0 Then If PageNumber > 0 Then PageNumber = CInt(PageNumber) Else Errors.AddError(CCSLocales.GetText("CCS_GridPageNumberError", Empty)) PageNumber = 1 End If Else PageNumber = 1 End If Set RowOpenTag = CCCreatePanel("RowOpenTag") Set RowComponents = CCCreatePanel("RowComponents") Set Item_Picture = CCCreateControl(ccsImage, "Item_Picture", Empty, ccsText, Empty, CCGetRequestParam("Item_Picture", ccsGet)) Set RowCloseTag = CCCreatePanel("RowCloseTag") Set lblContentMain = CCCreateControl(ccsLabel, "lblContentMain", Empty, ccsText, Empty, CCGetRequestParam("lblContentMain", ccsGet)) lblContentMain.HTML = True Set Navigator_Items = CCCreateNavigator(ComponentName, "Navigator_Items", FileName, 10, tpSimple) RowComponents.AddComponent(Item_Picture) IsDSEmpty = True End Sub 'End item Class_Initialize Event 'item Initialize Method @63-57CE6952 Sub Initialize(objConnection) If NOT Visible Then Exit Sub Set DataSource.Connection = objConnection DataSource.PageSize = PageSize DataSource.AbsolutePage = PageNumber End Sub 'End item Initialize Method 'item Class_Terminate Event @63-B97CC660 Private Sub Class_Terminate() Set CCSEvents = Nothing Set DataSource = Nothing Set Command = Nothing Set Errors = Nothing Set Attributes = Nothing End Sub 'End item Class_Terminate Event 'item Show Method @63-5B96BFBF Sub Show(Tpl) Dim HasNext If NOT Visible Then Exit Sub Dim RowBlock With DataSource .Parameters("urlCID") = CCGetRequestParam("CID", ccsGET) .Parameters("expr196") = BOOLEAN_TRUE .Parameters("expr197") = GetCurrentLanguageID(DBcontentfusion) .Parameters("expr198") = CONTENTTYPE_ITEM_NAME End With CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeSelect", Me) Set Recordset = DataSource.Open(Command) If DataSource.Errors.Count = 0 Then IsDSEmpty = Recordset.EOF Set TemplateBlock = Tpl.Block("Grid " & ComponentName) If TemplateBlock is Nothing Then Exit Sub Set RowBlock = TemplateBlock.Block("Row") Set StaticControls = CCCreateCollection(TemplateBlock, Null, ccsParseOverwrite, _ Array(lblContentMain, Navigator_Items)) Navigator_Items.SetDataSource Recordset Set RowControls = CCCreateCollection(RowBlock, Null, ccsParseAccumulate, _ Array(RowOpenTag, RowComponents, RowCloseTag)) CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShow", Me) If NOT Visible Then Exit Sub RowControls.PreserveControlsVisible Errors.AddErrors DataSource.Errors If Errors.Count > 0 Then TemplateBlock.HTML = CCFormatError("Grid " & ComponentName, Errors) Else ' Show NoRecords block if no records are found If Recordset.EOF Then Attributes.Show TemplateBlock, "item:" TemplateBlock.Block("NoRecords").Parse ccsParseOverwrite End If HasNext = HasNextRow() ForceIteration = False Do While ForceIteration Or HasNext Attributes("rowNumber") = ShownRecords + 1 If HasNext Then Item_Picture.Value = Recordset.Fields("Item_Picture") Item_Picture.Attributes("width") = 130 Item_Picture.Attributes("height") = 114 Item_Picture.Attributes("border") = 0 Item_Picture.Attributes("title") = Recordset.Fields("Content_Value") End If CCSEventResult = CCRaiseEvent(CCSEvents, "BeforeShowRow", Me) Attributes.Show TemplateBlock.Block("Row"), "item:" RowControls.Show If HasNext Then Recordset.MoveNext ShownRecords = ShownRecords + 1 HasNext = HasNextRow() Loop Attributes.Show TemplateBlock, "item:" StaticControls.Show End If End Sub 'End item Show Method 'item PageSize Property Let @63-54E46DD6 Public Property Let PageSize(NewValue) VarPageSize = NewValue DataSource.PageSize = NewValue End Property 'End item PageSize Property Let 'item PageSize Property Get @63-9AA1D1E9 Public Property Get PageSize() PageSize = VarPageSize End Property 'End item PageSize Property Get 'item RowNumber Property Get @63-F32EE2C6 Public Property Get RowNumber() RowNumber = ShownRecords + 1 End Property 'End item RowNumber Property Get 'item HasNextRow Function @63-9BECE27A Public Function HasNextRow() HasNextRow = NOT Recordset.EOF AND ShownRecords < PageSize End Function 'End item HasNextRow Function End Class 'End item Class @63-A61BA892 Class clsitemDataSource 'itemDataSource Class @63-57148AC1 'DataSource Variables @63-909D7F29 Public Errors, Connection, Parameters, CCSEvents Public Recordset Public SQL, CountSQL, Order, Where, Orders, StaticOrder Public PageSize Public PageCount Public AbsolutePage Public Fields Dim WhereParameters Public AllParamsSet Public CmdExecution Public InsertOmitIfEmpty Public UpdateOmitIfEmpty Private CurrentOperation Private CCSEventResult ' Datasource fields Public Item_Picture Public Item_Picture_param1 Public Item_Picture_param2 Public Item_Picture_param3 'End DataSource Variables 'DataSource Class_Initialize Event @63-B972D566 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 Set Connection = Nothing AllParamsSet = True Set Item_Picture = CCCreateField("Item_Picture", "Item_Picture", ccsText, Empty, Recordset) Set Item_Picture_param1 = CCCreateField("Item_Picture_param1", "PK_Item_ID", ccsText, Empty, Recordset) Fields.AddFields Array(Item_Picture, Item_Picture_param1) Set Parameters = Server.CreateObject("Scripting.Dictionary") Set WhereParameters = Nothing SQL = "SELECT TOP {SqlParam_endRecord} PK_Item_ID, Item_Picture, Item_Thumbnail, Content_Value " & vbLf & _ "FROM tblItems INNER JOIN tblContent ON " & vbLf & _ "tblItems.PK_Item_ID = tblContent.FK_Object_ID {SQL_Where} {SQL_OrderBy}" CountSQL = "SELECT COUNT(*) " & vbLf & _ "FROM tblItems INNER JOIN tblContent ON " & vbLf & _ "tblItems.PK_Item_ID = tblContent.FK_Object_ID" Where = "" Order = "tblItems.Item_SortOrder, Content_SortOrder" StaticOrder = "" End Sub 'End DataSource Class_Initialize Event 'BuildTableWhere Method @63-D9F07903 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, "urlCID", ccsInteger, Empty, Empty, Empty, True .AddParameter 2, "expr196", ccsBoolean, Empty, Array("true", "false", Empty), Empty, True .AddParameter 3, "expr197", ccsInteger, Empty, Empty, Empty, True .AddParameter 4, "expr198", ccsInteger, Empty, Empty, Empty, True .Criterion(1) = .Operation(opEqual, False, "tblItems.FK_Collection_ID", .getParamByID(1)) .Criterion(2) = .Operation(opEqual, False, "tblItems.Item_Enabled", .getParamByID(2)) .Criterion(3) = .Operation(opEqual, False, "tblContent.FK_Language_ID", .getParamByID(3)) .Criterion(4) = .Operation(opEqual, False, "tblContent.FK_Contenttype_ID", .getParamByID(4)) .AssembledWhere = .opAND(False, .opAND(False, .opAND(False, .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 @63-40984FC5 Function Open(Cmd) Errors.Clear If Connection Is Nothing Then Set Open = New clsEmptyDataSource Exit Function End If 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 If(Len(StaticOrder)>0) Then If Len(Order)>0 Then Cmd.OrderBy = ", "+Cmd.OrderBy Cmd.OrderBy = StaticOrder + Cmd.OrderBy End If 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 @63-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 itemDataSource Class @63-A61BA892 %>