Newer
Older
<?php defined('SYSPATH') or die('No direct script access.');
/**
* Class Model_Student
*/
class Model_Student extends Model_Container
protected function getInfo($id) {
$sql = "CALL `Student_GetInfo`('$id');";
$info = DB::query(Database::SELECT, $sql)->execute();
if ($info->count() == 0)
throw new InvalidArgumentException('Student not found');
return $info[0];
}
/**
* Create new student in db, based on $data.
*/
protected function create() {
// todo: implement later
throw new BadMethodCallException('Method is not implemented yet!');
public function getDisciplines($semesterID = null) {
$semesterID = $semesterID ? $semesterID : User::instance()->SemesterID;
$sql = "CALL `GetDisciplinesForStudent`(:id, :semesterID);";
->param(':semesterID', $semesterID)
$list = [];
foreach ($query as $data)
$list[] = new Model_Discipline($data, true);
return $list;
// todo implementation
public function update() {
throw new BadMethodCallException('Method is not implemented yet!');
}
/**
* @see students_groups.IsStudyLeave
* @deprecated cause it's not implemented yet
* @return boolean true, if the student is on leave
*/
public function inAcademicLeave() {
throw new BadMethodCallException("Method is not implemented yet!");
}
/**
* Send the student to an academic leave.
public function toAcademicLeave($semesterID = null) {
$semesterID = $semesterID ? $semesterID : User::instance()->SemesterID;
$sql = "CALL `ControlStudentGroup`(:id, -1, true, :semesterID);";
DB::query(Database::SELECT, $sql)
->param(':semesterID', $semesterID)
}
/**
* Cancel the student's leave.
* @param $group int group id
public function returnFromAcademicLeave($group, $semesterID = null) {
$semesterID = $semesterID ? $semesterID : User::instance()->SemesterID;;
$sql = "CALL `ControlStudentGroup`(:id, :group, false, :semesterID);";
DB::query(Database::SELECT, $sql)
->param(':group', (int) $group)
->param(':semesterID', $semesterID)