public function add()
 {
     $teacher = new TeacherModel();
     $school = new SchoolModel();
     $teacherlist = $teacher->select();
     $schoollist = $school->select();
     $this->assign('teacherlist', $teacherlist);
     $this->assign('schoollist', $schoollist);
     $this->display();
 }
 /**
  * @param string|int $group_name
  * @param string $cond
  * @return LessonModel[]|array
  */
 public static function getAllByGroupNameOrGroupId($group_name, $cond = "")
 {
     $group_name = mb_strtolower($group_name, "UTF-8");
     $group_name = str_replace(array_values(GroupModel::$replace), array_keys(GroupModel::$replace), $group_name);
     /** @var PDO $db */
     $db = Registry::get('db');
     $group_id = $db->query("\r\n            SELECT group_id FROM " . GroupModel::TABLE . "\r\n                WHERE (group_full_name = " . $db->quote($group_name) . " OR group_id = " . $db->quote($group_name) . ")\r\n        ")->fetchColumn();
     $count = $db->query("\r\n            SELECT COUNT(*) FROM " . LessonModel::TABLE . "\r\n                WHERE (group_id = '{$group_id}' OR group_id = " . $db->quote($group_name) . ") {$cond}\r\n        ")->fetchColumn();
     $result = array();
     if ($count > 0) {
         $query = $db->query("\r\n                SELECT * FROM " . LessonModel::TABLE . "\r\n                    WHERE (group_id  = '{$group_id}' OR group_id = " . $db->quote($group_name) . ") {$cond} ORDER BY lesson_week,day_number,lesson_number ASC\r\n            ");
         while ($data = $query->fetch(PDO::FETCH_ASSOC)) {
             $lessonModel = new LessonModel();
             $lessonModel->unpack($data);
             $lessonModel->teachers = TeacherModel::getAllByLessonId($lessonModel->lesson_id);
             //enable duplicate filter
             $lessonModel->teachers = TeacherModel::teachersDuplicateFilter($lessonModel->teachers);
             //load rooms
             $lessonModel->rooms = RoomModel::getAllByLessonId($lessonModel->lesson_id);
             $result[] = $lessonModel->toArray();
         }
     } else {
         throw new ApiException("Lessons not found");
     }
     return $result;
 }
 /**
  * @param int $lesson_id
  * @return array
  */
 public static function getAllByLessonId($lesson_id)
 {
     $result = array();
     /** @var PDO $db */
     $db = Registry::get('db');
     $query = $db->query("\r\n            SELECT * FROM " . TeacherModel::TABLE . " as t1\r\n                JOIN " . TeacherModel::RELATION_TABLE . " as t2 USING(" . TeacherModel::PRIMARY_KEY . ")\r\n                    WHERE t2." . LessonModel::PRIMARY_KEY . " = '" . abs(intval($lesson_id)) . "'\r\n        ");
     while ($data = $query->fetch(PDO::FETCH_ASSOC)) {
         $teacherModel = new TeacherModel();
         $teacherModel->unpack($data);
         $result[] = $teacherModel->toArray();
     }
     return $result;
 }
 /**
  * url GET /v2/groups/{group_name|group_id}/teachers
  * @api
  * @param $data
  * @return string
  * @throws ApiException
  */
 public function groups_teachersRelationAction($data)
 {
     $allowFilters = ['duplicateTeachersFilter' => true];
     $filter = $this->_fc->getFilter();
     $group_name = $data["groups"];
     $group_name = urldecode($group_name);
     $teachers = TeacherModel::getAllByGroupNameOrGroupId($group_name);
     if ($filter != null) {
         Utilities::checkFilters($filter, $allowFilters);
         $teachers = TeacherModel::teachersDuplicateFilter($teachers);
     }
     $this->data = $teachers;
     return $this->send(200);
 }
 public function addcourse()
 {
     $username = Cookie::get('username');
     $usertype = Cookie::get('usertype');
     $userid = Cookie::get('userid');
     $school = new SchoolModel();
     $teacher = new TeacherModel();
     $schoollist = $school->select();
     $teacherlist = $teacher->select();
     $this->assign('schoollist', $schoollist);
     $this->assign('teacherlist', $teacherlist);
     $this->assign('username', $username);
     $this->assign('usertype', $usertype);
     $this->assign('userid', $userid);
     $this->display();
 }
 /**
  * @overrides
  */
 protected function initPageOptions()
 {
     return array_merge(parent::initPageOptions(), array('actions' => false, 'buttons' => false, 'checkbox' => false));
 }