1.8
* @date 02/12/2007
*
* Allows adding a parent tracker in any xmlrpc accessible or local Moodle
* where an issue may be forwarded.
*
* To forward an issue to a parent tracker in a remote Moodle, the resolver must have an
* mnet account at that location.
*/
if (!defined('MOODLE_INTERNAL')) {
die('Direct access to this script is forbidden.'); /// It must be included from view.php in mod/tracker
}
include_once $CFG->dirroot."/mnet/xmlrpc/client.php";
include_once $CFG->dirroot."/mod/tracker/rpclib.php";
include_once $CFG->libdir."/pear/HTML/AJAX/JSON.php";
echo "
";
print_simple_box_start('center', '100%', '', '', 'generalbox', 'bugreport');
/// gets current parent information
print_heading(get_string('currentbinding', 'tracker'));
$localid = 0;
$remoteid = 0;
if (!empty($tracker->parent)){
if (is_numeric($tracker->parent)){ // tracker is local in this Moodle
$parent = tracker_rpc_get_infos($tracker->parent, true);
$localid = $tracker->parent;
$parent_mnet = $DB->get_record('mnet_host', array('wwwroot' => $CFG->wwwroot));
} else { // tracker is remote
list($remoteid, $mnet_host) = explode('@', $tracker->parent);
// get network tracker properties
$rpcclient = new mnet_xmlrpc_client();
$rpcclient->set_method('mod/tracker/rpclib.php/tracker_rpc_get_infos');
$rpcclient->add_param($remoteid, 'int');
$parent_mnet = new mnet_peer();
$parent_mnet->set_wwwroot($mnet_host);
if (!empty($parent_mnet->wwwroot)){
if (!$rpcclient->send($parent_mnet)){
error(implode("
", $rpcclient->error));
}
$parent = json_decode($rpcclient->response);
// fix a bug in XML-RPC transfer of arrays
$parent->elements = get_object_vars($parent->elements);
} else {
$tracker->parent = '';
}
}
}
if (!empty($tracker->parent)){
?>
: | wwwroot) ?> (ip_address; ?>) |
: | name) ?> |
: |
".get_string('knownelements', 'tracker').": "; if (!empty($parent->elements)){ $child = tracker_rpc_get_infos($tracker->id, true); if (!tracker_display_elementmatch($child, $parent)){ notify(get_string('unmatchingelements', 'tracker')); } } else { notify(get_string('emptydefinition', 'tracker')); } ?> |