public function action_edit_section($params) { $links = Resources::getInstance()->links; $request = $this->getRequest(); $request->set('section', $params['section_id']); $opts = array('section_id' => $params['section_id']); $action = $links->get('sections.edit', $opts); $form = Form_Section_Edit::create($action); $this->set('form', $form); $method = $form->method(); $educationPrograms = Model_Education_Programs::create(); if (empty($request->{$method})) { if (!$form->validateID($educationPrograms, $request)) { $this->render('education_programs/section_form'); } $educationPrograms->getSection($params['section_id'], $title, $number); $form->setValue('title', $title); //$form->setValue('number', $number); /* Схема контрольных точек изменена, посему сей код закомментирован $checkpoint_model = Model_Checkpoint::create(); $checkpoint = $checkpoint_model->getCheckpoint($params['section_id']); $action = $links->get('checkpoint.edit'); $form_checkpoint = Form_Checkpoint_Edit::create($action); $form_checkpoint->setValue('active', $checkpoint['active']); $form_checkpoint->setValue('title', $checkpoint['title']); $form_checkpoint->setValue('text', $checkpoint['text']); $form_checkpoint->setValue('type', $checkpoint['type']); $form_checkpoint->setValue('test_id', $checkpoint['test_id']); if ('test' == $checkpoint['type']) { $test = Model_Test::create(); $tdata = $test->get($checkpoint['test_id']); $this->set('test_theme', $tdata['theme']); } $this->set('form_checkpoint', $form_checkpoint); */ $this->set('section_id', $params['section_id']); $educationalMaterials = Model_Educational_Materials::create(); $this->set('materials', $educationalMaterials->getMaterials(array())); $this->render('education_programs/section_form'); } if (!$form->validate($request, $educationPrograms)) { $this->render('education_programs/section_form'); } $educationPrograms->editSection($params['section_id'], $form->title->value); $this->flash('Данные по разделу успешно изменены', $links->get('admin.programs'), 3); }
/** * Отображение доступных учебных материалов. */ 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); } }