public static string ExtractSitefinityMediaName(string url, LibrariesConfig config, out string thumbnailProfileName)
        {
            int indexOfDot = url.LastIndexOf('.');

            if (indexOfDot >= 0)
            {
                url = url.Substring(0, indexOfDot - 1);
            }
            thumbnailProfileName = "";
            var thumbnailExtensionPrefix = config.ThumbnailExtensionPrefix;

            if (url.EndsWith(thumbnailExtensionPrefix))
            {
                url = url.Left(url.Length - thumbnailExtensionPrefix.Length);
                thumbnailProfileName = "small";
            }
            else
            {
                foreach (var thumbnailProfile in config.Images.Thumbnails.Profiles.OfType <ThumbnailProfileConfigElement>())
                {
                    if (url.EndsWith(thumbnailExtensionPrefix + thumbnailProfile.Name))
                    {
                        url = url.Left(url.Length - thumbnailProfile.Name.Length - thumbnailExtensionPrefix.Length);
                        thumbnailProfileName = thumbnailProfile.Name;
                        break;
                    }
                }
            }
            return(url);
        }
示例#2
0
 public void Init()
 {
     if (cacheConfig == null)
     {
         try
         {
             LibrariesConfig librariesConfig = ConfigurationManager.GetSection("LibrariesConfig") as LibrariesConfig;
             if (librariesConfig != null)
             {
                 cacheConfig = librariesConfig.GetObjByXml <CacheConfig>("CacheConfig");
                 if (cacheConfig == null)
                 {
                     throw new Exception("缺少本地缓存配置节点");
                 }
                 serverUrl = cacheConfig.Url;
             }
         }
         catch (Exception var_1_6C)
         {
             throw new Exception("缺少Redis配置节点");
         }
     }
     if (cacheClient == null)
     {
         lock (typeof(RedisManager))
         {
             cacheClient = ConnectionMultiplexer.Connect(cacheConfig.Url, null);
         }
     }
 }
示例#3
0
 public void Init()
 {
     if (this.cacheConfig == null)
     {
         LibrariesConfig librariesConfig = ConfigurationManager.GetSection("LibrariesConfig") as LibrariesConfig;
         if (librariesConfig != null)
         {
             this.cacheConfig = librariesConfig.GetObjByXml <CacheConfig>("CacheConfig");
             if (this.cacheConfig == null)
             {
                 throw new Exception("缺少本地缓存配置节点");
             }
         }
     }
     if (cacheClient == null)
     {
         lock (typeof(MemcacheManager))
         {
             cacheClient = new MemcachedClientCache(cacheConfig.Url.Split(new char[]
             {
                 ','
             }).ToList <string>());
         }
     }
 }
示例#4
0
        internal static bool IsImageOptimizationProcessorRegistered(IInstallableFileProcessor imageOptimizationProcessor)
        {
            LibrariesConfig librariesConfig = Config.Get <LibrariesConfig>();

            if (!librariesConfig.FileProcessors.ContainsKey(imageOptimizationProcessor.ConfigName))
            {
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// Uninstalls the specified initializer.
        /// </summary>
        /// <param name="initializer">The initializer.</param>
        public override void Uninstall(SiteInitializer initializer)
        {
            ConfigManager   cMan            = ConfigManager.GetManager();
            LibrariesConfig librariesConfig = cMan.GetSection <LibrariesConfig>();

            if (librariesConfig.Images.AllowedExensionsSettings.Contains(".ico"))
            {
                librariesConfig.Images.AllowedExensionsSettings = librariesConfig.Images.AllowedExensionsSettings.Replace(", .ico", string.Empty);
                cMan.SaveSection(librariesConfig);
            }
            base.Uninstall(initializer);
            // Add your uninstall logic here
        }
        private static BlobStorageTypeConfigElement CreateAzureBlobStorageProviderType(LibrariesConfig librariesConfig)
        {
            var blobStorageTypes = librariesConfig.BlobStorage.BlobStorageTypes;
            var azureBlobStorageType = new BlobStorageTypeConfigElement(blobStorageTypes)
            {
                Name = "Azure",
                ProviderType = typeof(AzureBlobStorageProvider),
                Title = "WindowsAzure",
                Description = "BlobStorageAzureTypeDescription",
                SettingsViewTypeOrPath = typeof(AzureBlobSettingsView).FullName,
                ResourceClassId = typeof(LibrariesResources).Name
            };

            blobStorageTypes.Add(azureBlobStorageType);
            return azureBlobStorageType;
        }
        private bool IsCustomLibrariesProviderRegistered()
        {
            LibrariesConfig librariesConfig = Config.Get <LibrariesConfig>();

            if (!librariesConfig.Providers.ContainsKey(CognitiveServicesModule.OpenAccessDataProviderName))
            {
                return(false);
            }

            if (librariesConfig.Providers[CognitiveServicesModule.OpenAccessDataProviderName].ProviderType != typeof(CustomOpenAccessLibrariesProvider))
            {
                return(false);
            }

            return(true);
        }
示例#8
0
        public void Init(BaseConfig config = null)
        {
            lock (_lock)
            {
                if (config != null)
                {
                    cacheConfig = (CacheConfig)config;
                }
                else
                {
                    LibrariesConfig librariesConfig = ConfigurationManager.GetSection("LibrariesConfig") as LibrariesConfig;
                    if (librariesConfig != null)
                    {
                        cacheConfig = librariesConfig.GetObjByXml <CacheConfig>("CacheConfig");
                        if (cacheConfig == null)
                        {
                            throw new Exception("缺少缓存配置CacheConfig");
                        }
                    }
                }
                if (cacheConfig == null)
                {
                    throw new Exception("缺少缓存配置CacheConfig");
                }
                switch ((CacheType)Enum.Parse(typeof(CacheType), cacheConfig.Provider))
                {
                case CacheType.Memcached:
                    _cacheClient = new MemcacheManager();
                    break;

                case CacheType.Redis:
                    _cacheClient = new RedisManager();
                    break;

                default:
                    _cacheClient = new MemoryCacheManager();
                    break;
                }
                _cacheType = _cacheClient.Type;
                _cacheClient.SetConfig(cacheConfig);
                _cacheClient.Init();
            }
        }
        /// <summary>
        /// Installs this module in Sitefinity system for the first time.
        /// </summary>
        /// <param name="initializer">The Site Initializer. A helper class for installing Sitefinity modules.</param>
        public override void Install(SiteInitializer initializer)
        {
            // Here you can install a virtual path to be used for this assembly
            // A virtual path is required to access the embedded resources
            //this.InstallVirtualPaths(initializer);

            // Here you can install you backend pages
            //this.InstallBackendPages(initializer);

            // Here you can also install your page/form/layout widgets
            //this.InstallPageWidgets(initializer);
            ConfigManager   cMan            = ConfigManager.GetManager();
            LibrariesConfig librariesConfig = cMan.GetSection <LibrariesConfig>();

            if (!librariesConfig.Images.AllowedExensionsSettings.Contains(".ico"))
            {
                librariesConfig.Images.AllowedExensionsSettings = librariesConfig.Images.AllowedExensionsSettings + ", .ico";
                cMan.SaveSection(librariesConfig);
            }
        }
示例#10
0
        private static BlobStorageTypeConfigElement CreateAzureBlobStorageProviderType(LibrariesConfig librariesConfig)
        {
            var blobStorageTypes     = librariesConfig.BlobStorage.BlobStorageTypes;
            var azureBlobStorageType = new BlobStorageTypeConfigElement(blobStorageTypes)
            {
                Name                   = "Azure",
                ProviderType           = typeof(AzureBlobStorageProvider),
                Title                  = "WindowsAzure",
                Description            = "BlobStorageAzureTypeDescription",
                SettingsViewTypeOrPath = typeof(AzureBlobSettingsView).FullName,
                ResourceClassId        = typeof(LibrariesResources).Name
            };

            blobStorageTypes.Add(azureBlobStorageType);
            return(azureBlobStorageType);
        }