using System; using System.Text; using Telligent.Evolution.Extensibility.Version1; using Telligent.Evolution.Extensibility.UI.Version1; namespace Samples { public class InstallCssFile : IPlugin, IInstallablePlugin { private readonly string _fileName = "sample.css"; private readonly System.IO.Stream _fileStream = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(@".content-fragment-page { background-color: #f00; }")); #region IPlugin Implementation public string Name { get { return "Install a CSS File Sample"; } } public string Description { get { return "Installs a CSS File in the Site theme."; } } public void Initialize() { } #endregion #region IInstallablePlugin Implementation public Version Version { get { return new Version(1, 0); } } public void Install(Version lastInstalledVersion) { foreach (var theme in Themes.List(ThemeTypes.Site)) { ThemeFiles.AddUpdateFactoryDefault( theme, ThemeProperties.StyleSheetFiles, _fileName, _fileStream, (int)_fileStream.Length, new CssThemeFileOptions { ApplyToModals = true, ApplyToNonModals = true }); ThemeFiles.AddUpdate( theme, ThemeableApplicationIds.Site, ThemeProperties.StyleSheetFiles, _fileName, _fileStream, (int)_fileStream.Length, new CssThemeFileOptions { ApplyToModals = true, ApplyToNonModals = true } ); } } public void Uninstall() { foreach (var theme in Themes.List(ThemeTypes.Site)) { ThemeFiles.RemoveFactoryDefault(theme, ThemeProperties.StyleSheetFiles, _fileName); ThemeFiles.Remove(theme, ThemeableApplicationIds.Site, ThemeProperties.StyleSheetFiles, _fileName); } } #endregion } }