Skip to content
Browse files

mnet: new mnet_hosts block

  • Loading branch information...
1 parent c215b32 commit 6e6b8c85169ed2f858ae6a530504167e23f92015 martinlanghoff committed Jan 4, 2007
Showing with 73 additions and 0 deletions.
  1. +68 −0 blocks/mnet_hosts/block_mnet_hosts.php
  2. +5 −0 lang/en_utf8/block_mnet_hosts.php
  3. BIN pix/i/mnethost.png
View
68 blocks/mnet_hosts/block_mnet_hosts.php
@@ -0,0 +1,68 @@
+<?PHP //$Id$
+
+class block_mnet_hosts extends block_list {
+ function init() {
+ $this->title = get_string('mnet_hosts','block_mnet_hosts') ;
+ $this->version = 2006112100;
+ }
+
+ function has_config() {
+ return false;
+ }
+
+ function get_content() {
+ global $THEME, $CFG, $USER;
+
+ // check for outgoing roaming permission first
+ if (!has_capability('moodle/site:mnetlogintoremote', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
+ return '';
+ }
+
+ if ($this->content !== NULL) {
+ return $this->content;
+ }
+
+ // TODO: Test this query - it's appropriate? It works?
+ // get the hosts and whether we are doing SSO with them
+ $sql = "
+ SELECT DISTINCT
+ h.id,
+ h.name
+ FROM
+ {$CFG->prefix}mnet_host h,
+ {$CFG->prefix}mnet_host2service h2s_IDP,
+ {$CFG->prefix}mnet_service s_IDP,
+ {$CFG->prefix}mnet_host2service h2s_SP,
+ {$CFG->prefix}mnet_service s_SP
+ WHERE
+ h.id != '{$CFG->mnet_localhost_id}' AND
+ h.id = h2s_IDP.hostid AND
+ h2s_IDP.serviceid = s_IDP.id AND
+ s_IDP.name = 'sso_idp' AND
+ h2s_IDP.publish = '1' AND
+ h.id = h2s_SP.hostid AND
+ h2s_SP.serviceid = s_SP.id AND
+ s_SP.name = 'sso_idp' AND
+ h2s_SP.publish = '1'";
+
+ $hosts = get_records_sql($sql);
+
+ $this->content = new stdClass;
+ $this->content->items = array();
+ $this->content->icons = array();
+ $this->content->footer = '';
+
+ $icon = "<img src=\"$CFG->pixpath/i/mnethost.png\"".
+ " height=\"16\" width=\"16\" alt=\"".get_string('server', 'block_mnet_hosts')."\" />";
+
+ foreach ($hosts as $host) {
+ $this->content->icons[]=$icon;
+ $this->content->items[]="<a title=\"" .s($host->name).
+ "\" href=\"{$CFG->wwwroot}/auth/mnet/jump.php?hostid={$host->id}\">" . s($host->name) ."</a>";
+ }
+
+ return $this->content;
+ }
+}
+
+?>
View
5 lang/en_utf8/block_mnet_hosts.php
@@ -0,0 +1,5 @@
+<?php // $Id$
+$string['mnet_hosts'] = 'Network Servers';
+$string['server'] = 'Server';
+
+?>
View
BIN pix/i/mnethost.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 6e6b8c8

Please sign in to comment.
Something went wrong with that request. Please try again.