getContainer(); } $config = $container->appConfig; $defaultPort = ($config->get('fs.driver', 'file') == 'ftp') ? '21' : '22'; $options = array( 'driver' => $config->get('fs.driver', 'file'), 'host' => $config->get('fs.host', 'localhost'), 'port' => $config->get('fs.port', $defaultPort), 'username' => $config->get('fs.username', ''), 'password' => $config->get('fs.password', ''), 'directory' => $config->get('fs.dir', ''), 'ssl' => $config->get('fs.ssl', false), 'passive' => $config->get('fs.passive', true), ); $classPrefix = '\\Awf\\Filesystem\\'; $className = $classPrefix . ucfirst($options['driver']); if (!class_exists($className)) { $hybrid = false; $className = $classPrefix . 'File'; } elseif ($hybrid) { $className = $classPrefix . 'Hybrid'; } $signature = md5($container->application_name . $className . ($hybrid ? 'hybrid' : '')); if (!isset(self::$instances[$signature])) { self::$instances[$signature] = new $className($options, $container); } return self::$instances[$signature]; } }