Example #1
0
 * @author      Mark Johnson <*****@*****.**>
 * @copyright   2011 Tauntons College, UK
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
define('AJAX_SCRIPT', true);
require_once '../../config.php';
require_once $CFG->dirroot . '/local/configeditor/lib.php';
use local_configeditor as ce;
require_login($SITE);
if (!is_siteadmin()) {
    header('HTTP/1.1 403 Forbidden');
    die(get_string('adminonly', 'local_configeditor'));
}
$function = required_param('function', PARAM_TEXT);
$plugin = required_param('plugin', PARAM_TEXT);
$output = new stdClass();
switch ($function) {
    case 'get_settings':
        $output->settings = ce\get_settings_for_plugin($plugin);
        break;
    case 'get_setting':
        $name = required_param('setting', PARAM_TEXT);
        $output->setting = get_config($plugin, $name);
        break;
    case 'save_setting':
        $name = required_param('setting', PARAM_TEXT);
        $value = required_param('value', PARAM_TEXT);
        $output->result = set_config($name, $value, $plugin);
        break;
}
echo json_encode($output);
 *
 * @package    local_configeditor
 * @author      Mark Johnson <*****@*****.**>
 * @copyright   2011 Tauntons College, UK
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
require_once '../../config.php';
require_once $CFG->dirroot . '/local/configeditor/lib.php';
use local_configeditor as ce;
require_login($SITE);
if (!is_siteadmin()) {
    print_error(get_string('adminonly', 'local_configeditor'));
}
$PAGE->set_url('/local/configeditor/');
$PAGE->navbar->add(get_string('pluginname', 'local_configeditor'));
$jsmodule = array('name' => 'local_configeditor', 'fullpath' => '/local/configeditor/module.js', 'requires' => array('base', 'node', 'io', 'json'));
$PAGE->requires->js_init_call('M.local_configeditor.init', null, false, $jsmodule);
$plugins = ce\get_plugins();
$default = array('core' => get_string('core', 'local_configeditor'));
$pluginselect = html_writer::select($plugins, 'plugin', '', $default);
$coresettings = ce\get_settings_for_plugin();
$settingselect = html_writer::select($coresettings, 'setting');
$valueinput = html_writer::empty_tag('input', array('id' => 'valueinput', 'name' => 'value'));
$saveattrs = array('id' => 'savebutton', 'type' => 'button', 'value' => get_string('savechanges'), 'disabled' => 'disabled');
$savebutton = html_writer::empty_tag('input', $saveattrs);
$loadingicon = $OUTPUT->pix_icon('i/loading_small', get_string('loading', 'local_configeditor'), 'moodle', array('id' => 'configeditor_loading'));
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('pluginname', 'local_configeditor'));
echo $OUTPUT->box($OUTPUT->error_text(get_string('warning', 'local_configeditor')));
echo html_writer::tag('form', $pluginselect . $settingselect . $valueinput . $savebutton . $loadingicon);
echo $OUTPUT->footer();