spBulkUpdate_SiteStyleSheet
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SheetID | int | IN | |
@MaintMode | int | IN | |
@CurrentUsersID | int | IN | |
@XML | ntext | IN | |
@CustomCss | ntext | IN | |
@CustomCssXml | ntext | IN |
Definition
Copy
CREATE procedure dbo.spBulkUpdate_SiteStyleSheet
(
@SheetID int,
@MaintMode int,
@CurrentUsersID int,
@XML ntext,
@CustomCss ntext,
@CustomCssXml ntext
) as
DECLARE @idoc int;
EXEC sp_xml_preparedocument @idoc OUTPUT, @XML;
declare @css table (guid uniqueidentifier primary key default(newid()), classid int, sheetclassid int, css nvarchar(2046), friendlyname nvarchar(255), [desc] nvarchar(1024) unique(sheetclassid, guid), unique(classid, [desc], guid));
insert into @css(classid, sheetclassid, css, friendlyname, [desc])
SELECT id, scid, css, fn, d
FROM OPENXML (@idoc, '//sheet/rule',2) WITH(id int, scid int, css nvarchar(2046), fn nvarchar(255), d nvarchar(1024));
EXEC sp_xml_removedocument @idoc;
BEGIN Transaction
UPDATE StyleSheetClasses
set css = css.css
from StyleSheetClasses ssc
inner join @css css on ssc.id = css.sheetclassid;
insert into StyleSheetClasses(stylesheetid, cssclassid, css)
select @sheetid, css.classid, css.css
from @css css
where not exists(
select *
from StyleSheetClasses ssc
where ssc.id = css.sheetclassid
);
IF (@MaintMode=1) BEGIN
update CSSClasses set Description=replace(replace(replace(css.[desc], '&','&'),'<','<'),'>','>')
from CSSClasses c
inner join @css css on css.classid = c.id;
END
DECLARE @Guid uniqueidentifier;
select @Guid = Guid from SiteStyleSheets where ID = @SheetID;
exec spAuditThis @CurrentUsersID, 2, @Guid, 30;
update Sitestylesheets set CustomCss = @CustomCss, CustomCssXml = @CustomCssXml where id = @sheetid;
commit transaction;