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;
 }
Example #6
0
 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;
 }