. /** * The form for configuring which services are subscribed and published on a host * * @package core * @subpackage mnet * @copyright 2010 Penny Leach * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ if (!defined('MOODLE_INTERNAL')) { die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page } require_once($CFG->libdir . '/formslib.php'); class mnet_services_form extends moodleform { function definition() { $mform =& $this->_form; $mnet_peer =& $this->_customdata['peer']; $myservices = mnet_get_service_info($mnet_peer); $mform->addElement('hidden', 'hostid', $mnet_peer->id); $mform->setType('hostid', PARAM_INT); $count = 0; foreach ($myservices as $name => $versions) { $version = current($versions); $langmodule = ($version['plugintype'] == 'mod' ? '' : ($version['plugintype'] . '_')) . $version['pluginname']; // TODO there should be a moodle-wide way to do this if ($count > 0) { $mform->addElement('html', '
'); } $mform->addElement('html', '

' . get_string($name.'_name', $langmodule , $mnet_peer->name) . '

' . get_string($name.'_description', $langmodule, $mnet_peer->name)); $mform->addElement('hidden', 'exists[' . $version['serviceid'] . ']', 1); // Temporary fix until MDL-38885 gets integrated. $mform->setType('exists', PARAM_BOOL); $pubstr = get_string('publish','mnet'); if (!empty($version['hostsubscribes'])) { $pubstr .= ' '; } $mform->addElement('advcheckbox', 'publish[' . $version['serviceid'] . ']', $pubstr); $substr = get_string('subscribe','mnet'); if (!empty($version['hostpublishes'])) { $substr .= ' '; } $mform->addElement('advcheckbox', 'subscribe[' . $version['serviceid']. ']', $substr); $count++; } $this->add_action_buttons(); } }