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 /** 20 * This page is for configuring which services are published/subscribed 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 */ 27 28 require(__DIR__.'/../../config.php'); 29 require_once($CFG->libdir.'/adminlib.php'); 30 require_once($CFG->dirroot . '/' . $CFG->admin . '/mnet/services_form.php'); 31 $mnet = get_mnet_environment(); 32 33 admin_externalpage_setup('mnetpeers'); 34 35 36 $hostid = required_param('hostid', PARAM_INT); 37 38 $mnet_peer = new mnet_peer(); 39 $mnet_peer->set_id($hostid); 40 41 $mform = new mnet_services_form(null, array('peer' => $mnet_peer)); 42 if ($formdata = $mform->get_data()) { 43 if (!isset($formdata->publish)) { 44 $formdata->publish = array(); 45 } 46 if (!isset($formdata->subscribe)) { 47 $formdata->subscribe = array(); 48 } 49 foreach($formdata->exists as $key => $value) { 50 $host2service = $DB->get_record('mnet_host2service', array('hostid'=>$hostid, 'serviceid'=>$key)); 51 $publish = (array_key_exists($key, $formdata->publish)) ? $formdata->publish[$key] : 0; 52 $subscribe = (array_key_exists($key, $formdata->subscribe)) ? $formdata->subscribe[$key] : 0; 53 54 if ($publish != 1 && $subscribe != 1) { 55 if (false == $host2service) { 56 // We don't have or need a record - do nothing! 57 } else { 58 // We don't need the record - delete it 59 $DB->delete_records('mnet_host2service', array('hostid' => $hostid, 'serviceid'=>$key)); 60 } 61 } elseif (false == $host2service && ($publish == 1 || $subscribe == 1)) { 62 $host2service = new stdClass(); 63 $host2service->hostid = $hostid; 64 $host2service->serviceid = $key; 65 66 $host2service->publish = $publish; 67 $host2service->subscribe = $subscribe; 68 69 $host2service->id = $DB->insert_record('mnet_host2service', $host2service); 70 } elseif ($host2service->publish != $publish || $host2service->subscribe != $subscribe) { 71 $host2service->publish = $publish; 72 $host2service->subscribe = $subscribe; 73 $DB->update_record('mnet_host2service', $host2service); 74 } 75 } 76 $redirecturl = new moodle_url('/admin/mnet/services.php?hostid=' . $hostid); 77 redirect($redirecturl, get_string('changessaved')); 78 } 79 80 echo $OUTPUT->header(); 81 $currenttab = 'mnetservices'; 82 require_once($CFG->dirroot . '/' . $CFG->admin . '/mnet/tabs.php'); 83 echo $OUTPUT->box_start(); 84 $s = mnet_get_service_info($mnet_peer, false); // basic data only 85 $mform->set_data($s); 86 $mform->display(); 87 echo $OUTPUT->box_end(); 88 89 echo $OUTPUT->footer();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body