spCloneSite_StyleSheets

Parameters

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

Definition

Copy


CREATE PROCEDURE [dbo].[spCloneSite_StyleSheets]
(
@SourceClientSitesID int,
@TargetClientSitesID int,
@CurrentUserID int,
@CopyBatchGuid uniqueidentifier
)

AS

INSERT INTO SiteStyleSheets
(Name, ClientSitesID, Description, CustomCSS, Guid, OwnerID, Deleted, CustomCssXml, CopySourceID, CopyBatchGUID, MediaType, BrowserType)
SELECT
Name,
@TargetClientSitesID,
Description,
dbo.UFN_UPDATECOPYCONTENTHTML(CustomCSS,@CopyBatchGUID),
newid(),
OwnerID,
Deleted,
dbo.UFN_UPDATECOPYCONTENTHTML(CustomCssXml,@CopyBatchGUID),
SiteStyleSheets.ID,
@CopyBatchGUID,
MediaType,
BrowserType
FROM SiteStyleSheets
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 = SiteStyleSheets.Guid
WHERE ClientSitesID = @SourceClientSitesID AND Deleted = 0 AND PMI.OBJECTGUID is null

--First insert entries for the empty items

INSERT INTO dbo.StyleSheetClasses (StyleSheetID, CSSClassID, CSS)
SELECT SSS.ID, SSC.CSSClassID, SSC.CSS
FROM dbo.StyleSheetClasses SSC
INNER JOIN dbo.SiteStyleSheets SSS on SSS.CopySourceID = SSC.StyleSheetID and SSS.CopyBatchGUID = @CopyBatchGuid
WHERE SSC.CSS = ''

--Now insert entries for the non empty items.  These ones need to go through

-- the Update Copy Content HTML function

INSERT INTO dbo.StyleSheetClasses (StyleSheetID, CSSClassID, CSS)
SELECT SSS.ID, SSC.CSSClassID, dbo.UFN_UPDATECOPYCONTENTHTML(SSC.CSS, @CopyBatchGuid)
FROM dbo.StyleSheetClasses SSC
INNER JOIN dbo.SiteStyleSheets SSS on SSS.CopySourceID = SSC.StyleSheetID and SSS.CopyBatchGUID = @CopyBatchGuid
WHERE SSC.CSS <> ''