* * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * Copyright (c) 2014 (original work) Open Assessment Technologies SA; * * */ //quick TZ fix if (function_exists("date_default_timezone_set")) { date_default_timezone_set('UTC'); } require_once dirname(__FILE__) . '/../includes/raw_start.php'; echo 'Look for missing required extensions' . PHP_EOL; $missingId = \helpers_ExtensionHelper::getMissingExtensionIds(common_ext_ExtensionsManager::singleton()->getInstalledExtensions()); $missingExt = array(); foreach ($missingId as $extId) { $ext = \common_ext_ExtensionsManager::singleton()->getExtensionById($extId); $missingExt[$extId] = $ext; } $merged = array_merge(common_ext_ExtensionsManager::singleton()->getInstalledExtensions(), $missingExt); $sorted = \helpers_ExtensionHelper::sortByDependencies($merged); foreach ($sorted as $ext) { if (!common_ext_ExtensionsManager::singleton()->isInstalled($ext->getId())) { echo 'Installing ' . $ext->getId() . PHP_EOL; $installer = new \tao_install_ExtensionInstaller($ext); $installer->install(); } else { $installed = common_ext_ExtensionsManager::singleton()->getInstalledVersion($ext->getId()); $current = $ext->getVersion();
protected function getMissingExtensions() { $missingId = \helpers_ExtensionHelper::getMissingExtensionIds(common_ext_ExtensionsManager::singleton()->getInstalledExtensions()); $missingExt = array(); foreach ($missingId as $extId) { $ext = \common_ext_ExtensionsManager::singleton()->getExtensionById($extId); $missingExt[$extId] = $ext; } return $missingExt; }