예제 #1
0
function rex_setup_addons($uninstallBefore = false, $installDump = true)
{
    global $REX, $I18N;
    require_once $REX['INCLUDE_PATH'] . '/functions/function_rex_addons.inc.php';
    $addonErr = '';
    $ADDONS = rex_read_addons_folder();
    $addonManager = new rex_addonManager($ADDONS);
    foreach ($REX['SYSTEM_ADDONS'] as $systemAddon) {
        $state = true;
        if ($state === true && $uninstallBefore) {
            $state = $addonManager->uninstall($systemAddon);
        }
        if ($state === true && !OOAddon::isInstalled($systemAddon)) {
            $state = $addonManager->install($systemAddon, $installDump);
        }
        if ($state === true && !OOAddon::isActivated($systemAddon)) {
            $state = $addonManager->activate($systemAddon);
        }
        if ($state !== true) {
            $addonErr .= '<li>' . $systemAddon . '<ul><li>' . $state . '</li></ul></li>';
        }
    }
    if ($addonErr != '') {
        $addonErr = '<ul class="rex-ul1">
                   <li>
                     <h3 class="rex-hl3">' . $I18N->msg('setup_011', '<span class="rex-error">', '</span>') . '</h3>
                     <ul>' . $addonErr . '</ul>
                   </li>
                 </ul>';
    }
    return $addonErr;
}
예제 #2
0
         $info = $I18N->msg('addon_activated', $addonname);
         $redirect = true;
     }
 } elseif ($activate == 0) {
     if ($pluginname != '') {
         if (($warning = $addonManager->deactivate($pluginname)) === true) {
             $info = $I18N->msg('plugin_deactivated', $pluginname);
             $redirect = true;
         }
     } elseif (($warning = $addonManager->deactivate($addonname)) === true) {
         $info = $I18N->msg('addon_deactivated', $addonname);
         $redirect = true;
     }
 } elseif ($uninstall == 1) {
     if ($pluginname != '') {
         if (($warning = $addonManager->uninstall($pluginname)) === true) {
             $info = $I18N->msg('plugin_uninstalled', $pluginname);
             $redirect = true;
         }
     } elseif (($warning = $addonManager->uninstall($addonname)) === true) {
         $info = $I18N->msg('addon_uninstalled', $addonname);
         $redirect = true;
     }
 } elseif ($delete == 1) {
     if ($pluginname != '') {
         if (($warning = $addonManager->delete($pluginname)) === true) {
             $info = $I18N->msg('plugin_deleted', $pluginname);
             $redirect = true;
         }
     } elseif (($warning = $addonManager->delete($addonname)) === true) {
         $info = $I18N->msg('addon_deleted', $addonname);