spCloneSite_VanityURLs

Used in site copy process to copy Vanity URLs

Parameters

Parameter Parameter Type Mode Description
@SourceClientSitesID int IN
@TargetClientSitesID int IN
@CurrentUserID int IN
@CopyBatchGuid uniqueidentifier IN

Definition

Copy


CREATE procedure [dbo].[spCloneSite_VanityURLs]
(
     @SourceClientSitesID    int
    ,@TargetClientSitesID    int
    ,@CurrentUserID            int
    ,@CopyBatchGuid            uniqueidentifier
)
as
begin

    set nocount on;

    insert into [dbo].[VanityURL]
    (
         RealmTypeID
        ,RealmID
        ,ClientUserID
        ,PageID
        ,TabID
        ,VanityURL
        ,TargetURL
        ,ClientSitesID
        ,CopySourceID
        ,CopyBatchGUID
        ,DateChanged
        ,DateAdded
    )    
    select
        VanityURL.RealmTypeID
        ,case 
            when VanityURL.RealmTypeID = 4 then SitePages.ID 
            else VanityURL.RealmID 
        end
        ,VanityURL.ClientUserID
        ,SitePages.ID
        ,VanityURL.TabID
        ,VanityURL.VanityURL
        ,VanityURL.TargetURL
        ,@TargetClientSitesID
        ,VanityURL.ID
        ,@CopyBatchGUID
        ,GetDate()
        ,GetDate()
    from    [dbo].[VanityURL]
    left join [dbo].[SitePages] OriginalPage on OriginalPage.ID = VanityURL.PageID
    left join [dbo].[SitePages] on    SitePages.CopySourceID = VanityURL.PageID and SitePages.CopyBatchGUID = @CopyBatchGuid
    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 = OriginalPage.Guid
    where VanityURL.ClientSitesID = @SourceClientSitesID
    and [VanityURL].RealmTypeID <> 7 -- exclude friendly URL;

    and    PMI.OBJECTGUID is null
end