75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| declare(strict_types=1);
 | |
| function navbar($depth, $active = null) {
 | |
|   $result = "\n\t<ul id=\"menu\">\n";
 | |
|   $menuItems = [
 | |
|     'Hjem' => '',
 | |
|     'Hendelser' => 'hendelser',
 | |
|     // 'Kalender' => 'kalender',
 | |
|     // 'Aktiviteter' => 'aktiviteter',
 | |
|     'Prosjekter' => 'prosjekt',
 | |
|     'Kontakt' => 'kontakt',
 | |
|     'Webmail' => 'https://webmail.pvv.ntnu.no/roundcube/',
 | |
|     'Galleri' => 'galleri',
 | |
|     'Wiki' => 'https://wiki.pvv.ntnu.no/',
 | |
|     'Git' => 'https://git.pvv.ntnu.no/',
 | |
|     'Tjenester' => 'tjenester',
 | |
|   ];
 | |
|   foreach ($menuItems as $caption => $link) {
 | |
|     $isActive = $active === $link;
 | |
|     if (substr($link, 0, 4) !== 'http') {
 | |
|       $link = rtrim(str_repeat('../', $depth) . $link, '/') . '/';
 | |
|     }
 | |
| 
 | |
|     // if ($isActive) $link = '#';
 | |
| 
 | |
|     $result .= "\t\t<li" . ($isActive ? ' class="active"' : '') . '>'
 | |
|         . '<a href="' . $link . '">'
 | |
|         . $caption
 | |
|         . "</a></li>\n";
 | |
|   }
 | |
| 
 | |
|   return $result . "\t</ul>\n";
 | |
| }
 | |
| 
 | |
| function loginBar($sp = null, $pdo = null) {
 | |
|   if (null === $sp) {
 | |
|     $sp = 'default-sp';
 | |
|   }
 | |
|   $result = "\n";
 | |
|   require_once __DIR__ . '/../vendor/simplesamlphp/simplesamlphp/lib/_autoload.php';
 | |
|   $as = new SimpleSAML\Auth\Simple($sp);
 | |
| 
 | |
|   $svg = '<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 64 64">
 | |
| 	<circle cx="32" cy="27" r="14" stroke-width="0" />
 | |
| 	<ellipse cx="32" cy="66" rx="24" ry="28" stroke-width="0" />
 | |
| </svg>
 | |
| ';
 | |
| 
 | |
|   $attr = $as->getAttributes();
 | |
|   if ($attr) {
 | |
|     $uname = $attr['uid'][0];
 | |
|     $isAdmin = false;
 | |
|     if (isset($pdo)) {
 | |
|       $userManager = new pvv\admin\UserManager($pdo);
 | |
|       $isAdmin = $userManager->isAdmin($uname);
 | |
|     }
 | |
|     $result .= "\t<a id=\"login\" href=\"#usermenu\" aria-hidden=\"true\">{$svg}" . htmlspecialchars($uname) . "</a>\n";
 | |
| 
 | |
|     $result .= "\n\t<ul id=\"usermenu\">\n";
 | |
|     $result .= "\n\t\t<li><a id=\"login\" href=\"#\">{$svg}" . htmlspecialchars($uname) . "</a></li>\n";
 | |
|     if ($isAdmin) {
 | |
|       $result .= "\n\t\t<li><a href=\"/admin/\">Admin</a></li>\n";
 | |
|     }
 | |
|     $result .= "\n\t\t<li><a href=\"" . htmlspecialchars($as->getLogoutURL()) . "\">Logg ut</a></li>\n";
 | |
|     $result .= "\n\t</ul>\n";
 | |
|   } else {
 | |
|     $result .= "\t<a id=\"login\" href=\"" . htmlspecialchars($as->getLoginURL()) . "\">{$svg}Logg inn</a>\n";
 | |
|   }
 | |
| 
 | |
|   $result .= "\n\t<a href=\"#menu\" id=\"menu_toggle\" aria-hidden=\"true\"><big>☰ </big>MENU</a>\n";
 | |
| 
 | |
|   return $result;
 | |
| }
 |