available() ) { $instances[$instance_key] = new Cache_Base( $config ); } } return $instances[$instance_key]; } /** * Returns caching engine name * * @param unknown $engine * @param unknown $module * * @return string */ static public function engine_name( $engine, $module = '' ) { switch ( $engine ) { case 'memcached': if ( class_exists( 'Memcached' ) ) $engine_name = 'memcached'; else $engine_name = 'memcache'; break; case 'nginx_memcached': $engine_name = 'nginx + memcached'; break; case 'apc': $engine_name = 'apc'; break; case 'eaccelerator': $engine_name = 'eaccelerator'; break; case 'redis': $engine_name = 'redis'; break; case 'xcache': $engine_name = 'xcache'; break; case 'wincache': $engine_name = 'wincache'; break; case 'file': if ( $module == 'pgcache' ) $engine_name = 'disk: basic'; else $engine_name = 'disk'; break; case 'file_generic': $engine_name = 'disk: enhanced'; break; case 'ftp': $engine_name = 'self-hosted / file transfer protocol upload'; break; case 's3': $engine_name = 'amazon simple storage service (s3)'; break; case 's3_compatible': $engine_name = 's3 compatible'; break; case 'cf': $engine_name = 'amazon cloudfront'; break; case 'google_drive': $engine_name = 'google drive'; break; case 'highwinds': $engine_name = 'highwinds'; break; case 'cf2': $engine_name = 'amazon cloudfront'; break; case 'rscf': $engine_name = 'rackspace cloud files'; break; case 'azure': $engine_name = 'microsoft azure storage'; break; case 'edgecast': $engine_name = 'media template procdn / edgecast'; break; case 'att': $engine_name = 'at&t'; break; case 'rackspace_cdn': $engine_name = 'rackspace'; break; case 'stackpath2': $engine_name = 'stackpath'; break; default: $engine_name = $engine; break; } return $engine_name; } }