3
3
xmlns:xi="http://www.w3.org/2001/XInclude"
5
5
<py:match path="head[@status!='done']" once="true">
6
<head status='done' py:attrs="select('@*')">
7
7
<title py:with="title = list(select('title/text()'))">
8
8
<py:if test="title">${title} - </py:if>IVLE
11
11
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
<script py:if="not publicmode and write_javascript_settings" type="text/javascript">
13
<script py:if="write_javascript_settings" type="text/javascript">
14
14
root_dir = "${root_dir}";
15
15
public_host = "${public_host}";
16
16
username = "${login}";
19
19
<link py:if="favicon" rel="shortcut icon" href="${favicon}" />
21
<py:for each="style in styles">
21
<link rel="stylesheet" type="text/css" href="/media/common/ivle.css" />
23
<script type="text/javascript" src="/media/common/util.js"></script>
24
<script type="text/javascript" src="/media/common/json2.js"></script>
25
<script type="text/javascript" src="/media/common/md5.js"></script>
26
<script type="text/javascript" src="/media/common/tos.js"></script>
28
<!-- Plugin style sheets and JavaScript -->
29
<py:for each="style in app_styles">
22
30
<link rel="stylesheet" type="text/css" href="${style}" />
38
46
<py:match path="body[@status!='done']" once="true">
43
<img src="${title_img}" alt="Informatics Virtual Learning Environment" />
46
<div id="ivleheader_text">
48
<p py:when="publicmode" class="userhello">Running in public mode.</p>
49
<p py:when="logged_in" class="userhello">
50
<span id="usernick">${nick}</span>
51
(<span class="username">${login}</span>) |
52
<a href="/~${login}/+settings">Settings</a> |
54
<a py:when="defined('help_path')" href="/+help/${help_path}">Help</a>
55
<a py:otherwise="" href="/+help/">Help</a>
57
<a href="/+logout">Log out</a>
59
<p py:otherwise="" class="userhello">Not logged in.</p>
62
<div py:if="logged_in" id="ivleheader_tabs">
64
<py:for each="app in apps_in_tabs">
65
<li py:if="app['this_app']" class="thisapp"><a href="${app['path']}" title="${app['desc']}"><span><py:if test="app['has_icon']"><img src="${app['icon_url']}" alt="" /> </py:if>${app['name']}</span></a></li>
66
<li py:if="not app['this_app']"><a href="${app['path']}" title="${app['desc']}"><span><py:if test="app['has_icon']"><img src="${app['icon_url']}" alt="" /> </py:if>${app['name']}</span></a></li>
48
<div id="ivleheader"></div>
49
<div id="ivleheader_text">
51
<h2>Informatics Virtual Learning Environment</h2>
53
<p py:when="publicmode" class="userhello">Running in public mode.</p>
54
<p py:when="logged_in" class="userhello">
55
<span id="usernick">${nick}</span>
56
(<span class="username">${login}</span>) |
57
<a href="/~${login}/+settings">Settings</a> |
58
<a href="/help">Help</a> |
59
<a href="/logout">Sign out</a>
61
<p py:otherwise="" class="userhello">Not logged in.</p>
64
<div id="ivleheader_tabs">
66
<py:for each="app in apps_in_tabs">
67
<li py:if="app['this_app']" class="thisapp"><py:if test="app['has_icon']"><img src="${app['icon_url']}" alt="" /> </py:if><a href="${app['path']}" title="${app['desc']}">${app['name']}</a></li>
68
<li py:if="not app['this_app']"><py:if test="app['has_icon']"><img src="${app['icon_url']}" alt="" /> </py:if><a href="${app['path']}" title="${app['desc']}">${app['name']}</a></li>
71
72
<div id="ivlebody">
75
<div id="ivleoverlays">
76
<py:for each="overlay in overlays">