private static function installAddons($uninstallBefore = false, $installDump = true) { $addonErr = ''; rex_package_manager::synchronizeWithFileSystem(); if ($uninstallBefore) { foreach (array_reverse(rex_package::getSystemPackages()) as $package) { $manager = rex_package_manager::factory($package); $state = $manager->uninstall($installDump); if ($state !== true) { $addonErr .= '<li>' . $package->getPackageId() . '<ul><li>' . $manager->getMessage() . '</li></ul></li>'; } } } foreach (rex::getProperty('system_addons') as $packageRepresentation) { $state = true; $package = rex_package::get($packageRepresentation); $manager = rex_package_manager::factory($package); if ($state === true && !$package->isInstalled()) { $state = $manager->install($installDump); } if ($state !== true) { $addonErr .= '<li>' . $package->getPackageId() . '<ul><li>' . $manager->getMessage() . '</li></ul></li>'; } if ($state === true && !$package->isAvailable()) { $state = $manager->activate(); if ($state !== true) { $addonErr .= '<li>' . $package->getPackageId() . '<ul><li>' . $manager->getMessage() . '</li></ul></li>'; } } } if ($addonErr != '') { $addonErr = '<ul class="rex-ul1"> <li> <h3 class="rex-hl3">' . rex_i18n::msg('setup_513', '<span class="rex-error">', '</span>') . '</h3> <ul>' . $addonErr . '</ul> </li> </ul>'; } return $addonErr; }