File: Portal.php

package info (click to toggle)
simplesamlphp 1.14.11-1%2Bdeb9u2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 15,024 kB
  • sloc: php: 72,337; xml: 1,078; python: 376; sh: 220; perl: 185; makefile: 57
file content (71 lines) | stat: -rw-r--r-- 2,032 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php

class sspmod_portal_Portal {
	
	private $pages;
	private $config;
	
	function __construct($pages, $config = NULL) {
		$this->pages = $pages;
		$this->config = $config;
	}
	
	function getTabset($thispage) {
		if (!isset($this->config)) return NULL;
		foreach($this->config AS $set) {
			if (in_array($thispage, $set)) {
				return $set;
			}
		}
		return NULL;
	}
	
	function isPortalized($thispage) {
		
		foreach($this->config AS $set) {
			if (in_array($thispage, $set)) {
				return TRUE;
			}
		}
		return FALSE;
	}
	
	function getLoginInfo($t, $thispage) {
		$info = array('info' => '', 'template' => $t, 'thispage' => $thispage);
		SimpleSAML_Module::callHooks('portalLoginInfo', $info);
		return $info['info'];
	}
	
	function getMenu($thispage) {
		$config = SimpleSAML_Configuration::getInstance();
		$t = new SimpleSAML_XHTML_Template($config, 'sanitycheck:check-tpl.php');
		$tabset = $this->getTabset($thispage);
		$logininfo = $this->getLoginInfo($t, $thispage);
		$text = '';
		$text .= '<ul class="tabset_tabs ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">';
		foreach($this->pages AS $pageid => $page) {
			
			if (isset($tabset) && !in_array($pageid, $tabset, TRUE)) continue;
			$name = 'uknown';
			if (isset($page['text'])) $name = $page['text'];
			if (isset($page['shorttext'])) $name = $page['shorttext'];
			
			if (!isset($page['href'])) {
				$text .= '<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#">' . $t->t($name) . '</a></li>';
			} else if($pageid === $thispage ) {
				$text .= '<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#">' . $t->t($name) . '</a></li>';
			} else {
				$text .= '<li class="ui-state-default ui-corner-top"><a href="' . $page['href'] . '">' . $t->t($name) . '</a></li>';
			}
			
		}
		$text .= '</ul>';
		if (!empty($logininfo)) {
			$text .= '<p class="logininfo" style="text-align: right; margin: 0px">' . $logininfo . '</p>';
		}

		return $text;
	}
	
	
}