Skip to content
Snippets Groups Projects
Select Git revision
  • be7b79d2ff86ace755cd1d17c4e9869707ca3a27
  • master default protected
  • cleanup_fixtures
  • add-openvox
  • freebsd-14
  • remove-legacy-top-scope-syntax
  • rel430
  • tests
  • revert-363-augeas-module-cleanup
  • release-4.1.0
  • puppet8
  • relax-dependencies
  • rel400
  • mode
  • puppet7
  • release-3.1.0
  • freebsd13
  • freebsd11
  • stdlib
  • centos
  • fedora
  • v5.1.0
  • v5.0.0
  • v4.5.0
  • v4.4.0
  • v4.3.0
  • v4.2.1
  • v4.2.0
  • v4.1.0
  • v4.0.0
  • v3.1.0
  • v3.0.0
  • v2.0.0
  • 1.12.0
  • 1.11.0
  • 1.10.0
  • 1.9.0
  • 1.8.0
  • 1.7.0
  • 1.6.0
  • 1.5.0
41 results

mta.pp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    doctrine-module-em.php 2.57 KiB
    <?php
    /*
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     *
     * This software consists of voluntary contributions made by many individuals
     * and is licensed under the MIT license. For more information, see
     * <http://www.doctrine-project.org>.
     */
    
    use Zend\ServiceManager\ServiceManager;
    use Zend\Mvc\Application;
    
    ini_set('display_errors', true);
    chdir(__DIR__);
    
    $previousDir = '.';
    
    while (!file_exists('config/application.config.php')) {
        $dir = dirname(getcwd());
    
        if ($previousDir === $dir) {
            throw new RuntimeException(
                'Unable to locate "config/application.config.php": ' .
                'is DoctrineModule in a subdir of your application skeleton?'
            );
        }
    
        $previousDir = $dir;
        chdir($dir);
    }
    
    if (!(@include_once __DIR__ . '/../vendor/autoload.php') && !(@include_once __DIR__ . '/../../../autoload.php')) {
        throw new RuntimeException('Error: vendor/autoload.php could not be found. Did you run php composer.phar install?');
    }
    
    $application = Application::init(include 'config/application.config.php');
    
    /* @var $cli \Symfony\Component\Console\Application */
    $cli = $application->getServiceManager()->get('doctrine.cli');
    
    /**
     * Ajout par rapport à 'doctrine/doctrine-module/bin/doctrine-module.php' original.
     * 
     * Le nom de l'entity manager à utiliser doit être spécifié dans le shell avant l'appel à la commande
     * Doctrine, exemple en bash :
     *      $ export em="orm_radius"
     *      $ vendor/bin/doctrine-module-em dbal:run-sql "select count(*) from radacct"
     */
    $em = $application->getServiceManager()->get('doctrine.entitymanager.' . getenv('em'));
    $helperSet = $cli->getHelperSet();
    $helperSet->set(new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()), 'db');
    $helperSet->set(new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em), 'em');
    /**
     * Fin de l'ajout.
     */
    
    $cli->run();