public static string GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum type, bool general) { var partnerLogoPath = GetPartnerStorageLogoPath(type, general); if (!String.IsNullOrEmpty(partnerLogoPath)) { return(partnerLogoPath); } switch (type) { case WhiteLabelLogoTypeEnum.LightSmall: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light_small_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light_small.png")); case WhiteLabelLogoTypeEnum.Dark: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/dark_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/dark.png")); case WhiteLabelLogoTypeEnum.DocsEditor: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_logo_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_logo.png")); case WhiteLabelLogoTypeEnum.Favicon: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/favicon_general.ico") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/favicon.ico")); } return(""); }
private void SetExt(WhiteLabelLogoTypeEnum type, String fileExt) { switch (type) { case WhiteLabelLogoTypeEnum.LightSmall: _logoLightSmallExt = fileExt; break; case WhiteLabelLogoTypeEnum.Dark: _logoDarkExt = fileExt; break; case WhiteLabelLogoTypeEnum.Favicon: _logoFaviconExt = fileExt; break; case WhiteLabelLogoTypeEnum.DocsEditor: _logoDocsEditorExt = fileExt; break; case WhiteLabelLogoTypeEnum.DocsEditorEmbed: _logoDocsEditorEmbedExt = fileExt; break; } }
public static string GetLogo(WhiteLabelLogoTypeEnum type, bool general = true, bool isDefIfNoWhiteLabel = false) { var imgUrl = ""; if (TenantLogoManager.WhiteLabelEnabled) { var _tenantWhiteLabelSettings = SettingsManager.Instance.LoadSettings <TenantWhiteLabelSettings>(TenantProvider.CurrentTenantID); return(_tenantWhiteLabelSettings.GetAbsoluteLogoPath(type, general)); } else { if (isDefIfNoWhiteLabel) { imgUrl = TenantWhiteLabelSettings.GetAbsoluteDefaultLogoPath(type, general); } else { if (type == WhiteLabelLogoTypeEnum.Dark) { /*** simple scheme ***/ var _tenantInfoSettings = SettingsManager.Instance.LoadSettings <TenantInfoSettings>(TenantProvider.CurrentTenantID); imgUrl = _tenantInfoSettings.GetAbsoluteCompanyLogoPath(); /***/ } else { imgUrl = TenantWhiteLabelSettings.GetAbsoluteDefaultLogoPath(type, general); } } } return(imgUrl); }
private void SetIsDefault(WhiteLabelLogoTypeEnum type, bool value) { switch (type) { case WhiteLabelLogoTypeEnum.LightSmall: _isDefaultLogoLightSmall = value; break; case WhiteLabelLogoTypeEnum.Dark: _isDefaultLogoDark = value; break; case WhiteLabelLogoTypeEnum.Favicon: _isDefaultLogoFavicon = value; break; case WhiteLabelLogoTypeEnum.DocsEditor: _isDefaultLogoDocsEditor = value; break; case WhiteLabelLogoTypeEnum.DocsEditorEmbed: _isDefaultLogoDocsEditorEmbed = value; break; } }
public string GetLogo(WhiteLabelLogoTypeEnum type, bool general = true, bool isDefIfNoWhiteLabel = false) { string imgUrl; if (TenantLogoManager.WhiteLabelEnabled) { var _tenantWhiteLabelSettings = SettingsManager.Load <TenantWhiteLabelSettings>(); return(TenantWhiteLabelSettingsHelper.GetAbsoluteLogoPath(_tenantWhiteLabelSettings, type, general)); } else { if (isDefIfNoWhiteLabel) { imgUrl = TenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(type, general); } else { if (type == WhiteLabelLogoTypeEnum.Dark) { /*** simple scheme ***/ var _tenantInfoSettings = SettingsManager.Load <TenantInfoSettings>(); imgUrl = TenantInfoSettingsHelper.GetAbsoluteCompanyLogoPath(_tenantInfoSettings); /***/ } else { imgUrl = TenantWhiteLabelSettingsHelper.GetAbsoluteDefaultLogoPath(type, general); } } } return(imgUrl); }
public static Size GetSize(WhiteLabelLogoTypeEnum type, bool general) { switch (type) { case WhiteLabelLogoTypeEnum.LightSmall: return(new Size( general ? TenantWhiteLabelSettings.logoLightSmallSize.Width / 2 : TenantWhiteLabelSettings.logoLightSmallSize.Width, general ? TenantWhiteLabelSettings.logoLightSmallSize.Height / 2 : TenantWhiteLabelSettings.logoLightSmallSize.Height)); case WhiteLabelLogoTypeEnum.Dark: return(new Size( general ? TenantWhiteLabelSettings.logoDarkSize.Width / 2 : TenantWhiteLabelSettings.logoDarkSize.Width, general ? TenantWhiteLabelSettings.logoDarkSize.Height / 2 : TenantWhiteLabelSettings.logoDarkSize.Height)); case WhiteLabelLogoTypeEnum.Favicon: return(new Size( general ? TenantWhiteLabelSettings.logoFaviconSize.Width / 2 : TenantWhiteLabelSettings.logoFaviconSize.Width, general ? TenantWhiteLabelSettings.logoFaviconSize.Height / 2 : TenantWhiteLabelSettings.logoFaviconSize.Height)); case WhiteLabelLogoTypeEnum.DocsEditor: return(new Size( general ? TenantWhiteLabelSettings.logoDocsEditorSize.Width / 2 : TenantWhiteLabelSettings.logoDocsEditorSize.Width, general ? TenantWhiteLabelSettings.logoDocsEditorSize.Height / 2 : TenantWhiteLabelSettings.logoDocsEditorSize.Height)); } return(new Size(0, 0)); }
public string GetAbsoluteLogoPath(WhiteLabelLogoTypeEnum type, bool general = true) { if (GetIsDefault(type)) { return(GetAbsoluteDefaultLogoPath(type, general)); } return(GetAbsoluteStorageLogoPath(type, general)); }
/// <summary> /// Get logo stream or null in case of default whitelabel /// </summary> public Stream GetWhitelabelLogoData(WhiteLabelLogoTypeEnum type, bool general) { if (GetIsDefault(type)) { return(GetPartnerStorageLogoData(type, general)); } return(GetStorageLogoData(type, general)); }
public static string BuildLogoFileName(WhiteLabelLogoTypeEnum type, String fileExt, bool general) { if (type == WhiteLabelLogoTypeEnum.Favicon) { fileExt = "ico"; } return(String.Format("logo_{0}{2}.{1}", type.ToString().ToLowerInvariant(), fileExt, general ? "_general" : "")); }
internal bool GetIsDefault(WhiteLabelLogoTypeEnum type) { return(type switch { WhiteLabelLogoTypeEnum.LightSmall => _isDefaultLogoLightSmall, WhiteLabelLogoTypeEnum.Dark => _isDefaultLogoDark, WhiteLabelLogoTypeEnum.Favicon => _isDefaultLogoFavicon, WhiteLabelLogoTypeEnum.DocsEditor => _isDefaultLogoDocsEditor, _ => true, });
private void DeleteLogoFromStoreByGeneral(IDataStore store, WhiteLabelLogoTypeEnum type, bool general) { var fileExt = GetExt(type); var logo = BuildLogoFileName(type, fileExt, general); if (store.IsFile(logo)) { store.Delete(logo); } }
private string GetAbsoluteStorageLogoPath(WhiteLabelLogoTypeEnum type, bool general) { var store = StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), moduleName); var fileName = BuildLogoFileName(type, GetExt(type), general); if (store.IsFile(fileName)) { return(store.GetUri(fileName).ToString()); } return(GetAbsoluteDefaultLogoPath(type, general)); }
private Stream GetStorageLogoData(WhiteLabelLogoTypeEnum type, bool general) { var storage = StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(CultureInfo.InvariantCulture), moduleName); if (storage == null) { return(null); } var fileName = BuildLogoFileName(type, GetExt(type), general); return(storage.IsFile(fileName) ? storage.GetReadStream(fileName) : null); }
public void SetLogoFromStream(WhiteLabelLogoTypeEnum type, string fileExt, Stream fileStream) { byte[] data = null; using (var memoryStream = new MemoryStream()) { fileStream.CopyTo(memoryStream); data = memoryStream.ToArray(); } if (data != null) { SetLogo(type, fileExt, data); } }
public void RestoreDefault(WhiteLabelLogoTypeEnum type) { if (!GetIsDefault(type)) { try { SetIsDefault(type, true); var store = StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), moduleName); DeleteLogoFromStore(store, type); } catch (Exception e) { log4net.LogManager.GetLogger("ASC").Error(e); } } }
private static void ResizeLogo(WhiteLabelLogoTypeEnum type, String fileName, byte[] data, long maxFileSize, Size size, IDataStore store) { //Resize synchronously if (data == null || data.Length <= 0) { throw new UnknownImageFormatException(); } if (maxFileSize != -1 && data.Length > maxFileSize) { throw new ImageWeightLimitException(); } try { using (var stream = new MemoryStream(data)) using (var img = Image.FromStream(stream)) { var imgFormat = img.RawFormat; if (size != img.Size) { using (var img2 = CommonPhotoManager.DoThumbnail(img, size, false, true, false)) { data = CommonPhotoManager.SaveToBytes(img2); } } else { data = CommonPhotoManager.SaveToBytes(img); } //fileExt = CommonPhotoManager.GetImgFormatName(imgFormat); using (var stream2 = new MemoryStream(data)) { store.Save(fileName, stream2); //NOTE: Update cache here //var filePath = Path.GetFileName(photoUrl); //AddToCache(item.UserId, item.Size, fileNPath, true); } } } catch (ArgumentException error) { throw new UnknownImageFormatException(error); } }
public string GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum type, bool general) { var partnerLogoPath = GetPartnerStorageLogoPath(type, general); if (!string.IsNullOrEmpty(partnerLogoPath)) { return(partnerLogoPath); } return(type switch { WhiteLabelLogoTypeEnum.LightSmall => general?WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light_small_general.svg") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light_small.svg"), WhiteLabelLogoTypeEnum.Dark => general?WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/dark_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/dark.png"), WhiteLabelLogoTypeEnum.DocsEditor => general?WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_logo_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_logo.png"), WhiteLabelLogoTypeEnum.Favicon => general?WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/favicon_general.ico") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/favicon.ico"), _ => "", });
private string GetExt(WhiteLabelLogoTypeEnum type) { switch (type) { case WhiteLabelLogoTypeEnum.LightSmall: return(_logoLightSmallExt); case WhiteLabelLogoTypeEnum.Dark: return(_logoDarkExt); case WhiteLabelLogoTypeEnum.Favicon: return(_logoFaviconExt); case WhiteLabelLogoTypeEnum.DocsEditor: return(_logoDocsEditorExt); } return(""); }
private bool GetIsDefault(WhiteLabelLogoTypeEnum type) { switch (type) { case WhiteLabelLogoTypeEnum.LightSmall: return(_isDefaultLogoLightSmall); case WhiteLabelLogoTypeEnum.Dark: return(_isDefaultLogoDark); case WhiteLabelLogoTypeEnum.Favicon: return(_isDefaultLogoFavicon); case WhiteLabelLogoTypeEnum.DocsEditor: return(_isDefaultLogoDocsEditor); } return(true); }
private Stream GetPartnerStorageLogoData(WhiteLabelLogoTypeEnum type, bool general) { var partnerSettings = SettingsManager.Instance.LoadSettings <TenantWhiteLabelSettings>(Tenant.DEFAULT_TENANT); if (partnerSettings.GetIsDefault(type)) { return(null); } var partnerStorage = StorageFactory.GetStorage(Tenant.DEFAULT_TENANT.ToString(CultureInfo.InvariantCulture), "static_partnerdata"); if (partnerStorage == null) { return(null); } var fileName = BuildLogoFileName(type, partnerSettings.GetExt(type), general); return(partnerStorage.IsFile(fileName) ? partnerStorage.GetReadStream(fileName) : null); }
private static string GetPartnerStorageLogoPath(WhiteLabelLogoTypeEnum type, bool general) { var partnerSettings = LoadForDefaultTenant(); if (partnerSettings.GetIsDefault(type)) { return(null); } var partnerStorage = StorageFactory.GetStorage(string.Empty, "static_partnerdata"); if (partnerStorage == null) { return(null); } var logoPath = BuildLogoFileName(type, partnerSettings.GetExt(type), general); return(partnerStorage.IsFile(logoPath) ? partnerStorage.GetUri(logoPath).ToString() : null); }
private Stream GetPartnerStorageLogoData(WhiteLabelLogoTypeEnum type, bool general) { var partnerSettings = LoadForDefaultTenant(); if (partnerSettings.GetIsDefault(type)) { return(null); } var partnerStorage = StorageFactory.GetStorage(string.Empty, "static_partnerdata"); if (partnerStorage == null) { return(null); } var fileName = BuildLogoFileName(type, partnerSettings.GetExt(type), general); return(partnerStorage.IsFile(fileName) ? partnerStorage.GetReadStream(fileName) : null); }
public void SaveWhiteLabelSettingsFromFiles(IEnumerable <System.Web.HttpPostedFileBase> files) { if (files != null && files.Any()) { var _tenantWhiteLabelSettings = SettingsManager.Instance.LoadSettings <TenantWhiteLabelSettings>(TenantProvider.CurrentTenantID); foreach (var f in files) { var parts = f.FileName.Split('.'); WhiteLabelLogoTypeEnum logoType = (WhiteLabelLogoTypeEnum)(Convert.ToInt32(parts[0])); string fileExt = parts[1]; _tenantWhiteLabelSettings.SetLogoFromStream(logoType, fileExt, f.InputStream); } _tenantWhiteLabelSettings.Save(); } else { throw new InvalidOperationException("No input files"); } }
public void SetLogo(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, string logoFileExt, byte[] data, IDataStore storage = null) { var store = storage ?? StorageFactory.GetStorage(TenantManager.GetCurrentTenant().TenantId.ToString(), moduleName); #region delete from storage if already exists var isAlreadyHaveBeenChanged = !tenantWhiteLabelSettings.GetIsDefault(type); if (isAlreadyHaveBeenChanged) { try { DeleteLogoFromStore(tenantWhiteLabelSettings, store, type); } catch (Exception e) { Log.Error(e); } } #endregion using (var memory = new MemoryStream(data)) using (var image = Image.FromStream(memory)) { var logoSize = image.Size; var logoFileName = BuildLogoFileName(type, logoFileExt, false); memory.Seek(0, SeekOrigin.Begin); store.Save(logoFileName, memory); } tenantWhiteLabelSettings.SetExt(type, logoFileExt); tenantWhiteLabelSettings.SetIsDefault(type, false); var generalSize = GetSize(type, true); var generalFileName = BuildLogoFileName(type, logoFileExt, true); ResizeLogo(type, generalFileName, data, -1, generalSize, store); }
public void SetLogo(WhiteLabelLogoTypeEnum type, string logoFileExt, byte[] data) { var store = StorageFactory.GetStorage(TenantProvider.CurrentTenantID.ToString(), moduleName); #region delete from storage if already exists var isAlreadyHaveBeenChanged = !GetIsDefault(type); if (isAlreadyHaveBeenChanged) { try { DeleteLogoFromStore(store, type); } catch (Exception e) { log4net.LogManager.GetLogger("ASC").Error(e); } } #endregion using (var memory = new MemoryStream(data)) using (var image = Image.FromStream(memory)) { var logoSize = image.Size; var logoFileName = BuildLogoFileName(type, logoFileExt, false); memory.Seek(0, SeekOrigin.Begin); store.Save(logoFileName, memory); } SetExt(type, logoFileExt); SetIsDefault(type, false); var generalSize = GetSize(type, true); var generalFileName = BuildLogoFileName(type, logoFileExt, true); ResizeLogo(type, generalFileName, data, -1, generalSize, store); }
public static string GetAbsoluteDefaultLogoPath(WhiteLabelLogoTypeEnum type, bool general) { switch (type) { case WhiteLabelLogoTypeEnum.Light: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light.png")); case WhiteLabelLogoTypeEnum.LightSmall: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light_small_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/light_small.png")); case WhiteLabelLogoTypeEnum.Dark: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/dark_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/dark.png")); case WhiteLabelLogoTypeEnum.DocsEditor: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_logo_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_logo.png")); case WhiteLabelLogoTypeEnum.Favicon: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/favicon_general.ico") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/favicon.ico")); case WhiteLabelLogoTypeEnum.DocsEditorEmbedded: return(general ? WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_embedded_logo_general.png") : WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/editor_embedded_logo.png")); } return(""); }
private void DeleteLogoFromStore(IDataStore store, WhiteLabelLogoTypeEnum type) { DeleteLogoFromStoreByGeneral(store, type, false); DeleteLogoFromStoreByGeneral(store, type, true); }
public void RestoreDefault(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type) { if (!tenantWhiteLabelSettings.GetIsDefault(type)) { try { tenantWhiteLabelSettings.SetIsDefault(type, true); var store = StorageFactory.GetStorage(TenantManager.GetCurrentTenant().TenantId.ToString(), moduleName); DeleteLogoFromStore(tenantWhiteLabelSettings, store, type); } catch (Exception e) { Log.Error(e); } } }
public string GetAbsoluteLogoPath(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool general = true) { if (tenantWhiteLabelSettings.GetIsDefault(type)) { return(GetAbsoluteDefaultLogoPath(type, general)); } return(GetAbsoluteStorageLogoPath(tenantWhiteLabelSettings, type, general)); }
private string GetAbsoluteStorageLogoPath(TenantWhiteLabelSettings tenantWhiteLabelSettings, WhiteLabelLogoTypeEnum type, bool general) { var store = StorageFactory.GetStorage(TenantManager.GetCurrentTenant().TenantId.ToString(), moduleName); var fileName = BuildLogoFileName(type, tenantWhiteLabelSettings.GetExt(type), general); if (store.IsFile(fileName)) { return(store.GetUri(fileName).ToString()); } return(GetAbsoluteDefaultLogoPath(type, general)); }