Newer
Older
<?php defined('SYSPATH') or die('No direct script access.');
public $discipline;
private function __construct(Model_Discipline $discipline) {
$this->discipline = $discipline;
}
public static function of(Model_Discipline $discipline) {
return new self($discipline);
}
public static function addModuleBonus($teacherID, $disciplineID) {
$sql = "SELECT `AddModuleBonus`(:teacher, :discipline) AS `Num`";
return DB::query(Database::SELECT, $sql)
->param(':teacher', $teacherID)
->param(':discipline', $disciplineID)
->execute();
}
public static function deleteModuleBonus($teacherID, $disciplineID) {
$sql = "SELECT `DeleteModuleBonus`(:teacher, :discipline) AS `Num`";
return DB::query(Database::SELECT, $sql)
->param(':teacher', $teacherID)
->param(':discipline', $disciplineID)
->execute();
}
public static function addModule($teacherID, $disciplineID, $title) {
$sql = "SELECT `AddModule`(:teacher, :discipline, :title) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
])->execute();
}
public static function deleteModule($teacherID, $moduleID) {
$sql = "SELECT `DeleteModule`(:teacher, :module) AS `Num`";
return DB::query(Database::SELECT, $sql)
->param(':teacher', $teacherID)
->param(':module', $moduleID)
->execute();
}
public static function changeModuleName($teacherID, $moduleID, $name) {
$sql = "SELECT `ChangeModuleName`(:teacher, :module, :name) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':module' => $moduleID,
':name' => $name,
])->execute();
}
public static function addSubmodule($teacherID, $moduleID, $maxRate, $title, $description, $typeControl) {
$sql = "SELECT `AddSubmodule`(:teacher, :moduleID, :maxRate, :title, :desc, :control) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':moduleID' => $moduleID,
':maxRate' => $maxRate,
':title' => $title,
':desc' => $description,
':control' => $typeControl,
])->execute();
}
public static function deleteSubmodule($teacherID, $submoduleID) {
$sql = "SELECT `DeleteSubmodule`(:teacher, :submodule) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':submodule' => $submoduleID,
])->execute();
}
public static function changeSubmoduleName($teacherID, $submoduleID, $name) {
$sql = "SELECT `ChangeSubmoduleName`(:teacher, :submodule, :name) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':submodule' => $submoduleID,
':name' => $name,
])->execute();
}
public static function swapModuleOrder($teacherID, $moduleID1, $moduleID2) {
$sql = "SELECT `SwapModuleOrder`(:teacher, :moduleID1, :moduleID2) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':moduleID1' => $moduleID1,
':moduleID2' => $moduleID2,
])->execute();
}
public static function swapSubmoduleOrder($teacherID, $submoduleID1, $submoduleID2) {
$sql = "SELECT `SwapSubmoduleOrder`(:teacher, :submodule1, :submodule2) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':submodule1' => $submoduleID1,
':submodule2' => $submoduleID2,
])->execute();
}
public static function changeSubmoduleMaxAndControl($teacherID, $submoduleID, $maxRate, $controlType) {
$sql = "SELECT `ChangeSubmoduleMaxAndControl`(:teacher, :submodule, :maxRate, :control) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':submodule' => $submoduleID,
':maxRate' => $maxRate,
':control' => $controlType,
])->execute();
}
public static function changeDisciplineSubject($teacherID, $disciplineID, $subjectID) {
$sql = "SELECT `ChangeDisciplineSubject`(:teacher, :discipline, :subject) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
':subject' => $subjectID,
])->execute();
}
public static function changeDisciplineControl($teacherID, $disciplineID, $control) {
$sql = "SELECT `ChangeDisciplineControl`(:teacher, :discipline, :control) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
':control' => $control,
])->execute();
}
public static function changeDisciplineHours($teacherID, $disciplineID, $hours, $type) {
$sql = "SELECT `ChangeDisciplineHours`(:teacher, :discipline, :hours, :type) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
':hours' => $hours,
':type' => $type,
])->execute();
}
public static function bindGroup($teacherID, $disciplineID, $groupID) {
$sql = "SELECT `BindGroup`(:teacher, :discipline, :group) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
':group' => $groupID,
])->execute();
}
/**
* Get the disciplines's roadmap (учебная карта).
* @param $discipline int discipline id
* @return Database_Result select from <tt>view_roadmap</tt> table
*/
public static function getRoadmap($discipline, $type) {
$sql = "CALL `GetRoadmap`(:discipline, :type)";
return DB::query(Database::SELECT, $sql)
->param(':discipline', $discipline)
->param(':type', $type)
->execute();
}
public function getModules($type) {
$sql = "CALL `Discipline_GetModules`(:discipline, :type)";
return DB::query(Database::SELECT, $sql)
->param(':discipline', $this->discipline->ID)
->param(':type', $type)
->execute();
}
public function getSubmodules($type) {
$sql = "CALL `Discipline_GetSubmodules`(:discipline, :type)";
return DB::query(Database::SELECT, $sql)
->param(':discipline', $this->discipline->ID)
->param(':type', $type)
->execute();
}
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
public static function unbindGroup($teacherID, $disciplineID, $groupID) {
$sql = "SELECT `UnbindGroup`(:teacher, :discipline, :group) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
':group' => $groupID,
])->execute();
}
public static function bindStudent($teacherID, $disciplineID, $studentID) {
$sql = "SELECT `BindStudent`(:teacher, :discipline, :student) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
':student' => $studentID,
])->execute();
}
public static function UnbindStudent($teacherID, $disciplineID, $studentID) {
$sql = "SELECT `UnbindStudent`(:teacher, :discipline, :student) AS `Num`";
return DB::query(Database::SELECT, $sql)
->parameters([
':teacher' => $teacherID,
':discipline' => $disciplineID,
':student' => $studentID,
])->execute();