Пример #1
0
 *
 * 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();
Пример #2
0
 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;
 }