BeezNest 2012 * @author Angel Fernando Quiroz Campos * @package chamilo.admin */ use \ChamiloSession as Session; $cidReset = true; require_once '../inc/global.inc.php'; // Access restrictions api_protect_admin_script(); $pluginName = $_GET['name']; $appPlugin = new AppPlugin(); $installedPlugins = $appPlugin->get_installed_plugins(); $pluginInfo = $appPlugin->getPluginInfo($pluginName, true); if (!in_array($pluginName, $installedPlugins) || empty($pluginInfo)) { api_not_allowed(true); } global $_configuration; $message = null; $content = null; $currentUrl = api_get_self() . "?name=$pluginName"; if (isset($pluginInfo['settings_form'])) { $form = $pluginInfo['settings_form']; if (isset($form)) { //We override the form attributes $attributes = array('action' => $currentUrl, 'method' => 'POST'); $form->updateAttributes($attributes); $content = Display::page_header($pluginInfo['title']); $content .= $form->toHtml(); } } else { $message = Display::return_message(get_lang('NoConfigurationSettingsForThisPlugin'), 'warning'); } if (isset($form)) { if ($form->validate()) { $values = $form->exportValues(); //api_delete_category_settings_by_subkey($pluginName); $accessUrlId = api_get_current_access_url_id(); api_delete_settings_params( array( 'category = ? AND access_url = ? AND subkey = ? AND type = ? and variable <> ?' => array( 'Plugins', $accessUrlId, $pluginName, 'setting', "status" ) ) ); foreach ($values as $key => $value) { api_add_setting( $value, Database::escape_string($pluginName . '_' . $key), $pluginName, 'setting', 'Plugins', $pluginName, null, null, null, $_configuration['access_url'], 1 ); } if (isset($values['show_main_menu_tab'])) { $objPlugin = $pluginInfo['plugin_class']::create(); $objPlugin->manageTab($values['show_main_menu_tab']); } $message = Display::return_message(get_lang('Updated'), 'success'); Session::write('message', $message); header("Location: $currentUrl"); exit; } else { foreach ($form->_errors as $error) { $message .= Display::return_message($error, 'error'); } } } if (Session::has('message')) { $message = Session::read('message'); } $interbreadcrumb[] = array( 'url' => api_get_path(WEB_CODE_PATH) . 'admin/index.php', 'name' => get_lang('PlatformAdmin') ); $interbreadcrumb[] = array( 'url' => api_get_path(WEB_CODE_PATH) . 'admin/settings.php?category=Plugins', 'name' => get_lang('Plugins') ); $tpl = new Template($pluginName, true, true, false, true, false); $tpl->assign('message', $message); $tpl->assign('content', $content); $tpl->display_one_col_template(); Session::erase('message');