/** * Create service * * @param ServiceLocatorInterface $serviceLocator * @return \Facebook\FacebookSession */ public function createService(ServiceLocatorInterface $serviceLocator) { $config = $serviceLocator->get('config'); $config = $config[self::CONFIG_KEY]; if (is_null($config)) { throw new \RuntimeException(_('Config could not be found!')); } FacebookSession::setDefaultApplication($config['appId'], $config['secret']); try { $session = new FacebookSession($this->getAccessToken()); } catch (FacebookRequestException $ex) { StaticLogger::save($ex->__toString(), 'facebook.log'); } catch (\Exception $ex) { StaticLogger::save($ex->__toString(), 'facebook.log'); } return $session; }
public function getServiceConfig() { return ['factories' => ['loslog_options' => function (ServiceLocatorInterface $sm) { $config = $sm->get('Configuration'); return new ModuleOptions(isset($config['loslog']) ? $config['loslog'] : []); }, 'LosLog\\Log\\EntityLogger' => function (ServiceLocatorInterface $sm) { $config = $sm->get('loslog_options'); $logger = new EntityLogger($config->getEntityLoggerFile(), $config->getLogDir()); return $logger; }, 'LosLog\\Log\\ErrorLogger' => function (ServiceLocatorInterface $sm) { $config = $sm->get('loslog_options'); $logger = new ErrorLogger($config->getErrorLoggerFile(), $config->getLogDir()); return $logger; }, 'LosLog\\Log\\SqlLogger' => function (ServiceLocatorInterface $sm) { $config = $sm->get('loslog_options'); $logger = new SqlLogger($config->getSqlLoggerFile(), $config->getLogDir()); return $logger; }, 'LosLog\\Log\\StaticLogger' => function (ServiceLocatorInterface $sm) { $config = $sm->get('loslog_options'); $logger = StaticLogger::getInstance($config->getStaticLoggerFile(), $config->getLogDir()); return $logger; }, 'LosLog\\Log\\RollbarLogger' => function (ServiceLocatorInterface $sm) { $logger = new RollbarLogger($sm->get('RollbarNotifier')); return $logger; }, 'RollbarNotifier' => function (ServiceLocatorInterface $sm) { $config = $sm->get('loslog_options'); $vet = $config->toArray(); $vet['agent_log_location'] = $config->getAgentLogLocation(); $logger = new RollbarNotifier($vet); return $logger; }], 'aliases' => ['loslog_entitylogger' => 'LosLog\\Log\\EntityLogger', 'loslog_errorlogger' => 'LosLog\\Log\\ErrorLogger', 'loslog_sqllogger' => 'LosLog\\Log\\SqlLogger', 'loslog_staticlogger' => 'LosLog\\Log\\StaticLogger', 'loslog_rollbarlogger' => 'LosLog\\Log\\RollbarLogger']]; }