public static function create(Configuration $configuration) { $enabled = $configuration->get('cache-enabled'); $algorithm = self::getAlgorithm($configuration->get('cache-algorithm')); $folder = $configuration->get('local-cache'); $manager = new CacheManager($algorithm); if ($enabled === true) { $provider = new FileCache($folder); } return $manager; }
/** * Create the logger * * @param Configuration $configuration * * @return Logger */ public static function create(Configuration $configuration) { $local = $configuration->get('log-local'); $remote = $configuration->get('log-remote'); $logger = new Logger('comodojo-log'); if (is_null($local) && is_null($remote)) { $logger->pushHandler(new NullHandler(Logger::ERROR)); } else { self::parseLocal($logger, $local); self::parseRemote($logger, $remote); } return $logger; }
public static function dump(Configuration $configuration) { $installer_wd = $configuration->get('base-path'); $static_folder = $configuration->get('static-config'); $config_file = $installer_wd . '/' . $static_folder . '/comodojo-config.yml'; $configuration->set("authentication-key", self::generateKey())->set("private-key", self::generateKey())->set('cache-enabled', true)->set('cache-algorithm', 'pick-first')->set('startup-cache-enabled', true)->set('startup-cache-ttl', 86400); $configuration_array = $configuration->get(); $yaml = Yaml::dump($configuration_array, 2); $action = file_put_contents($config_file, $yaml, LOCK_EX); if ($action === false) { throw new InstallerException("Cannot write comodojo-config file!"); } return true; }
public static function start(Configuration $configuration, IOInterface $io) { $params = array(); $params['database-model'] = $io->ask("> Database model? (MYSQLI) ", "MYSQLI"); $params['database-host'] = $io->ask("> Database host? (localhost) ", "localhost"); $params['database-port'] = $io->askAndValidate("> Database port? (3306) ", function ($value) { return is_int($value); }, 3, 3306); $params['database-name'] = $io->ask("> Database name? (comodojo) ", "comodojo"); $params['database-user'] = $io->ask("> Database user? (comodojo) ", "comodojo"); $params['database-password'] = $io->askAndHideAnswer("> Database password? "); $params['database-prefix'] = $io->ask("> Common prefix for database tables? (cmdj_) ", "cmdj_"); foreach ($params as $param => $value) { $configuration->set($param, $value); } }
protected function initDatabase(Configuration $configuration) { $model = $configuration->get('database-model'); $host = $configuration->get('database-host'); $port = $configuration->get('database-port'); $name = $configuration->get('database-name'); $user = $configuration->get('database-user'); $password = $configuration->get('database-password'); $prefix = $configuration->get('database-prefix'); try { $database = new EnhancedDatabase($model, $host, $port, $name, $user, $password); $database->tablePrefix($prefix); $database->autoClean(); } catch (DatabaseException $de) { throw $de; } catch (Exception $e) { throw $e; } return $database; }
private function loadStaticConfiguration(Configuration $configuration) { $installer_wd = $configuration->get('base-path'); $static_folder = $configuration->get('static-config'); $config_file = $installer_wd . '/' . $static_folder . '/comodojo-config.yml'; if (is_file($config_file) && is_readable($config_file) && ($yaml = file_get_contents($config_file))) { $data = Yaml::parse($yaml); foreach ($data as $parameter => $value) { $this->configuration->set($parameter, $value); } return true; } return false; }