Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 /**
  * Отображение доступных учебных материалов.
  */
 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);
     }
 }