2012-07-01 07:52:20 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This file is part of the Doctrine Bundle
|
|
|
|
*
|
|
|
|
* The code was originally distributed inside the Symfony framework.
|
|
|
|
*
|
|
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
|
|
* (c) Doctrine Project, Benjamin Eberlei <kontakt@beberlei.de>
|
|
|
|
*
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Doctrine\Bundle\DoctrineBundle;
|
|
|
|
|
|
|
|
use Doctrine\ORM\EntityManager;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Configurator for an EntityManager
|
|
|
|
*
|
|
|
|
* @author Christophe Coevoet <stof@notk.org>
|
|
|
|
*/
|
|
|
|
class ManagerConfigurator
|
|
|
|
{
|
|
|
|
private $enabledFilters = array();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Construct.
|
|
|
|
*
|
|
|
|
* @param array $enabledFilters
|
|
|
|
*/
|
|
|
|
public function __construct(array $enabledFilters)
|
|
|
|
{
|
|
|
|
$this->enabledFilters = $enabledFilters;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a connection by name.
|
|
|
|
*
|
|
|
|
* @param EntityManager $entityManager
|
|
|
|
*/
|
|
|
|
public function configure(EntityManager $entityManager)
|
|
|
|
{
|
|
|
|
$this->enableFilters($entityManager);
|
|
|
|
}
|
|
|
|
|
2012-07-15 12:56:31 +00:00
|
|
|
/**
|
|
|
|
* Enable filters for an given entity manager
|
|
|
|
*
|
|
|
|
* @param EntityManager $entityManager
|
|
|
|
*
|
|
|
|
* @return null
|
|
|
|
*/
|
2012-07-01 07:52:20 +00:00
|
|
|
private function enableFilters(EntityManager $entityManager)
|
|
|
|
{
|
|
|
|
if (empty($this->enabledFilters)) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
$filterCollection = $entityManager->getFilters();
|
|
|
|
foreach ($this->enabledFilters as $filter) {
|
|
|
|
$filterCollection->enable($filter);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|