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