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; }
$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);