3 // This file is part of Moodle - http://moodle.org/
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.
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.
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/>.
19 * Allows the admin to configure a list of profile fields that are sent/recieved
23 * @copyright 2010 onwards Penny Leach <penny@liip.ch>
24 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
27 require(__DIR__
.'/../../config.php');
28 require_once($CFG->libdir
.'/adminlib.php');
29 require_once($CFG->dirroot
. '/admin/mnet/profilefields_form.php');
30 $mnet = get_mnet_environment();
33 $hostid = required_param('hostid', PARAM_INT
);
34 $mnet_peer = new mnet_peer();
35 $mnet_peer->set_id($hostid);
37 $context = context_system
::instance();
39 require_capability('moodle/site:config', $context, $USER->id
, true, 'nopermissions');
40 admin_externalpage_setup('mnetpeers');
41 $form = new mnet_profile_form(null, array('hostid' => $hostid));
43 if ($data = $form->get_data()) {
44 if (!isset($data->importdefault
)) {
45 $data->importdefault
= 0;
47 if (!isset($data->exportdefault
)) {
48 $data->exportdefault
= 0;
50 if (!isset($data->importfields
)) {
51 $data->importfields
= array();
53 if (!isset($data->exportfields
)) {
54 $data->exportfields
= array();
56 set_config('host' . $hostid . 'importdefault', $data->importdefault
, 'mnet');
57 set_config('host' . $hostid . 'importfields', implode(',', $data->importfields
), 'mnet');
58 set_config('host' . $hostid . 'exportdefault', $data->exportdefault
, 'mnet');
59 set_config('host' . $hostid . 'exportfields', implode(',', $data->exportfields
), 'mnet');
61 redirect(new moodle_url('/admin/mnet/peers.php'), get_string('changessaved'));
62 } elseif ($form->is_cancelled()) {
63 redirect(new moodle_url('/admin/mnet/peers.php', array('hostid' => $hostid)));
66 echo $OUTPUT->header();
68 $currenttab = 'mnetprofilefields';
69 require_once('tabs.php');
71 echo $OUTPUT->heading(get_string('peerprofilefielddesc', 'mnet'), 4);
74 $data->importdefault
= get_config('mnet', 'host' . $hostid . 'importdefault');
75 $data->exportdefault
= get_config('mnet', 'host' . $hostid . 'exportdefault');
76 $data->importfields
= get_config('mnet', 'host' . $hostid . 'importfields');
77 $data->exportfields
= get_config('mnet', 'host' . $hostid . 'exportfields');
79 if ($data->importfields
=== false) {
80 $data->importdefault
= true;
82 $data->importfields
= explode(',', $data->importfields
);
84 if ($data->exportfields
=== false) {
85 $data->exportdefault
= true;
87 $data->exportfields
= explode(',', $data->exportfields
);
90 $form->set_data($data);
93 echo $OUTPUT->footer();