public void SetCompanyLogo(string companyLogoFileName, byte[] data, TenantInfoSettings tenantInfoSettings, TenantLogoManager tenantLogoManager) { var store = StorageFactory.GetStorage(TenantManager.GetCurrentTenant().TenantId.ToString(), "logo"); if (!tenantInfoSettings.IsDefault) { try { store.DeleteFiles("", "*", false); } catch { } } using (var memory = new MemoryStream(data)) using (var image = Image.FromStream(memory)) { tenantInfoSettings.CompanyLogoSize = image.Size; memory.Seek(0, SeekOrigin.Begin); store.Save(companyLogoFileName, memory); tenantInfoSettings.CompanyLogoFileName = companyLogoFileName; } tenantInfoSettings.IsDefault = false; tenantLogoManager.RemoveMailLogoDataFromCache(); }
public string GetAbsoluteCompanyLogoPath(TenantInfoSettings tenantInfoSettings) { if (tenantInfoSettings.IsDefault) { return(WebImageSupplier.GetAbsoluteWebPath("onlyoffice_logo/dark_general.png")); } var store = StorageFactory.GetStorage(TenantManager.GetCurrentTenant().TenantId.ToString(), "logo"); return(store.GetUri(tenantInfoSettings.CompanyLogoFileName ?? "").ToString()); }
public static string GetLogoDark(bool general) { if (WhiteLabelEnabled) { var tenantWhiteLabelSettings = TenantWhiteLabelSettings.Load(); return(tenantWhiteLabelSettings.GetAbsoluteLogoPath(WhiteLabelLogoTypeEnum.Dark, general)); } /*** simple scheme ***/ var tenantInfoSettings = TenantInfoSettings.Load(); return(tenantInfoSettings.GetAbsoluteCompanyLogoPath()); /***/ }
/// <summary> /// Get logo stream or null in case of default logo /// </summary> public static Stream GetWhitelabelMailLogo() { if (WhiteLabelEnabled) { var tenantWhiteLabelSettings = TenantWhiteLabelSettings.Load(); return(tenantWhiteLabelSettings.GetWhitelabelLogoData(WhiteLabelLogoTypeEnum.Dark, true)); } /*** simple scheme ***/ var tenantInfoSettings = TenantInfoSettings.Load(); return(tenantInfoSettings.GetStorageLogoData()); /***/ }
public void RestoreDefaultLogo(TenantInfoSettings tenantInfoSettings, TenantLogoManager tenantLogoManager) { tenantInfoSettings.IsDefault = true; var store = StorageFactory.GetStorage(TenantManager.GetCurrentTenant().TenantId.ToString(), "logo"); try { store.DeleteFiles("", "*", false); } catch { } tenantInfoSettings.CompanyLogoSize = default; tenantLogoManager.RemoveMailLogoDataFromCache(); }
/// <summary> /// Get logo stream or null in case of default logo /// </summary> public Stream GetStorageLogoData(TenantInfoSettings tenantInfoSettings) { if (tenantInfoSettings.IsDefault) { return(null); } var storage = StorageFactory.GetStorage(TenantManager.GetCurrentTenant().TenantId.ToString(CultureInfo.InvariantCulture), "logo"); if (storage == null) { return(null); } var fileName = tenantInfoSettings.CompanyLogoFileName ?? ""; return(storage.IsFile(fileName) ? storage.GetReadStream(fileName) : null); }
public void RestoreDefault(TenantInfoSettings tenantInfoSettings, TenantLogoManager tenantLogoManager) { RestoreDefaultTenantName(); RestoreDefaultLogo(tenantInfoSettings, tenantLogoManager); }