-
Notifications
You must be signed in to change notification settings - Fork 0
/
kurse.php
103 lines (77 loc) · 3.09 KB
/
kurse.php
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
98
99
100
101
102
103
<?php
include('lib/loader.php');
$loader = Loader::loadBasicSetup();
$db = $loader->db;
$templater = $loader->templater;
$userHandler = $loader->userHandler;
$courseHandler = $loader->courseHandler;
$templater->loadTemplate('kurse.html');
if($userHandler->login()->isLoggedIn()) {
$templater->showWelcome($userHandler->getCurrentUser());
} else {
$data = array ('error' => 'Du bist nicht eingeloggt<br\>', 'redirect' => 'kurse');
$templater->loadTemplate('login.html')->data($data);
}
if(isset($_GET['coursenews'])) {
header("Content-Type: text/plain; charset=utf-8");
echo utf8_encode($courseHandler->generateCourseNews());
exit();
}
if(isset($_GET['export'])) {
$exporter = new Exporter($db);
if($_GET['export'] == "xml") {
header("Content-Type: text/xml; charset=utf-8");
header('Content-Disposition: filename="kurse.xml"');
echo $exporter->exportCoursesToXML();
exit();
} else {
header("Content-Type: text/javascript");
header('Content-Disposition: filename="kurse.txt"');
echo $exporter->exportCoursesToJSON();
exit();
}
}
if(isset($_GET['delete_course'])) {
$courseHandler->deleteCourse((int)$_GET['delete_course']);
if(!isset($_GET['ajax'])) {
header("Location: kurse.php");
}
exit();
}
if(isset($_POST['kursname'])) {
$courseHandler->insertCourse($_POST['kursname'], $_POST['semester']);
if(!isset($_GET['ajax'])) {
header("Location: kurse.php");
}
exit();
}
$latest_attachments = "<h2>Neuigkeiten</h2><div id='news'>";
$latest_attachments .= $courseHandler->generateCourseNews();
$latest_attachments .= "</div> <br/> <br/>";
$kurse = $courseHandler->getAllCourses();
if(count($kurse) == 0) {
$kurse_uebersicht = "Keine Kurse vorhanden";
} else {
$kurse_uebersicht = '<table style="width:700px;"><tr><td style="width:30px;">Sem.</td><td style="width:300px;">Kursname</td><td style="width:100px;"></td><td width="*"></td></tr>';
while (list(, $kurs) = each($kurse)) {
$attachment_count = $db->model('attachment')->count()->where('kursId', (int)$kurs['id'])->execute()->result;
$kurs_uebersicht = '<tr id="tr_' .$kurs['id'] .'">
<td style="text-align:right;">' . $kurs['semester'] . '</td>
<td>' . $kurs['kursname'] . '</td>
<td style="vertical-align:middle;">' . $attachment_count . '
<a href="kurse_view.php?view='. $kurs['id'] . '"><img src="images/note.png" style="vertical-align:top;"></a>
<a href="kurse_view.php?add='. $kurs['id'] . '"><img src="images/note_add.png" style="vertical-align:top;"></a>
</td>';
$kurs_uebersicht .= $userHandler->isAdmin() ? '<td><a href="#" onclick="deleteCourse(' . $kurs['id'] . ')">Delete</a></td>' : '<td></td>';
$kurs_uebersicht .= '</tr>';
$kurse_uebersicht .= $kurs_uebersicht;
}
$kurse_uebersicht .= '</table>';
$kurse_uebersicht .= '<br/> Export to <a href="kurse.php?export=xml">XML</a> / <a href="kurse.php?export=json">JSON</a>';
}
if($userHandler->isAdmin()) {
$templater->attachTemplate('kurse_add.html');
}
$templater->data(array("kurs_uebersicht" => $kurse_uebersicht, "kurs_latest" => $latest_attachments ));
echo $templater->show();
?>