mirror of
				https://github.com/alchemy-fr/Phraseanet.git
				synced 2025-10-27 03:43:12 +00:00 
			
		
		
		
	 a70bf2fc70
			
		
	
	a70bf2fc70
	
	
	
		
			
			* PHRAS-1304_AUTO-COMPLETION_MASTER ported from 4.0 * PHRAS-1304_AUTO-COMPLETION_MASTER fix * PHRAS-1304_AUTO-COMPLETION_MASTER fix * PHRAS-1304_AUTO-COMPLETION_MASTER bump php version to 5.5.31 (5.5.21 is obsolete in cicleci) * PHRAS-1304_AUTO-COMPLETION_MASTER bump php version to 5.5.31 : php.ini moved in circelci * PHRAS-1304_AUTO-COMPLETION_MASTER add zmq & date to php for circleci * PHRAS-1304_AUTO-COMPLETION_MASTER add zmq * PHRAS-1304_AUTO-COMPLETION_MASTER bump amqp * PHRAS-1304_AUTO-COMPLETION_MASTER downgrade amqp to 1.2 to test compilation against old librabbit 0.4 (ubuntu) * PHRAS-1304_AUTO-COMPLETION_MASTER add amqp.so to php.ini, (re)bump amqp to 1.6 * PHRAS-1304_AUTO-COMPLETION_MASTER build rabittmq from git * PHRAS-1304_AUTO-COMPLETION_MASTER build rabittmq from git again * PHRAS-1304_AUTO-COMPLETION_MASTER build rabittmq from git again and again * PHRAS-1304_AUTO-COMPLETION_MASTER fix test on media rotation 600*400 -> 400*599 !!! * PHRAS-1304_AUTO-COMPLETION_MASTER restore facebook sdk to 4.0.1 due to mistake * PHRAS-1304_AUTO-COMPLETION_MASTER deleted unwanted file
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * This file is part of Phraseanet
 | |
|  *
 | |
|  * (c) 2005-2016 Alchemy
 | |
|  *
 | |
|  * For the full copyright and license information, please view the LICENSE
 | |
|  * file that was distributed with this source code.
 | |
|  */
 | |
| 
 | |
| namespace Alchemy\Phrasea\Databox\Caption;
 | |
| 
 | |
| use Alchemy\Phrasea\Core\LazyLocator;
 | |
| use Alchemy\Phrasea\Databox\ClosureDataboxBoundRepositoryFactory;
 | |
| use Alchemy\Phrasea\Databox\DataboxBoundRepositoryProvider;
 | |
| use Alchemy\Phrasea\Databox\DataboxConnectionProvider;
 | |
| use Alchemy\Phrasea\Record\RecordReference;
 | |
| use Silex\Application;
 | |
| use Silex\ServiceProviderInterface;
 | |
| 
 | |
| class CaptionServiceProvider implements ServiceProviderInterface
 | |
| {
 | |
|     public function register(Application $app)
 | |
|     {
 | |
|         $app['provider.factory.caption'] = $app->protect(function ($databoxId) use ($app) {
 | |
|             return function ($recordId, array $data) use ($app, $databoxId) {
 | |
|                 $recordReference = RecordReference::createFromDataboxIdAndRecordId($databoxId, $recordId);
 | |
| 
 | |
|                 return new \caption_record($app, $recordReference, $data);
 | |
|             };
 | |
|         });
 | |
| 
 | |
|         $app['provider.data_repo.caption'] = $app->share(function (Application $app) {
 | |
|             return new DataboxBoundRepositoryProvider(new CaptionDataRepositoryFactory(
 | |
|                 new DataboxConnectionProvider($app['phraseanet.appbox']),
 | |
|                 $app['cache']
 | |
|             ));
 | |
|         });
 | |
| 
 | |
|         $app['provider.repo.caption'] = $app->share(function (Application $app) {
 | |
|             return new DataboxBoundRepositoryProvider(
 | |
|                 new ClosureDataboxBoundRepositoryFactory(function ($databoxId) use ($app) {
 | |
|                     /** @var CaptionDataRepository $dataRepository */
 | |
|                     $dataRepository = $app['provider.data_repo.caption']->getRepositoryForDatabox($databoxId);
 | |
|                     $captionFactoryProvider = $app['provider.factory.caption'];
 | |
| 
 | |
|                     return new CaptionRepository(
 | |
|                         $dataRepository,
 | |
|                         $captionFactoryProvider($databoxId)
 | |
|                     );
 | |
|                 })
 | |
|             );
 | |
|         });
 | |
| 
 | |
|         $app['service.caption'] = $app->share(function (Application $app) {
 | |
|             return new CaptionService($app['provider.repo.caption']);
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     public function boot(Application $app)
 | |
|     {
 | |
|         $app['dispatcher']->addSubscriber(new CaptionCacheInvalider(new LazyLocator($app, 'provider.data_repo.caption')));
 | |
|     }
 | |
| }
 |