/** * Constructor. */ public function __construct() { if (empty(self::$_drivers)) { $fi = new FilesystemIterator(__DIR__ . '/Pack/Driver'); $class_prefix = __CLASS__ . '_Driver_'; foreach ($fi as $val) { if ($val->isFile()) { $cname = $class_prefix . $val->getBasename('.php'); if (class_exists($cname) && $cname::supported()) { $ob = new $cname(); self::$_drivers[$ob->id] = $ob; } } } krsort(self::$_drivers, SORT_NUMERIC); self::$_compress = new Horde_Compress_Fast(); } }