Example #1
0
 * @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 != '') {
        break;
    }
}
 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;
 }
<?php

/**
 *
 * @package redaxo4
 * @version svn:$Id$
 */
include_once $REX['INCLUDE_PATH'] . '/addons/community/functions/functions.plugin.inc.php';
// -------------- Defaults
$pluginname = rex_request('pluginname', 'string');
$function = rex_request('function', 'string');
$plugins = rex_read_plugins_folder();
$pluginname = array_search($pluginname, $plugins) !== false ? $pluginname : '';
$warning = '';
$info = '';
// ----------------- FUNCTIONS
if ($pluginname != '') {
    $install = rex_get('install', 'int', -1);
    $activate = rex_get('activate', 'int', -1);
    $uninstall = rex_get('uninstall', 'int', -1);
    // ----------------- plugin INSTALL
    if ($install == 1) {
        if (($warning = rex_install_plugin($plugins, $pluginname)) === true) {
            $info = $I18N_COM->msg("plugin_installed", $pluginname);
        }
    } elseif ($activate == 1) {
        if (($warning = rex_activate_plugin($plugins, $pluginname)) === true) {
            $info = $I18N_COM->msg("plugin_activated", $pluginname);
        }
    } elseif ($activate == 0) {
        if (($warning = rex_deactivate_plugin($plugins, $pluginname)) === true) {
Example #4
0
$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;
        }
        if ($msg != '') {
            break;
        }