spGetSpecialPages

Parameters

Parameter Parameter Type Mode Description
@ClientSitesID int IN
@IncludeLockedArtifacts bit IN

Definition

Copy

CREATE procedure [dbo].[spGetSpecialPages] (
    @ClientSitesID int,
    @IncludeLockedArtifacts bit = 0
)
as

declare @Pages TABLE(ID int, PageName nvarchar(256), PageType nvarchar(256), Seq int)

insert into @Pages (id, pagename, PageType, seq)
select id, pagename, 'Privacy Page', 10 
from dbo.SitePages
where id=(select CAST(VALUE as int) from dbo.CMSSITESETTING where CLIENTSITESID=@ClientSitesID AND ENUMID=5) -- corresponds to ESiteSetting.PrivacyPageID

insert into @Pages (id, pagename, PageType, seq)
select id, pagename, 'View on the Web Email Page', 25 
from dbo.SitePages
where id=(select CAST(VALUE as int) from dbo.CMSSITESETTING where CLIENTSITESID=@ClientSitesID AND ENUMID=52) and Deleted<>1 -- corresponds to ESiteSetting.EmailViewOnWebPageID

insert into @Pages (id, pagename,PageType, seq)
select id, pagename, 'Login Page', 5 
from dbo.SitePages
where id=(select CAST(VALUE as int) from dbo.CMSSITESETTING where CLIENTSITESID=@ClientSitesID AND ENUMID=3) -- corresponds to ESiteSetting.LoginPageID

insert into @Pages (id, pagename,PageType, seq)
select id, pagename, 'Home Page', 1 
from dbo.SitePages
where id=(select CAST(VALUE as int) from dbo.CMSSITESETTING where CLIENTSITESID=@ClientSitesID AND ENUMID=2) -- corresponds to ESiteSetting.DefaultPageID

insert into @Pages (id, pagename, PageType, seq)
select distinct VPC.pageid, VPC.pagename, 'Email Preferences Page', 20 from vwPageContent VPC
inner join dbo.SitePages SP on SP.ID = VPC.PageID
LEFT OUTER JOIN
(select PAGEMODELITEM.OBJECTGUID
from dbo.PAGEMODELITEM
inner join dbo.PAGEMODEL on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
where PAGEMODEL.LOCKARTIFACTS = 1
) PMI on PMI.OBJECTGUID = VPC.PageGuid
WHERE SP.ClientSitesID = @ClientSitesID
and VPC.IsTemplatePage = 0
and VPC.ContentTypesID = 50
and (PMI.OBJECTGUID is null OR @IncludeLockedArtifacts = 1)

insert into @Pages (id, pagename, PageType, seq)
select distinct sp.ID, sp.PageName, 'Email Preferences Page', 20
from dbo.SitePages sp
inner join dbo.PageContent pc on sp.ClientSitesID = @ClientSitesID and pc.SitePagesID = sp.ID
inner join dbo.SiteContent sc on pc.SiteContentID = sc.ID and sc.ContentTypesID = 121
inner join dbo.APEXFORMCONTENT afc on afc.ID = sc.Guid
inner join dbo.APEXFORM af on af.ID = afc.FORMID and af.FORMTYPEID = '89D3C4CC-4D01-4E8B-B82E-04AD966EEE09'

insert into @Pages (ID, PageName, PageType, Seq)
select id, pagename, 'Registration Page', 1 
from dbo.SitePages
where id=(select CAST(VALUE as int) from dbo.CMSSITESETTING where CLIENTSITESID=@ClientSitesID AND ENUMID=32) -- corresponds to ESiteSetting.FAFRoleSelectionPageID

insert into @Pages (ID, PageName, PageType, Seq)
select id, pagename, 'Donation Page', 1 
from dbo.SitePages
where id=(select CAST(VALUE as int) from dbo.CMSSITESETTING where CLIENTSITESID=@ClientSitesID AND ENUMID=46) -- corresponds to ESiteSetting.FAFDonationPageID

--Web forms user registration page
insert into @Pages (ID, PageName, PageType, Seq)
select SitePages.ID, PageName, 'User Registration Page', 3 
from dbo.SitePages
inner join dbo.MICROSITESETTING    on SitePages.ID =  cast(VALUE as int) and MICROSITESETTING.MICROSITESETTING = 17
where 
    --Basic cms is installed
    dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('e5e0494b-ba0f-4e23-b8fb-a59112dbf3c8') = 1 and
    --Locked artifact check
    (
        @IncludeLockedArtifacts = 1 or 
        not exists (
            select 1
            from dbo.PAGEMODEL
            inner join dbo.PAGEMODELITEM
                on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
            where
                PAGEMODEL.LOCKARTIFACTS = 1 and
                PAGEMODELITEM.PRIMARYKEY = SitePages.ID
        )
    )

select * from @Pages
order by seq