3bda9612d2bcef676aec385be60945291543a5f8
[moodle.git] / admin / mnet / services_form.php
1 <?php
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/>.
19 /**
20  * The form for configuring which services are subscribed and published on a host
21  *
22  * @package    core
23  * @subpackage mnet
24  * @copyright  2010 Penny Leach
25  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
26  */
28 if (!defined('MOODLE_INTERNAL')) {
29     die('Direct access to this script is forbidden.');    ///  It must be included from a Moodle page
30 }
32 require_once($CFG->libdir . '/formslib.php');
34 class mnet_services_form extends moodleform {
36     function definition() {
37         $mform =& $this->_form;
38         $mnet_peer =& $this->_customdata['peer'];
39         $myservices =& mnet_get_service_info($mnet_peer);
41         $mform->addElement('hidden', 'hostid', $mnet_peer->id);
43         $count = 0;
44         foreach ($myservices as $name => $versions) {
45             $version = current($versions);
46             $langmodule =
47                 ($version['plugintype'] == 'mod'
48                     ? ''
49                     : ($version['plugintype'] . '_'))
50                 . $version['pluginname']; // TODO there should be a moodle-wide way to do this
52             if ($count > 0) {
53                 $mform->addElement('html', '<hr />');
54             }
55             $mform->addElement('html', '<h3>' .  get_string($name.'_name', $langmodule , $mnet_peer->name) . '</h3>' . get_string($name.'_description', $langmodule, $mnet_peer->name));
57             $mform->addElement('hidden', 'exists[' . $version['serviceid'] . ']', 1);
59             $pubstr = get_string('publish','mnet');
60             if (!empty($version['hostsubscribes'])) {
61                 $pubstr .= ' <a class="notifysuccess" title="'.s(get_string('issubscribed','mnet', $mnet_peer->name)).'">&radic;</a> ';
62             }
63             $mform->addElement('checkbox', 'publish[' . $version['serviceid'] . ']', $pubstr);
65             $substr = get_string('subscribe','mnet');
66             if (!empty($version['hostpublishes'])) {
67                 $substr .= ' <a class="notifysuccess" title="'.s(get_string('ispublished','mnet', $mnet_peer->name)).'">&radic;</a> ';
68             }
69             $mform->addElement('checkbox', 'subscribe[' . $version['serviceid']. ']', $substr);
70             $count++;
71         }
72         $this->add_action_buttons();
73     }
74 }