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
svn_base = "${svn_base}";
17
16
username = "${login}";
20
19
<link py:if="favicon" rel="shortcut icon" href="${favicon}" />
22
21
<py:for each="style in styles">
23
<link rel="stylesheet" type="text/css" href="${style}" />
22
<link rel="stylesheet" type="text/css" href="${style}" />
26
25
<py:for each="script in scripts">
27
<script type="text/javascript" src="${script}"></script>
26
<script type="text/javascript" src="${script}"></script>
30
29
<!-- Plugin JavaScript to be run on page load -->
31
30
<script type="text/javascript">
32
31
<py:for each="init_script in scripts_init">
33
$(document).ready(${init_script});
32
window.addEventListener("load", ${init_script}, false);
36
35
${select('*[local-name()!="title"]')}
39
38
<py:match path="body[@status!='done']" once="true">
42
<ul id="ivle_breadcrumbs">
43
<li py:attrs="{'class': 'breadcrumb crumbmenu' if logged_in else 'breadcrumb'}">
45
<img src="${title_img}" alt="Informatics Virtual Learning Environment" />
47
<ul py:if="logged_in">
48
<li py:for="app in apps_in_tabs">
49
<a py:attrs="{'style': 'background: url(%s) no-repeat; padding-left: 30px' % app['icon_url']} if app['has_icon'] else {}" href="${app['path']}" title="${app['desc']}">${app['name']}</a>
53
<li py:for="thiscrumb in breadcrumbs"
55
py:attrs="{True:{'class':'crumbmenu'}, False: None}[hasattr(thiscrumb, 'menu')]">
56
<py:choose test="getattr(thiscrumb, 'url', None)">
58
<span>${thiscrumb.text}</span>
61
<a href="${thiscrumb.url}">
66
<ul py:if="hasattr(thiscrumb, 'menu')">
67
<li py:for="item in thiscrumb.menu"><a href="${thiscrumb.menu[item]}">${item}</a></li>
40
<div id="ivleheader"></div>
41
<div id="ivleheader_text">
43
<h2>Informatics Virtual Learning Environment</h2>
45
<p py:when="publicmode" class="userhello">Running in public mode.</p>
46
<p py:when="logged_in" class="userhello">
47
<span id="usernick">${nick}</span>
48
(<span class="username">${login}</span>) |
49
<a href="/~${login}/+settings">Settings</a> |
51
<a py:when="defined('help_path')" href="/+help/${help_path}">Help</a>
52
<a py:otherwise="" href="/+help/">Help</a>
54
<a href="/+logout">Sign out</a>
56
<p py:otherwise="" class="userhello">Not logged in.</p>
59
<div id="ivleheader_tabs">
61
<py:for each="app in apps_in_tabs">
62
<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>
63
<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
<div id="ivleheader_text">
73
<p py:when="publicmode" class="userhello">Public access mode</p>
74
<p py:when="logged_in" class="userhello">
75
<span id="usernick">${nick}</span>
76
(<span class="username">${login}</span>) |
77
<a href="/~${login}">Settings</a> |
79
<a py:when="defined('help_path')" href="/+help/${help_path}">Help</a>
80
<a py:otherwise="" href="/+help/">Help</a>
82
<a href="/+logout">Log out</a>
84
<p py:otherwise="" class="userhello">Not logged in.</p>
88
67
<div id="ivlebody">
89
68
<div id="ivleview">