コード例 #1
0
ファイル: solutions.php プロジェクト: andrejjursa/list-lms
 public function inject_task_set_possible_groups($task_set_id)
 {
     $task_sets = new Task_set();
     $task_sets->where('group_id', NULL);
     $task_sets->include_related('course/group');
     $task_sets->where('id', (int) $task_set_id);
     $task_sets->where_subquery(0, '(SELECT COUNT(`tsp`.`id`) AS `count` FROM `task_set_permissions` tsp WHERE `tsp`.`task_set_id` = `task_sets`.`id` AND `tsp`.`enabled` = 1)');
     $task_sets2 = new Task_set();
     $task_sets2->where('id', (int) $task_set_id);
     $task_sets2->include_related('task_set_permission/group', '*', 'course_group');
     $task_sets2->where_related('task_set_permission', 'enabled', 1);
     $task_sets2->group_start(' NOT ');
     $task_sets2->or_where_subquery(0, '(SELECT COUNT(`tsp`.`id`) AS `count` FROM `task_set_permissions` tsp WHERE `tsp`.`task_set_id` = `task_sets`.`id` AND `tsp`.`enabled` = 1)');
     $task_sets2->or_where_subquery(1, '(SELECT COUNT(`tsp`.`id`) AS `count` FROM `task_set_permissions` tsp WHERE `tsp`.`task_set_id` = `task_sets`.`id` AND `tsp`.`enabled` = 1)');
     $task_sets2->group_end();
     $task_sets->union_iterated($task_sets2, FALSE, $task_sets->union_order_by_constant('course_group_name', 'asc'));
     $data = array('' => '');
     foreach ($task_sets as $task_set) {
         $data[$task_set->course_group_id] = $task_set->course_group_name;
     }
     $this->parser->assign('possible_groups', $data);
 }