/**
  * Registers services on the given app.
  *
  * @param Application $app An Application instance
  */
 public function register(Application $app)
 {
     $app['hipchat'] = $app->share(function () use($app) {
         if (empty($app['hipchat.rooms'])) {
             return new NullLogger();
         }
         $log = new TargetMappingLogger();
         $app['hipchat.configure']($log);
         return $log;
     });
     $app['hipchat.configure'] = $app->protect(function (TargetMappingLogger $log) use($app) {
         $roomConfigs = $app['hipchat.rooms'];
         $defaults = ['targets' => [], 'name' => 'HipChat', 'notify' => false, 'level' => Logger::INFO, 'bubble' => true, 'useSSL' => true, 'format' => 'text', 'host' => 'api.hipchat.com', 'version' => HipChatHandler::API_V2, 'guzzle' => false];
         if (isset($roomConfigs['_default'])) {
             $defaults = $roomConfigs['_default'] + $defaults;
             unset($roomConfigs['_default']);
         }
         foreach ($roomConfigs as $roomConfig) {
             $roomConfig += $defaults;
             $logger = new Logger('hcm');
             if (!isset($roomConfig['room']) || !isset($roomConfig['token'])) {
                 throw new InvalidArgumentException('missing room/token configuration');
             }
             if (isset($roomConfig['guzzle']) && is_array($roomConfig['guzzle'])) {
                 $logger->pushHandler(new GuzzleHipChatHandler(new Client('', $this->prepareGuzzleOptions($roomConfig['guzzle'])), $roomConfig['token'], $roomConfig['room'], $roomConfig['name'], $roomConfig['notify'], $roomConfig['level'], $roomConfig['bubble'], $roomConfig['useSSL'], $roomConfig['format'], $roomConfig['host'], $roomConfig['version']));
             } else {
                 $logger->pushHandler(new HipChatHandler($roomConfig['token'], $roomConfig['room'], $roomConfig['name'], $roomConfig['notify'], $roomConfig['level'], $roomConfig['bubble'], $roomConfig['useSSL'], $roomConfig['format'], $roomConfig['host'], $roomConfig['version']));
             }
             $log->addLogger($logger, $roomConfig['targets']);
         }
     });
 }
 /**
  * Registers services on the given app.
  *
  * @param Application $app An Application instance
  */
 public function register(Application $app)
 {
     $app['client_factory'] = $app->protect(function ($platformId) use($app) {
         $config = $app['config'];
         if (!property_exists($config, $platformId)) {
             throw new RuntimeException("Couldn't find platform details for {$platformId}. Run the 'authorize' command first.");
         }
         $platformDetails = (array) $config->{$platformId};
         $client = new Client(['base_url' => $platformDetails['base_url'], 'defaults' => ['auth' => 'oauth', 'verify' => false, 'headers' => ['Accept' => 'application/json']]]);
         $platformDetails['callback'] = 'http://127.0.0.1:8000';
         $oauth = new Oauth1($platformDetails);
         $client->getEmitter()->attach($oauth);
         return $client;
     });
 }
Ejemplo n.º 3
0
 public function register(Application $app)
 {
     $app['monolog'] = $app->share(function () use($app) {
         $log = new Logger(isset($app['monolog.name']) ? $app['monolog.name'] : 'myapp');
         $app['monolog.configure']($log);
         return $log;
     });
     $app['monolog.configure'] = $app->protect(function ($log) use($app) {
         $log->pushHandler($app['monolog.handler']);
     });
     $app['monolog.handler'] = function () use($app) {
         return new StreamHandler($app['monolog.logfile'], $app['monolog.level']);
     };
     if (!isset($app['monolog.level'])) {
         $app['monolog.level'] = function () {
             return Logger::DEBUG;
         };
     }
     if (isset($app['monolog.class_path'])) {
         $app['autoloader']->registerNamespace('Monolog', $app['monolog.class_path']);
     }
 }
Ejemplo n.º 4
0
 public function register(Application $app)
 {
     $app['db.default_options'] = array('driver' => 'pdo_mysql', 'dbname' => null, 'host' => 'localhost', 'user' => 'root', 'password' => null);
     $app['dbs.options.initializer'] = $app->protect(function () use($app) {
         static $initialized = false;
         if ($initialized) {
             return;
         }
         $initialized = true;
         if (!isset($app['dbs.options'])) {
             $app['dbs.options'] = array('default' => isset($app['db.options']) ? $app['db.options'] : array());
         }
         $tmp = $app['dbs.options'];
         foreach ($tmp as $name => &$options) {
             $options = array_replace($app['db.default_options'], $options);
             if (!isset($app['dbs.default'])) {
                 $app['dbs.default'] = $name;
             }
         }
         $app['dbs.options'] = $tmp;
     });
     $app['dbs'] = $app->share(function () use($app) {
         $app['dbs.options.initializer']();
         $dbs = new \Pimple();
         foreach ($app['dbs.options'] as $name => $options) {
             if ($app['dbs.default'] === $name) {
                 // we use shortcuts here in case the default has been overriden
                 $config = $app['db.config'];
                 $manager = $app['db.event_manager'];
             } else {
                 $config = $app['dbs.config'][$name];
                 $manager = $app['dbs.event_manager'][$name];
             }
             $dbs[$name] = DriverManager::getConnection($options, $config, $manager);
         }
         return $dbs;
     });
     $app['dbs.config'] = $app->share(function () use($app) {
         $app['dbs.options.initializer']();
         $configs = new \Pimple();
         foreach ($app['dbs.options'] as $name => $options) {
             $configs[$name] = new Configuration();
         }
         return $configs;
     });
     $app['dbs.event_manager'] = $app->share(function () use($app) {
         $app['dbs.options.initializer']();
         $managers = new \Pimple();
         foreach ($app['dbs.options'] as $name => $options) {
             $managers[$name] = new EventManager();
         }
         return $managers;
     });
     // shortcuts for the "first" DB
     $app['db'] = $app->share(function () use($app) {
         $dbs = $app['dbs'];
         return $dbs[$app['dbs.default']];
     });
     $app['db.config'] = $app->share(function () use($app) {
         $dbs = $app['dbs.config'];
         return $dbs[$app['dbs.default']];
     });
     $app['db.event_manager'] = $app->share(function () use($app) {
         $dbs = $app['dbs.event_manager'];
         return $dbs[$app['dbs.default']];
     });
     if (isset($app['db.dbal.class_path'])) {
         $app['autoloader']->registerNamespace('Doctrine\\DBAL', $app['db.dbal.class_path']);
     }
     if (isset($app['db.common.class_path'])) {
         $app['autoloader']->registerNamespace('Doctrine\\Common', $app['db.common.class_path']);
     }
 }