コード例 #1
0
ファイル: tasks.php プロジェクト: andrejjursa/list-lms
 public function index()
 {
     $this->_select_teacher_menu_pagetag('tasks');
     $this->load->helper('tests');
     $this->parser->add_js_file('jquery.activeform.js');
     $this->parser->add_js_file('admin_tasks/list.js');
     $this->parser->add_js_file('admin_tasks/filter.js');
     $this->parser->add_css_file('admin_tasks.css');
     $this->inject_stored_filter();
     $this->inject_courses();
     $this->inject_authors();
     $category = new Category();
     $structure = $category->get_all_structured();
     $this->parser->parse('backend/tasks/index.tpl', array('structure' => $structure, 'test_types' => get_all_supported_test_types()));
 }
コード例 #2
0
ファイル: tasks.php プロジェクト: andrejjursa/list-lms
 public function test_result($test_queue_id)
 {
     $this->usermanager->student_login_protected_redirect();
     $this->parser->add_css_file('frontend_tasks.css');
     $test_queue = new Test_queue();
     $test_queue->where_related('student', 'id', $this->usermanager->get_student_id());
     $test_queue->include_related('task_set');
     $test_queue->include_related('task_set/course');
     $test_queue->include_related('task_set/course/period');
     $test_queue->get_by_id((int) $test_queue_id);
     $tasks = new Task();
     if ($test_queue->exists()) {
         $tasks->distinct();
         $tasks->where_related('task_set', 'id', $test_queue->task_set_id);
         $tasks->order_by('task_task_set_rel.sorting', 'asc');
         $tasks->get_iterated();
         $tests = $test_queue->test->include_join_fields()->order_by('id', 'asc')->get_iterated();
         $tests_per_task = array();
         $overlays_tests = array();
         foreach ($tests as $test) {
             $test_line = array('id' => $test->id, 'name' => $test->name, 'task_id' => $test->task_id, 'result' => $test->join_result, 'result_text' => $test->join_result_text, 'percent_points' => $test->join_percent_points, 'percent_bonus' => $test->join_percent_bonus, 'points' => $test->join_points, 'bonus' => $test->join_bonus, 'evaluation_table' => is_null($test->join_evaluation_table) ? array() : unserialize($test->join_evaluation_table));
             $overlays_tests[] = $test->id;
             $tests_per_task[$test->task_id][] = $test_line;
         }
         $this->lang->init_overlays('tests', $overlays_tests, array('name'));
         $this->parser->assign('tests_per_task', $tests_per_task);
     }
     $this->load->helper('tests');
     $test_types = get_all_supported_test_types();
     $this->parser->parse('frontend/tasks/test_result.tpl', array('test_queue' => $test_queue, 'tasks' => $tasks, 'test_types' => $test_types));
 }
コード例 #3
0
ファイル: task_sets.php プロジェクト: andrejjursa/list-lms
 private function inject_test_types()
 {
     $this->load->helper('tests');
     $this->parser->assign('test_types', get_all_supported_test_types());
 }
コード例 #4
0
ファイル: tests.php プロジェクト: andrejjursa/list-lms
 public function get_student_test_queue_all($task_set_id, $student_id)
 {
     $task_set = new Task_set();
     $task_set->get_by_id((int) $task_set_id);
     $student = new Student();
     $student->get_by_id((int) $student_id);
     $test_queue = new Test_queue();
     if ($task_set->exists() && $student->exists()) {
         $test = new Test();
         $test->select_func('COUNT', array('@id'), 'tests_count');
         $test->where_related('test_queue', 'id', '${parent}.id');
         $test_queue->select('*');
         //$test_queue->select_func('COUNT', array('@test/id'), 'tests_count');
         $test_queue->select_subquery($test, 'tests_count');
         $test_queue->where_related($task_set);
         $test_queue->where_related($student);
         $test_queue->order_by('status', 'desc');
         $test_queue->order_by('finish', 'desc');
         $test_queue->order_by('start', 'asc');
         $test_queue->get_iterated();
     }
     //$test_queue->check_last_query();
     $this->load->helper('tests');
     $test_types = get_all_supported_test_types();
     $this->parser->parse('backend/tests/get_student_test_queue_all.tpl', array('test_queue' => $test_queue, 'task_set' => $task_set, 'student' => $student, 'test_types' => $test_types));
 }