Beispiel #1
0
 * Backendstyle Addon
 *
 * @author jan.kristinus[at]redaxo[dot]de Jan Kristinus
 * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
 *
 * @author markus[dot]staab[at]redaxo[dot]de Markus Staab
 * @author <a href="http://www.redaxo.de">www.redaxo.de</a>
 *
 * @package redaxo4
 * @version svn:$Id$
 */
$error = '';
// "agk_skin" Plugin mitinstallieren
$addonname = 'be_style';
$plugins = array('agk_skin');
$ADDONS = rex_read_addons_folder();
$PLUGINS = array();
foreach ($ADDONS as $_addon) {
    $PLUGINS[$_addon] = rex_read_plugins_folder($_addon);
}
$pluginManager = new rex_pluginManager($PLUGINS, $addonname);
foreach ($plugins as $pluginname) {
    // plugin installieren
    if (($instErr = $pluginManager->install($pluginname)) !== true) {
        $error = $instErr;
    }
    // plugin aktivieren
    if ($error == '' && ($actErr = $pluginManager->activate($pluginname)) !== true) {
        $error = $actErr;
    }
    if ($error != '') {
 public static function autoInstallPlugins($addon, $plugins)
 {
     // take from xform install routine :)
     $msg = '';
     // GET ALL ADDONS & PLUGINS
     $all_addons = rex_read_addons_folder();
     $all_plugins = array();
     foreach ($all_addons as $_addon) {
         $all_plugins[$_addon] = rex_read_plugins_folder($_addon);
     }
     // DO AUTOINSTALL
     $pluginManager = new rex_pluginManager($all_plugins, $addon);
     foreach ($plugins as $pluginname) {
         if (in_array($pluginname, $all_plugins[$addon])) {
             // check if plugin that should be auto install really exists in addon folder
             // INSTALL PLUGIN
             if (($instErr = $pluginManager->install($pluginname)) !== true) {
                 $msg = $instErr;
             }
             // ACTIVATE PLUGIN
             if ($msg == '' && ($actErr = $pluginManager->activate($pluginname)) !== true) {
                 $msg = $actErr;
             }
             if ($msg != '') {
                 break;
             }
         }
     }
     return $msg;
 }
Beispiel #3
0
function rex_setup_addons($uninstallBefore = false, $installDump = true)
{
    global $REX, $I18N;
    require_once $REX['INCLUDE_PATH'] . '/functions/function_rex_addons.inc.php';
    $state = true;
    $addonErr = '';
    $ADDONS = rex_read_addons_folder();
    foreach ($REX['SYSTEM_ADDONS'] as $systemAddon) {
        if ($state === true && $uninstallBefore) {
            $state = rex_uninstall_addon($ADDONS, $systemAddon);
        }
        if ($state === true && !OOAddon::isInstalled($systemAddon)) {
            $state = rex_install_addon($ADDONS, $systemAddon, $installDump);
        }
        if ($state === true && !OOAddon::isActivated($systemAddon)) {
            $state = rex_activate_addon($ADDONS, $systemAddon);
        }
        if ($state !== true) {
            $addonErr .= '<li>' . $systemAddon . '<ul><li>' . $state . '</li></ul></li>';
        }
    }
    if ($addonErr != '') {
        $addonErr = '<ul>
                   <li>
                     <h3>' . $I18N->msg('setup_011', '<span class="rex-error">', '</span>') . '</h3>
                     <ul>' . $addonErr . '</ul>
                   </li>
                 </ul>';
    }
    return $addonErr;
}
Beispiel #4
0
 * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
 */
$addonname = 'xform';
$I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/xform/lang/');
$msg = '';
if ($REX['VERSION'] != '4' || $REX['SUBVERSION'] < '5') {
    $msg = $I18N->msg('xform_install_redaxo_version_problem', '4.5');
} elseif (version_compare(PHP_VERSION, '5.3.0', '<')) {
    $msg = $I18N->msg('xform_install_checkphpversion', PHP_VERSION);
} elseif (OOAddon::isAvailable('phpmailer') != 1 || OOAddon::getVersion('phpmailer') < '2.8') {
    $msg = $I18N->msg('xform_install_phpmailer_version_problem', '2.8');
} else {
    // AUTOINSTALL THESE PLUGINS
    $autoinstall = array('email', 'setup', 'manager');
    // GET ALL ADDONS & PLUGINS
    $all_addons = rex_read_addons_folder();
    $all_plugins = array();
    foreach ($all_addons as $_addon) {
        $all_plugins[$_addon] = rex_read_plugins_folder($_addon);
    }
    // DO AUTOINSTALL
    $pluginManager = new rex_pluginManager($all_plugins, $addonname);
    foreach ($autoinstall as $pluginname) {
        // INSTALL PLUGIN
        if (($instErr = $pluginManager->install($pluginname)) !== true) {
            $msg = $instErr;
        }
        // ACTIVATE PLUGIN
        if ($msg == '' && ($actErr = $pluginManager->activate($pluginname)) !== true) {
            $msg = $actErr;
        }