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