/** * Отображение списка дисциплин слушателя. * * @params['student_id'] Идентификатор студента. */ public function action_disciplines($params) { $model_education_students = Model_Education_Students::create(); $model_user = Model_User::create(); $disciplines = $model_education_students->getDisciplines($params['student_id']); $disciplines_programs = $model_education_students->getDisciplinesPrograms($params['student_id']); $user_info = $model_user->getUserInfo($params['student_id']); $this->set('disciplines', $disciplines); $this->set('user_id', $params['student_id']); $this->set('user_info', $user_info); //print_r ($disciplines_programs); $res = array(); foreach ($disciplines_programs as $val) { $r = array(); $r['d_title'] = $val['d_title']; $r['id'] = $val['id']; $res[$val['p_title']][] = $r; } $this->set('disciplines_programs', $res); $this->render('teacher_students/disciplines'); }
/** * Отображение доступных для слушателя программ и дисциплин. * Все доступные дисциплины сохраняются в сесиию */ public function action_available() { /* Получаем данные слушателя */ $user = Model_User::create(); $udata = (object) $user->getAuth(); $session = Resources_Abstract::getInstance()->session; unset($session->availDisciplines); $student = Model_Education_Students::create(); $avail_programs = $student->getAvailDisciplinesForPrograms($udata->user_id); $avail_disciplines = $student->getAvailDisciplinesSeparate($udata->user_id); //echo 'Test message in file: '.__FILE__.', on line: '.__LINE__; print_r($avail_programs); //echo 'Test message in file: '.__FILE__.', on line: '.__LINE__; print_r($avail_disciplines); //var_dump ($session->availDisciplines); die(); $this->set('programs', $avail_programs); $this->set('disciplines', $avail_disciplines); $this->render(); }
/** * Отображение доступных учебных материалов. */ public function action_show(array $params = array()) { $a = Model_Test::create(); $a->test(); $links = Resources::getInstance()->links; if (!isset($params['discipline_id']) || is_int($params['discipline_id'])) { $this->flash('Не указан идентификатор дисциплины', $links->get('student.programs')); } $discipline_id = intval($params['discipline_id']); $user = Model_User::create(); $udata = (object) $user->getAuth(); $session = Resources_Abstract::getInstance()->session; // если данных о доступных дисциплинах нет - вычислить if (!isset($session->availDisciplines)) { $student = Model_Education_Students::create(); $avail_programs = $student->getAvailDisciplinesForPrograms($udata->user_id); $avail_disciplines = $student->getAvailDisciplinesSeparate($udata->user_id); } $discipline_open = in_array($discipline_id, $session->availDisciplines); if ($discipline_open) { // дисциплина доступна $disc = Model_Discipline::create(); $discipline_data = $disc->get($discipline_id); $section = Model_Section::create(); $sections = $section->getAllByDiscipline($discipline_id); $modelApps = Model_Application::create(); $statuses = $modelApps->getAppsStatus($discipline_id, $udata->user_id); //== Model_Application::STATUS_FINISHED; $statusFinished = array_key_exists(Model_Application::STATUS_FINISHED, $statuses); $material = Model_Educational_Materials::create(); $materials = $material->getAllByDiscipline($discipline_id, $statusFinished); $control_work = Model_ControlWork::create(); $tests = $control_work->getTestsByDiscipline($discipline_id); $this->set('discipline', $discipline_data); $this->set('sections', $sections); $this->set('materials', $materials); $this->set('tests', $tests); $this->set('user_id', $udata->user_id); //print_r($materials); $this->render(); } else { $this->flash('Данная дисциплина на данный Вам недоступна. Возможно Вы не полностью оплатили заявку по данной дисциплине или программе, содержащей данную дисциплину, либо вообще не подавали заявку на ее изучение.', $links->get('student.programs'), 5); } }