source: moodle/trunk/fuentes/admin/webservice/protocols.php @ 136

Last change on this file since 136 was 136, checked in by mabarracus, 4 years ago

Ported code to xenial

File size: 2.7 KB
Line 
1<?php
2
3// This file is part of Moodle - http://moodle.org/
4//
5// Moodle is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// Moodle is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17
18/**
19 * Web services protocols admin UI
20 *
21 * @package   webservice
22 * @copyright 2009 Moodle Pty Ltd (http://moodle.com)
23 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24 */
25
26require_once('../../config.php');
27require_once($CFG->libdir.'/adminlib.php');
28require_once($CFG->libdir.'/tablelib.php');
29
30$PAGE->set_url('/' . $CFG->admin . '/webservice/protocols.php');
31//TODO: disable the blocks here or better make the page layout default to no blocks!
32
33require_login();
34require_capability('moodle/site:config', context_system::instance());
35
36$returnurl = $CFG->wwwroot . "/" . $CFG->admin . "/settings.php?section=webserviceprotocols";
37
38$action     = optional_param('action', '', PARAM_ALPHANUMEXT);
39$webservice = optional_param('webservice', '', PARAM_SAFEDIR);
40$confirm    = optional_param('confirm', 0, PARAM_BOOL);
41
42// get currently installed and enabled auth plugins
43$available_webservices = core_component::get_plugin_list('webservice');
44if (!empty($webservice) and empty($available_webservices[$webservice])) {
45    redirect($returnurl);
46}
47
48$active_webservices = empty($CFG->webserviceprotocols) ? array() : explode(',', $CFG->webserviceprotocols);
49foreach ($active_webservices as $key=>$active) {
50    if (empty($available_webservices[$active])) {
51        unset($active_webservices[$key]);
52    }
53}
54
55////////////////////////////////////////////////////////////////////////////////
56// process actions
57
58if (!confirm_sesskey()) {
59    redirect($returnurl);
60}
61
62switch ($action) {
63
64    case 'disable':
65        // remove from enabled list
66        $key = array_search($webservice, $active_webservices);
67        unset($active_webservices[$key]);
68        break;
69
70    case 'enable':
71        // add to enabled list
72        if (!in_array($webservice, $active_webservices)) {
73            $active_webservices[] = $webservice;
74            $active_webservices = array_unique($active_webservices);
75        }
76        break;
77
78    default:
79        break;
80}
81
82set_config('webserviceprotocols', implode(',', $active_webservices));
83
84redirect($returnurl);
Note: See TracBrowser for help on using the repository browser.