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], '&','&amp;'),'<','&lt;'),'>','&gt;')
                        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;