-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcmodulejournal.php
More file actions
115 lines (88 loc) · 3.22 KB
/
cmodulejournal.php
File metadata and controls
115 lines (88 loc) · 3.22 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
include_once("cdatabase.php");
include_once("cmoduleacademicyear.php");
include_once("ctemplatecontroller.php");
class CModuleJournal {
public function content()
{
$database = CDatabase::getInstance();
if(isset($_GET['date']))
{
$this->editInDate($_GET['date']);
}
$today_time = mktime(0, 0, 0, date("m") , date("d"), date("Y"));
$today = date("Y-m-d", $today_time);
CTemplateController::drawJournalSelectDate($today);
}
private function editInDate($date)
{
$database = CDatabase::getInstance();
if(isset($_GET['skip']))
{
$database->addEventSkip($_GET['discipline_group'], $date, $_GET['skip']);
}
if(isset($_GET['delete']))
{
$database->deleteEvent($_GET['delete']);
exit;
}
if(isset($_GET['add']))
{
$this->addEvent($date, $_GET['add'], $_GET['discipline_group']);
}
$dayOfWeek = date("N", strtotime($date)) - 1;
$numWeek = date("W", strtotime($date));
$schedule = $database->getScheduleOfDay(CModuleAcademicYear::getId(), $dayOfWeek);
$schedule_out = array();
$dateEvents = $database->getDateEvents(CModuleAcademicYear::getId(), $date);
for($i=0;$i<count($schedule);$i++)
{
if($schedule[$i]['type_alternation'] == 1 &&
$numWeek % 2 != 0)
{
continue;
}
if($schedule[$i]['type_alternation'] == 2 &&
$numWeek % 2 == 0)
{
continue;
}
$students = $database->getStudents($schedule[$i]['id_group']);
for($j=0;$j<count($students);$j++)
{
$students[$j]['event'] = null;
foreach($dateEvents as $dateEvent)
{
if($students[$j]['id'] == $dateEvent['id_student'])
{
$students[$j]['event'] = $dateEvent;
if($students[$j]['event']['id_tasks'] == "")
{
$students[$j]['event']['task'] = null;
}
else
{
$students[$j]['event']['task'] = $database->getTaskFromId($students[$j]['event']['id_tasks']);
}
break;
}
}
}
$schedule[$i]['students'] = $students;
$schedule_out[] = $schedule[$i];
}
CTemplateController::drawJournalDate($date, $schedule_out);
}
private function addEvent($date, $idStudent, $idDisciplineGroup)
{
$database = CDatabase::getInstance();
if(isset($_POST['rating']))
{
$database->addEvent($idDisciplineGroup, $date, $idStudent, $_POST['rating'], $_POST['id_task']);
return;
}
$discipline = $database->getDisciplineFromIdDisciplineGroup($idDisciplineGroup);
$tasks = $database->getTasks($discipline['id']);
CTemplateController::drawJournalAddEvent($date, $idStudent, $idDisciplineGroup, $tasks);
}
}