123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- /* For licensing terms, see /license.txt */
- /**
- * @author Julio Montoya <gugli100@gmail.com> BeezNest 2012
- * @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
- * @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');
|