-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathbuildmenu.php
More file actions
98 lines (91 loc) · 4 KB
/
buildmenu.php
File metadata and controls
98 lines (91 loc) · 4 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
use \Tsugi\Util\U;
function buildMenu() {
global $CFG, $USER;
$R = $CFG->apphome . '/';
$T = $CFG->wwwroot . '/';
$adminmenu = isset($_COOKIE['adminmenu']) && $_COOKIE['adminmenu'] == "true";
$isInstructor = (isset($USER) && $USER && isset($USER->instructor) && $USER->instructor)
|| (isset($_SESSION['instructor']) && $_SESSION['instructor']);
$showCalendarDueUi = isset($_SESSION['id'])
&& U::isNotEmpty($CFG->lessons)
&& \Tsugi\Grades\GradeUtil::showDueDates(U::get($_SESSION, 'context_id', 0));
$set = new \Tsugi\UI\MenuSet();
$set->setHome($CFG->servicename, $CFG->apphome);
if ( isset($CFG->lessons) ) {
$set->addLeft('Lessons', $R.'lessons');
}
if ( isset($_SESSION['id']) ) {
$set->addLeft('Assignments', $R.'assignments');
}
if ( isset($_SESSION['id']) ) {
$submenu = new \Tsugi\UI\Menu();
$submenu->addLink('Announcements', $R.'announcements');
$submenu->addLink('Grades', $R.'grades');
$submenu->addLink('Pages', $R.'pages');
$submenu->addLink('Discussions', $R.'discussions');
if ( $isInstructor ) {
$submenu->addLink('Notifications', $R.'notifications');
}
$submenu->addLink('Courses', $R.'coursesredirect.php');
if ( isset($CFG->google_map_api_key) ) {
$submenu->addLink('Map', $R.'map');
}
$submenu->addLink('Profile', $R.'profile');
if ( $showCalendarDueUi ) {
$submenu->addLink('Calendar', $R.'calendar');
}
if ( isset($CFG->badge_path) ) {
$submenu->addLink('Badges', $R.'badges');
}
if ( file_exists('materials.php') ) {
$submenu->addLink('Materials', $R.'materials');
}
if ( file_exists('privacy.php') ) {
$submenu->addLink('Privacy', $R.'privacy');
}
$submenu->addLink('LMS Integration', $T . 'settings');
if ( isset($CFG->google_classroom_secret) ) {
$submenu->addLink('Google Classroom', $T.'gclass/login');
}
$submenu->addLink('Django Versions', $R.'versions');
if ( isset($_COOKIE['adminmenu']) && $_COOKIE['adminmenu'] == "true" ) {
$submenu->addLink('Administer', $T . 'admin/');
}
$submenu->addLink('Logout', $R.'logout');
if ( isset($_SESSION['avatar']) ) {
$set->addRight('<img src="'.$_SESSION['avatar'].'" alt="'.htmlentities(__('User Profile Menu - Includes logout')).'" style="height: 2em;"/>', $submenu);
// htmlentities($_SESSION['displayname']), $submenu);
} else {
$set->addRight(htmlentities($_SESSION['displayname']), $submenu);
}
} else {
$set->addRight('Login', $R.'login');
$set->addRight('Courses', $R.'coursesredirect.php');
}
if ( isset($_SESSION['id']) ) {
$set->addRight(
'<tsugi-notifications api-url="'. htmlspecialchars($T . 'api/notifications.php') . '" notifications-view-url="'. htmlspecialchars($R . 'notifications') . '" announcements-view-url="'. htmlspecialchars($R . 'announcements') . '"></tsugi-notifications>',
false,
true,
'hidden-xs tsugi-wc-nav-item'
);
if ( $showCalendarDueUi ) {
$set->addRight(
'<tsugi-calendar-due api-url="'. htmlspecialchars($R . 'calendar/json') . '" lessons-url="'. htmlspecialchars($R . 'calendar') . '" calendar-url="'. htmlspecialchars($R . 'calendar') . '"></tsugi-calendar-due>',
false,
true,
'hidden-xs tsugi-wc-nav-item'
);
}
if ( isset($CFG->tdiscus) && $CFG->tdiscus ) {
$set->addRight(
'<tsugi-discussions api-url="'. htmlspecialchars($R . 'discussions/json') . '" discussions-url="'. htmlspecialchars($R . 'discussions') . '"></tsugi-discussions>',
false,
true,
'hidden-xs tsugi-wc-nav-item'
);
}
}
return $set;
}