/** * Loads installed bundles to the frontend * @param Site $site */ static function LoadInstalledToFrontend(Site $site) { $bundles = InstalledBundle::Schema()->Fetch(); foreach ($bundles as $bundle) { $manifest = ClassFinder::Manifest($bundle->GetBundle()); $manifest->LoadToFrontend($site); } }
/** * Installs a dependency * @param BundleDependency $dependency * @return boolean */ private function InstallDependency(BundleDependency $dependency) { $bundle = $dependency->BundleName(); if (array_key_exists($bundle, $this->failedBundles)) { return false; } $installedVersion = $this->InstalledVersion($bundle); $manifest = ClassFinder::Manifest($bundle); if (!$installedVersion || version_compare($installedVersion, $manifest->Version()) < 0) { if (!$this->InstallBundle($bundle)) { return false; } } return true; }