예제 #1
0
        private void SaveSettings(HtmlOptimiserSettings settings)
        {
            var storeScope = this.GetActiveStoreScopeConfiguration(_storeService, _workContext);

            _settingService.SaveSetting(settings, x => x.RemoveHeaders, storeScope, false);
            _settingService.SaveSetting(settings, x => x.AddHeaders, storeScope, false);

            _settingService.ClearCache();

            WebConfigUpdater.UpdateWebConfig(settings.RemoveHeaders);

            RestartPlugin();
        }
        /// <summary>
        /// Uninstalls the plugin.
        /// </summary>
        public override void Uninstall()
        {
            // settings
            _settingService.DeleteSetting <HtmlOptimiserSettings>();

            // locales
            this.DeletePluginLocaleResource(Constants.ResourceFieldsMinificationEnabled);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsMinificationEnabledHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveWhitespace);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveWhitespaceHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveHtmlComments);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveHtmlCommentsHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveScriptComments);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveScriptCommentsHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveCDATASections);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveCDATASectionsHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsUseShortDocType);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsUseShortDocTypeHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveQuotes);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveQuotesHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveRedundantAttributes);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveRedundantAttributesHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveOptionalEndTags);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveOptionalEndTagsHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsMinifyInlineScripts);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsMinifyInlineScriptsHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsMinifyInlineStyles);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsMinifyInlineStylesHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveHeaders);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsRemoveHeadersHint);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsAddHeaders);
            this.DeletePluginLocaleResource(Constants.ResourceFieldsAddHeadersHint);
            this.DeletePluginLocaleResource(Constants.ResourceIntroPart1);
            this.DeletePluginLocaleResource(Constants.ResourceIntroPart2);
            this.DeletePluginLocaleResource(Constants.ResourceIntroPart3);
            this.DeletePluginLocaleResource(Constants.ResourceIntroPart4);
            this.DeletePluginLocaleResource(Constants.ResourceIntroPart5);
            this.DeletePluginLocaleResource(Constants.ResourceIntroPart6);

            // update web.config
            WebConfigUpdater.UpdateWebConfig(Enumerable.Empty <string>());

            base.Uninstall();
        }
예제 #3
0
        public void Execute()
        {
            if (Installed)
            {
                // register type converter
                TypeDescriptor.AddAttributes(typeof(List <AddHeader>), new TypeConverterAttribute(typeof(AddHeaderTypeConverter)));

                // check if web.config needs updating (i.e. after an upgrade)
                WebConfigUpdater.UpdateWebConfig(RemoveHeaders);

                // remove old filter before adding new one
                var currentFilter = GlobalFilters.Filters.FirstOrDefault(f => f.Instance.GetType() == typeof(HtmlFilterAttribute));

                if (currentFilter != null)
                {
                    GlobalFilters.Filters.Remove(currentFilter.Instance);
                }

                GlobalFilters.Filters.Add(new HtmlFilterAttribute()
                {
                    Order = 100
                });
            }
        }