public function register(Application $app)
 {
     $app['stack'] = $app->share(function ($app) {
         $stack = new Stack($app);
         return $stack;
     });
 }
 /**
  * Automatically registers all service classes in $this->services array
  * {@inheritdoc}
  * @param Application|\Apitude\Core\Application $app
  */
 public function register(Application $app)
 {
     foreach ($this->services as $key => $class) {
         if (is_numeric($key)) {
             $key = $class;
         }
         $app[$key] = $app->share(function () use($class, $app) {
             $result = new $class();
             $app->initialize($result);
             return $result;
         });
     }
     if (!empty($this->doctrineEventSubscribers)) {
         $config = $app['config'];
         foreach ($this->doctrineEventSubscribers as $class) {
             $config['orm.subscribers'][] = $class;
         }
     }
     if (!empty($this->entityFolders)) {
         if (!isset($config)) {
             $config = $app['config'];
         }
         foreach ($this->entityFolders as $namespace => $path) {
             $config['orm.options']['orm.em.options']['mappings'][] = ['type' => 'annotation', 'namespace' => $namespace, 'path' => $path, 'use_simple_annotation_reader' => false];
         }
     }
     if (isset($config)) {
         $app['config'] = $config;
     }
     if (php_sapi_name() === 'cli' && !empty($this->commands)) {
         $app['base_commands'] = $app->extend('base_commands', function (array $commands) {
             return array_merge($commands, $this->commands);
         });
     }
 }
 public function register(Application $app)
 {
     $app['translator'] = $app->share(function ($app) {
         $translator = new Translator($app, $app['translator.message_selector'], $app['translator.cache_dir'], $app['debug']);
         // Handle deprecated 'locale_fallback'
         if (isset($app['locale_fallback'])) {
             $app['locale_fallbacks'] = (array) $app['locale_fallback'];
         }
         $translator->setFallbackLocales($app['locale_fallbacks']);
         $translator->addLoader('array', new ArrayLoader());
         $translator->addLoader('xliff', new XliffFileLoader());
         foreach ($app['translator.domains'] as $domain => $data) {
             foreach ($data as $locale => $messages) {
                 $translator->addResource('array', $messages, $locale, $domain);
             }
         }
         return $translator;
     });
     $app['translator.message_selector'] = $app->share(function () {
         return new MessageSelector();
     });
     $app['translator.domains'] = array();
     $app['locale_fallbacks'] = array('en');
     $app['translator.cache_dir'] = null;
 }
Example #4
0
 /**
  * (non-PHPdoc)
  * @see \Silex\ServiceProviderInterface::register()
  * @param Application $app
  */
 public function register(Application $app)
 {
     $service = $this;
     $app[static::NAME] = $app->protect(function (string $url) use($service) {
         return $service->create($url);
     });
 }
Example #5
0
 /**
  * Bootstrap
  */
 public function setUp()
 {
     parent::setUp();
     $app = new Application();
     $app->register(new Password(self::DEFAULT_COST));
     $this->app = $app;
 }
 /**
  * Silex method that exposes routes to the app
  *
  * @param Silex\Application $app Application instance
  *
  * @return Silex\ControllerCollection Object encapsulating crafted routes
  */
 public function connect(Application $app)
 {
     $ctrl = $app['controllers_factory'];
     /**
      * Homepage
      */
     $ctrl->get('/', function () use($app) {
         $root = str_replace('index.php/', '', $app['url_generator']->generate('home'));
         if ($app['request']->getRequestURI() != $root) {
             return $app->redirect($root, Response::HTTP_MOVED_PERMANENTLY);
         }
         return $app['twig']->render('front/partials/home.twig');
     })->bind('home');
     /**
      * Admin root
      */
     $ctrl->get('/admin', function () use($app) {
         return $app->redirect($app['url_generator']->generate($app['config']['admin']['root']));
     });
     /**
      * robots.txt
      */
     $ctrl->get('/robots.txt', function () use($app) {
         $response = new Response('User-agent: *' . PHP_EOL . ($app['debug'] ? 'Disallow: /' : 'Sitemap: ' . $app['url_generator']->generate('home') . 'sitemap.xml'));
         $response->headers->set('Content-Type', 'text/plain');
         return $response;
     });
     return $ctrl;
 }
 public function register(Application $app)
 {
     $this->app = $app;
     $app['session.test'] = false;
     $app['session'] = $app->share(function ($app) {
         if (!isset($app['session.storage'])) {
             if ($app['session.test']) {
                 $app['session.storage'] = $app['session.storage.test'];
             } else {
                 $app['session.storage'] = $app['session.storage.native'];
             }
         }
         return new Session($app['session.storage']);
     });
     $app['session.storage.handler'] = $app->share(function ($app) {
         return new NativeFileSessionHandler($app['session.storage.save_path']);
     });
     $app['session.storage.native'] = $app->share(function ($app) {
         return new NativeSessionStorage($app['session.storage.options'], $app['session.storage.handler']);
     });
     $app['session.storage.test'] = $app->share(function () {
         return new MockFileSessionStorage();
     });
     $app['session.storage.options'] = array();
     $app['session.default_locale'] = 'en';
     $app['session.storage.save_path'] = null;
 }
 public function register(Application $app)
 {
     $app['schema'] = $app->share(function ($app) {
         return new Manager($app);
     });
     $app['schema.tables'] = $app->share(function (Application $app) {
         /** @var \Doctrine\DBAL\Platforms\AbstractPlatform $platform */
         $platform = $app['db']->getDatabasePlatform();
         return new \Pimple(['authtoken' => $app->share(function () use($platform) {
             return new Table\AuthToken($platform);
         }), 'cron' => $app->share(function () use($platform) {
             return new Table\Cron($platform);
         }), 'log_change' => $app->share(function () use($platform) {
             return new Table\LogChange($platform);
         }), 'log_system' => $app->share(function () use($platform) {
             return new Table\LogSystem($platform);
         }), 'relations' => $app->share(function () use($platform) {
             return new Table\Relations($platform);
         }), 'taxonomy' => $app->share(function () use($platform) {
             return new Table\Taxonomy($platform);
         }), 'users' => $app->share(function () use($platform) {
             return new Table\Users($platform);
         })]);
     });
 }
Example #9
0
 public function __construct(SilexApplication $application, $projectDirectory, $name = 'UNKNOWN', $version = 'UNKNOWN')
 {
     parent::__construct($name, $version);
     $this->silexApplication = $application;
     $this->projectDirectory = $projectDirectory;
     $application->boot();
 }
 /**
  * @param \Silex\Application $app
  * This function can return listing of node.
  */
 public function show(Application $app)
 {
     header("Content-Type: text/html; charset=UTF-8");
     $client = $app['elasticsearch'];
     $search = $_GET['recherche'];
     $params['index'] = 'elasticsearch_index_csoecsic_content';
     $params['type'] = 'content';
     $ret = $client->indices()->getMapping(array('index' => 'elasticsearch_index_csoecsic_content'));
     $params['body']['query']['match']['_all'] = $search;
     $result = $client->search($params);
     // If no result from node Elasticsearch.
     if ($result && $result['hits']['total'] === 0) {
         $app->abort(404, sprintf('Node %s does not exist.', $search));
     }
     // If result from node Elasticsearch.
     if ($result['hits']['total'] > 0) {
         $nodes = $result['hits']['hits'];
     } else {
         print 'no result for this search';
     }
     $output['title_doc'] = 'Le contenu le plus pertinent :' . $nodes[0]['_source']['title'] . '';
     $output['score'] = 'Le meilleurs résultat de la recherche est :' . $nodes[0]['_score'] . '';
     //return '<p>Le contenu le plus pertinent :' . $nodes[0]['_source']['title'] . '</p>' . '<p>Avec comme score :' . $nodes[0]['_score'] . '</p>';
     /*return $app->render('template/result.php', array('node' => reset($output)));*/
     return $app['twig']->render('index.html.twig', ['result' => $output]);
 }
Example #11
0
 public function register(Application $app)
 {
     $app['log'] = $app->share(function ($app) {
         $log = new Bolt\Log($app);
         return $log;
     });
 }
 /**
  * Registers services on the given app.
  *
  * This method should only be used to configure services and parameters.
  * It should not get services.
  *
  * @param Application $app An Application instance
  */
 public function register(Application $app)
 {
     if (!isset($app['locales_allowed'])) {
         throw new \RuntimeException('No locales are specified in your config');
     }
     if (!isset($app['em'])) {
         throw new \RuntimeException('No entity manager has been settled');
     }
     if (!isset($app['ip2locale.ip2country_manager'])) {
         $app['ip2locale.ip2country_manager'] = $app->share(function () use($app) {
             return new IP2CountryManager($app['em']);
         });
     }
     if (isset($app['ip2locale.ip2country_manager_enabled'])) {
         $app['ip2locale.ip2country_manager']->setEnabled($app['ip2locale.ip2country_manager_enabled']);
     }
     if (isset($app['ip2locale.ipv6_enabled'])) {
         $app['ip2locale.ip2country_manager']->setIpv6Enabled($app['ip2locale.ipv6_enabled']);
     }
     if (!isset($app['ip2locale.language_detector'])) {
         $app['ip2locale.language_detector'] = $app->share(function () use($app) {
             return new LanguageDetector();
         });
     }
     if (isset($app['ip2locale.language_detector_enabled'])) {
         $app['ip2locale.language_detector']->setEnabled($app['ip2locale.language_detector_enabled']);
     }
     if (!isset($app['ip2locale.locator'])) {
         $app['ip2locale.locator'] = $app->share(function () use($app) {
             return new IPLocator($app['ip2locale.ip2country_manager'], $app['ip2locale.language_detector'], $app['locales_allowed']);
         });
     }
 }
 public function register(Application $app)
 {
     $app['task-manager.logger'] = $app->share(function (Application $app) {
         $logger = new $app['monolog.logger.class']('task-manager logger');
         $logger->pushHandler(new NullHandler());
         return $logger;
     });
     $app['task-manager'] = $app->share(function (Application $app) {
         $options = $app['task-manager.listener.options'];
         $manager = TaskManager::create($app['dispatcher'], $app['task-manager.logger'], $app['task-manager.task-list'], ['listener_protocol' => $options['protocol'], 'listener_host' => $options['host'], 'listener_port' => $options['port'], 'tick_period' => 1]);
         $manager->addSubscriber($app['ws.task-manager.broadcaster']);
         return $manager;
     });
     $app['task-manager.logger.configuration'] = $app->share(function (Application $app) {
         $conf = array_replace(['enabled' => true, 'level' => 'INFO', 'max-files' => 10], $app['conf']->get(['main', 'task-manager', 'logger'], []));
         $conf['level'] = defined('Monolog\\Logger::' . $conf['level']) ? constant('Monolog\\Logger::' . $conf['level']) : Logger::INFO;
         return $conf;
     });
     $app['task-manager.task-list'] = $app->share(function (Application $app) {
         $conf = $app['conf']->get(['registry', 'executables', 'php-conf-path']);
         $finder = new PhpExecutableFinder();
         $php = $finder->find();
         return new TaskList($app['EM']->getRepository('Phraseanet:Task'), $app['root.path'], $php, $conf);
     });
 }
 /**
  * Register
  *
  * @param Application $app [description]
  *
  * @return void
  */
 public function register(Application $app)
 {
     $app['nn.markdown'] = $app->share(function () {
         return new Markdown();
     });
     if (isset($app["twig"])) {
         $app['twig'] = $app->share($app->extend('twig', function (\Twig_Environment $twig, Application $app) {
             $filterParse = new \Twig_SimpleFilter('markdown_parse', function ($text) use($app) {
                 return $app['nn.markdown']->parse($text);
             }, array('is_safe' => array('html')));
             $twig->addFilter($filterParse);
             $filterParseFile = new \Twig_SimpleFilter('markdown_parse_file', function ($filename) use($app) {
                 return $app['nn.markdown']->parseFile($filename);
             }, array('is_safe' => array('html')));
             $fucntionParseLastFile = new \Twig_SimpleFunction('markdown_parse_last_file', function () use($app) {
                 $content = "";
                 $finderLast = $app['nn.markdown']->getNLastFiles(1);
                 foreach ($finderLast as $file) {
                     $content = $file->getContents();
                 }
                 return $app['nn.markdown']->parse($content);
             }, array('is_safe' => array('html')));
             $twig->addFilter($filterParse);
             $twig->addFilter($filterParseFile);
             $twig->addFunction($fucntionParseLastFile);
             return $twig;
         }));
     }
 }
 protected function checkRouteResponse(Application $app, $path, $expectedContent, $method = 'get', $message = null)
 {
     $app->register(new ServiceControllerServiceProvider());
     $request = Request::create($path, $method);
     $response = $app->handle($request);
     $this->assertEquals($expectedContent, $response->getContent(), $message);
 }
 protected function build($siteid, $slug, Request $request, Application $app)
 {
     $this->parameters = array('user' => null, 'eventCreated' => null, 'eventDupe' => null);
     $sr = new SiteRepository();
     $this->parameters['site'] = $sr->loadById($siteid);
     if (!$this->parameters['site']) {
         $app->abort(404);
     }
     $repo = new NewEventDraftRepository();
     $this->parameters['draft'] = $repo->loadBySlugForSite($slug, $this->parameters['site']);
     if (!$this->parameters['draft']) {
         $app->abort(404);
     }
     if ($this->parameters['draft']->getUserAccountId()) {
         $ur = new UserAccountRepository();
         $this->parameters['user'] = $ur->loadByID($this->parameters['draft']->getUserAccountId());
     }
     if ($this->parameters['draft']->getEventId()) {
         $er = new EventRepository();
         $this->parameters['eventCreated'] = $er->loadByID($this->parameters['draft']->getEventId());
     }
     if ($this->parameters['draft']->getWasExistingEventId()) {
         $er = new EventRepository();
         $this->parameters['eventDupe'] = $er->loadByID($this->parameters['draft']->getWasExistingEventId());
     }
 }
Example #17
0
 public function contactSentAction(Request $request, Application $app)
 {
     $data = $request->get('contact_form');
     $configData = $app['configs']->getData();
     $contactEmails = $configData['contact_email'] ? explode(',', $configData['contact_email']) : array('*****@*****.**');
     $message = sprintf('
         Salut,
                 Ai primit un mesaj prin intermediul formularului de contact.
                 Mesaj: %s.
                 Primit la %s  de la %s cu adresa %s.', $data['mesaj'], date('d-m-Y H:i'), $data['nume'], $data['email']);
     $mailer = $app['mailer'];
     $mailer->isSMTP();
     $mailer->Host = 'localhost';
     //$mailer->Username = '';
     //$mailer->Password = '';
     //$mailer->SMTPSecure = 'ssl';
     $mailer->Port = 25;
     $mailer->setFrom('*****@*****.**');
     $mailer->addReplyTo($data['email']);
     foreach ($contactEmails as $email) {
         $mailer->addAddress($email);
     }
     $mailer->Subject = 'Formular contact ';
     $mailer->Body = $message;
     $mailer->send();
     $_SESSION['message_sent'] = TRUE;
     return $app->redirect('/contact', 302);
 }
Example #18
0
 public static function createAppAndDB($useManyToMany)
 {
     $app = new Application();
     $app->register(new DoctrineServiceProvider(), ['dbs.options' => ['default' => ['host' => '127.0.0.1', 'dbname' => 'crudTest', 'user' => 'root', 'password' => '', 'charset' => 'utf8']]]);
     $app['db']->executeUpdate('DROP TABLE IF EXISTS password_reset;');
     $app['db']->executeUpdate('DROP TABLE IF EXISTS user_role;');
     $app['db']->executeUpdate('DROP TABLE IF EXISTS role;');
     $app['db']->executeUpdate('DROP TABLE IF EXISTS user;');
     $app['db']->executeUpdate('SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";');
     $app['db']->executeUpdate('SET time_zone = "+00:00"');
     $sql = 'CREATE TABLE `role` (' . '  `id` int(11) NOT NULL AUTO_INCREMENT,' . '  `version` int(11) NOT NULL,' . '  `created_at` datetime NOT NULL,' . '  `updated_at` datetime NOT NULL,' . '  `deleted_at` datetime DEFAULT NULL,' . '  `role` varchar(255) NOT NULL,' . '  PRIMARY KEY (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;';
     $app['db']->executeUpdate($sql);
     $sql = 'CREATE TABLE `user` (' . '  `id` int(11) NOT NULL AUTO_INCREMENT,' . '  `created_at` datetime NOT NULL,' . '  `updated_at` datetime NOT NULL,' . '  `deleted_at` datetime DEFAULT NULL,' . '  `version` int(11) NOT NULL,' . '  `password` varchar(255) NOT NULL,' . '  `salt` varchar(255) NOT NULL,' . '  `username` varchar(255) NOT NULL,' . '  `email` varchar(255) NOT NULL,' . '  PRIMARY KEY (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;';
     $app['db']->executeUpdate($sql);
     if ($useManyToMany) {
         $sql = 'CREATE TABLE `user_role` (' . '  `user` int(11) NOT NULL,' . '  `role` int(11) NOT NULL,' . '  KEY `user` (`user`),' . '  KEY `role` (`role`),' . '  CONSTRAINT `userrole_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`),' . '  CONSTRAINT `userrole_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;';
         $app['db']->executeUpdate($sql);
     } else {
         $sql = 'CREATE TABLE `user_role` (' . '  `id` int(11) NOT NULL AUTO_INCREMENT,' . '  `version` int(11) NOT NULL,' . '  `created_at` datetime NOT NULL,' . '  `updated_at` datetime NOT NULL,' . '  `deleted_at` datetime DEFAULT NULL,' . '  `user` int(11) NOT NULL,' . '  `role` int(11) NOT NULL,' . '  PRIMARY KEY (`id`),' . '  KEY `user` (`user`),' . '  KEY `role` (`role`),' . '  CONSTRAINT `userrole_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`),' . '  CONSTRAINT `userrole_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;';
         $app['db']->executeUpdate($sql);
     }
     $sql = 'CREATE TABLE `password_reset` (' . '  `id` int(11) NOT NULL AUTO_INCREMENT,' . '  `version` int(11) NOT NULL,' . '  `created_at` datetime NOT NULL,' . '  `updated_at` datetime NOT NULL,' . '  `deleted_at` datetime DEFAULT NULL,' . '  `user` int(11) NOT NULL,' . '  `token` varchar(255) NOT NULL,' . '  `reset` datetime DEFAULT NULL,' . '  PRIMARY KEY (`id`),' . '  KEY `user` (`user`),' . '  CONSTRAINT `passwordreset_ibfk_1` FOREIGN KEY (`user`) REFERENCES `user` (`id`)' . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;';
     $app['db']->executeUpdate($sql);
     return $app;
 }
 /**
  * {@inheritDoc}
  */
 public function boot(Application $app)
 {
     $app['dispatcher'] = $app->share($app->extend('dispatcher', function ($dispatcher, Application $app) {
         $dispatcher->addSubscriber(new XSendFileSubscriber($app));
         return $dispatcher;
     }));
 }
Example #20
0
 /**
  * Get record detailed view
  *
  * @param Application $app
  * @param Request     $request
  *
  * @return JsonResponse
  */
 public function getRecord(Application $app, Request $request)
 {
     if (!$request->isXmlHttpRequest()) {
         $app->abort(400);
     }
     $searchEngine = $options = null;
     $train = '';
     if ('' === ($env = strtoupper($request->get('env', '')))) {
         $app->abort(400, '`env` parameter is missing');
     }
     // Use $request->get as HTTP method can be POST or GET
     if ('RESULT' == ($env = strtoupper($request->get('env', '')))) {
         try {
             $options = SearchEngineOptions::hydrate($app, $request->get('options_serial'));
             $searchEngine = $app['phraseanet.SE'];
         } catch (\Exception $e) {
             $app->abort(400, 'Search-engine options are not valid or missing');
         }
     }
     $pos = (int) $request->get('pos', 0);
     $query = $request->get('query', '');
     $reloadTrain = !!$request->get('roll', false);
     $record = new \record_preview($app, $env, $pos < 0 ? 0 : $pos, $request->get('cont', ''), $searchEngine, $query, $options);
     if ($record->is_from_reg()) {
         $train = $app['twig']->render('prod/preview/reg_train.html.twig', ['record' => $record]);
     }
     if ($record->is_from_basket() && $reloadTrain) {
         $train = $app['twig']->render('prod/preview/basket_train.html.twig', ['record' => $record]);
     }
     if ($record->is_from_feed()) {
         $train = $app['twig']->render('prod/preview/feed_train.html.twig', ['record' => $record]);
     }
     return $app->json(["desc" => $app['twig']->render('prod/preview/caption.html.twig', ['record' => $record, 'highlight' => $query, 'searchEngine' => $searchEngine, 'searchOptions' => $options]), "html_preview" => $app['twig']->render('common/preview.html.twig', ['record' => $record]), "others" => $app['twig']->render('prod/preview/appears_in.html.twig', ['parents' => $record->get_grouping_parents(), 'baskets' => $record->get_container_baskets($app['EM'], $app['authentication']->getUser())]), "current" => $train, "history" => $app['twig']->render('prod/preview/short_history.html.twig', ['record' => $record]), "popularity" => $app['twig']->render('prod/preview/popularity.html.twig', ['record' => $record]), "tools" => $app['twig']->render('prod/preview/tools.html.twig', ['record' => $record]), "pos" => $record->get_number(), "title" => str_replace(['[[em]]', '[[/em]]'], ['<em>', '</em>'], $record->get_title($query, $searchEngine))]);
 }
 public function register(Application $app)
 {
     $app['console'] = $app->share(function () use($app) {
         $application = new ConsoleApplication($app);
         return $application;
     });
 }
 public function register(Application $app)
 {
     $app['listener.general'] = $app->share(function ($app) {
         return new Listener\GeneralListener($app);
     });
     $app['listener.exception'] = $app->share(function ($app) {
         $rootPath = $app['resources']->getPath('root');
         return new Listener\ExceptionListener($rootPath, $app['render'], $app['logger.system'], $app['session'], $app['config']->get('general/debug', false));
     });
     $app['listener.not_found'] = $app->share(function ($app) {
         return new Listener\NotFoundListener($app['config']->get('general/notfound'), $app['storage.legacy'], $app['templatechooser'], $app['render']);
     });
     /*
      * Creating the actual url generator flushes all controllers.
      * We aren't ready for this since controllers.mount event hasn't fired yet.
      * RedirectListener doesn't use the url generator until kernel.response
      * (way after controllers have been added).
      */
     $app['listener.redirect'] = $app->share(function ($app) {
         return new Listener\RedirectListener($app['session'], $app['url_generator.lazy'], $app['users'], $app['access_control']);
     });
     $app['listener.session'] = $app->share(function ($app) {
         $debug = $app['debug'] && $app['config']->get('general/debug_show_loggedoff', false);
         return new Listener\SessionListener($app['logger.flash'], $debug);
     });
     $app['listener.pager'] = $app->share(function ($app) {
         return new Listener\PagerListener($app->raw('pager'));
     });
     $app['listener.snippet'] = $app->share(function ($app) {
         return new Listener\SnippetListener($app['asset.queue.snippet'], $app['config'], $app['resources'], $app['render']);
     });
     $app['listener.zone_guesser'] = $app->share(function ($app) {
         return new Listener\ZoneGuesser($app);
     });
 }
 public function register(Application $app)
 {
     $app['filepermissions'] = $app->share(function ($app) {
         $filepermissions = new FilePermissions($app);
         return $filepermissions;
     });
 }
 /**
  * @return Application
  */
 protected function getPreparedApp()
 {
     $app = new Application();
     $app->register(new TranslationServiceProvider());
     $app['translator.domains'] = array('messages' => array('en' => array('key1' => 'The translation', 'key_only_english' => 'Foo', 'key2' => 'One apple|%count% apples', 'test' => array('key' => 'It works')), 'de' => array('key1' => 'The german translation', 'key2' => 'One german apple|%count% german apples', 'test' => array('key' => 'It works in german'))));
     return $app;
 }
 /**
  * {@inheritdoc}
  */
 public function register(Application $app)
 {
     // Parameters
     $app['ewz_recaptcha.public_key'] = null;
     $app['ewz_recaptcha.private_key'] = null;
     $app['ewz_recaptcha.locale_key'] = $app['locale'];
     $app['ewz_recaptcha.enabled'] = true;
     $app['ewz_recaptcha.ajax'] = false;
     // add loader for EWZ Template
     if (isset($app['twig'])) {
         $path = dirname(__FILE__) . '/../Resources/views/Form';
         $app['twig.loader']->addLoader(new \Twig_Loader_Filesystem($path));
         $app['twig.form.templates'] = array_merge($app['twig.form.templates'], array('ewz_recaptcha_widget.html.twig'));
     }
     // Register recaptcha form type
     if (isset($app['form.extensions'])) {
         $app['form.extensions'] = $app->share($app->extend('form.extensions', function ($extensions) use($app) {
             $extensions[] = new Form\Extension\RecaptchaExtension($app);
             return $extensions;
         }));
     }
     // Register recaptcha validator constraint
     if (isset($app['validator.validator_factory'])) {
         $app['ewz_recaptcha.true'] = $app->share(function ($app) {
             $validator = new TrueValidator($app['ewz_recaptcha.enabled'], $app['ewz_recaptcha.private_key'], $app['request_stack']);
             return $validator;
         });
         $app['validator.validator_service_ids'] = isset($app['validator.validator_service_ids']) ? $app['validator.validator_service_ids'] : array();
         $app['validator.validator_service_ids'] = array_merge($app['validator.validator_service_ids'], array('ewz_recaptcha.true' => 'ewz_recaptcha.true'));
     }
     // Register translation files
     if (isset($app['translator'])) {
         $app['translator']->addResource('xliff', dirname(__FILE__) . '/../Resources/translations/validators.' . $app['locale'] . '.xlf', $app['locale'], 'validators');
     }
 }
 public function register(Application $app)
 {
     $app['logger'] = function () use($app) {
         return $app['monolog'];
     };
     if ($bridge = class_exists('Symfony\\Bridge\\Monolog\\Logger')) {
         $app['monolog.handler.debug'] = function () use($app) {
             $level = MonologServiceProvider::translateLevel($app['monolog.level']);
             return new DebugHandler($level);
         };
     }
     $app['monolog.logger.class'] = $bridge ? 'Symfony\\Bridge\\Monolog\\Logger' : 'Monolog\\Logger';
     $app['monolog'] = $app->share(function ($app) {
         $log = new $app['monolog.logger.class']($app['monolog.name']);
         $log->pushHandler($app['monolog.handler']);
         if ($app['debug'] && isset($app['monolog.handler.debug'])) {
             $log->pushHandler($app['monolog.handler.debug']);
         }
         return $log;
     });
     $app['monolog.handler'] = function () use($app) {
         $level = MonologServiceProvider::translateLevel($app['monolog.level']);
         return new StreamHandler($app['monolog.logfile'], $level, $app['monolog.bubble'], $app['monolog.permission']);
     };
     $app['monolog.level'] = function () {
         return Logger::DEBUG;
     };
     $app['monolog.listener'] = $app->share(function () use($app) {
         return new LogListener($app['logger']);
     });
     $app['monolog.name'] = 'myapp';
     $app['monolog.bubble'] = true;
     $app['monolog.permission'] = null;
 }
Example #27
0
 public function register(Silex\Application $app)
 {
     $app['cron'] = $app->share(function ($app) {
         $cron = new Cron($app, new BufferedOutput());
         return $cron;
     });
 }
Example #28
0
 public function register(Application $app)
 {
     $app['stack'] = $app->share(function ($app) {
         $stack = new Stack($app['filesystem.matcher'], $app['users'], $app['session'], $app['config']->get('general/accept_file_types'));
         return $stack;
     });
 }
 /**
  * {@inheritdoc}
  */
 public function register(Application $app)
 {
     Analyzer::setDefault(new CaseInsensitive());
     QueryParser::setDefaultEncoding('UTF-8');
     $app['zendsearch.indices_path'] = array();
     $app['zendsearch.indices.initializer'] = $app->protect(function () use($app) {
         static $initialized = false;
         if ($initialized) {
             return;
         }
         $initialized = true;
         $indices = array();
         foreach ($app['zendsearch.indices_path'] as $name => $index) {
             $indices[$name] = file_exists($index) ? Lucene::open($index) : Lucene::create($index);
         }
         $app['zendsearch.indices_collection'] = $indices;
     });
     $app['zendsearch.indices'] = $app->share(function ($app) {
         $app['zendsearch.indices.initializer']();
         return $app['zendsearch.indices_collection'];
     });
     $app['zendsearch.multisearcher'] = $app->share(function ($app) {
         $app['zendsearch.indices.initializer']();
         $multi = new MultiSearcher();
         foreach ($app['zendsearch.indices'] as $index) {
             $multi->addIndex($index);
         }
         return $multi;
     });
     $app['zendsearch'] = $app->share(function ($app) {
         return $app['zendsearch.multisearcher'];
     });
 }
 public function register(Application $app)
 {
     $app['randomgenerator'] = $app->share(function () {
         $factory = new RandomLib\Factory();
         return $factory->getGenerator(new Strength(Strength::MEDIUM));
     });
 }