Exemple #1
0
        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();
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        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());
            /***/
        }
Exemple #4
0
        /// <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());
            /***/
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        /// <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);
        }
Exemple #7
0
 public void RestoreDefault(TenantInfoSettings tenantInfoSettings, TenantLogoManager tenantLogoManager)
 {
     RestoreDefaultTenantName();
     RestoreDefaultLogo(tenantInfoSettings, tenantLogoManager);
 }