concrete/src/Application/Application.php
public function setupPackages()
    {
        $config = $this['config'];

        $loc = Localization::getInstance();
        $entityManager = $this['Doctrine\ORM\EntityManager'];
        $configUpdater = new EntityManagerConfigUpdater($entityManager);

        foreach ($this->packages as $pkg) {
            if ($config->get('concrete.updates.enable_auto_update_packages')) {
                $dbPkg = \Package::getByHandle($pkg->getPackageHandle());
                $pkgInstalledVersion = $dbPkg->getPackageVersion();
                $pkgFileVersion = $pkg->getPackageVersion();
                if (version_compare($pkgFileVersion, $pkgInstalledVersion, '>')) {
                    $loc->pushActiveContext(Localization::CONTEXT_SYSTEM);
                    $dbPkg->upgradeCoreData();
                    $dbPkg->upgrade();
                    $loc->popActiveContext();
                }
            }
        }
        $packagesWithOnAfterStart = [];
        $service = $this->make(PackageService::class);
        foreach ($this->packages as $pkg) {
            if (method_exists($pkg, 'on_start')) {
                $pkg->on_start();
            }
            $service->bootPackageEntityManager($pkg);
            if (method_exists($pkg, 'on_after_packages_start')) {
                $packagesWithOnAfterStart[] = $pkg;
            }
        }
        foreach ($packagesWithOnAfterStart as $pkg) {
            $pkg->on_after_packages_start();
        }
    }
public function setupPackages()
    {
        $config = $this['config'];

        $loc = Localization::getInstance();
        $entityManager = $this['Doctrine\ORM\EntityManager'];
        $configUpdater = new EntityManagerConfigUpdater($entityManager);

        foreach ($this->packages as $pkg) {
            if ($config->get('concrete.updates.enable_auto_update_packages')) {
                $dbPkg = \Package::getByHandle($pkg->getPackageHandle());
                $pkgInstalledVersion = $dbPkg->getPackageVersion();
                $pkgFileVersion = $pkg->getPackageVersion();
                if (version_compare($pkgFileVersion, $pkgInstalledVersion, '>')) {
                    $loc->pushActiveContext(Localization::CONTEXT_SYSTEM);
                    $dbPkg->upgradeCoreData();
                    $dbPkg->upgrade();
                    $loc->popActiveContext();
                }
            }
        }
        $packagesWithOnAfterStart = [];
        $service = $this->make(PackageService::class);
        foreach ($this->packages as $pkg) {
            if (method_exists($pkg, 'on_start')) {
                $pkg->on_start();
            }
            $service->bootPackageEntityManager($pkg);
            if (method_exists($pkg, 'on_after_packages_start')) {
                $packagesWithOnAfterStart[] = $pkg;
            }
        }
        foreach ($packagesWithOnAfterStart as $pkg) {
            $pkg->on_after_packages_start();
        }
    }
public function setupPackages ( ) { $ config = $ this [ 'config' ] ; $ loc = Localization :: getInstance ( ) ; $ entityManager = $ this [ 'Doctrine\ORM\EntityManager' ] ; $ configUpdater = new EntityManagerConfigUpdater ( $ entityManager ) ; foreach ( $ this -> packages as $ pkg ) { if ( $ config -> get ( 'concrete.updates.enable_auto_update_packages' ) ) { $ dbPkg = \ Package :: getByHandle ( $ pkg -> getPackageHandle ( ) ) ; $ pkgInstalledVersion = $ dbPkg -> getPackageVersion ( ) ; $ pkgFileVersion = $ pkg -> getPackageVersion ( ) ; if ( version_compare ( $ pkgFileVersion , $ pkgInstalledVersion , '>' ) ) { $ loc -> pushActiveContext ( Localization :: CONTEXT_SYSTEM ) ; $ dbPkg -> upgradeCoreData ( ) ; $ dbPkg -> upgrade ( ) ; $ loc -> popActiveContext ( ) ; } } } $ packagesWithOnAfterStart = [ ] ; $ service = $ this -> make ( PackageService :: class ) ; foreach ( $ this -> packages as $ pkg ) { if ( method_exists ( $ pkg , 'on_start' ) ) { $ pkg -> on_start ( ) ; } $ service -> bootPackageEntityManager ( $ pkg ) ; if ( method_exists ( $ pkg , 'on_after_packages_start' ) ) { $ packagesWithOnAfterStart [ ] = $ pkg ; } } foreach ( $ packagesWithOnAfterStart as $ pkg ) { $ pkg -> on_after_packages_start ( ) ; } }
Run startup and localization events on any installed packages.
Run startup and localization events on any installed packages .