本文整理汇总了PHP中Course::exists方法的典型用法代码示例。如果您正苦于以下问题:PHP Course::exists方法的具体用法?PHP Course::exists怎么用?PHP Course::exists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Course
的用法示例。
在下文中一共展示了Course::exists方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: index
public function index()
{
$this->_initialize_student_menu();
$this->_select_student_menu_pagetag('groups');
$this->parser->add_css_file('frontend_groups.css');
$cache_id = $this->usermanager->get_student_cache_id();
if (!$this->_is_cache_enabled() || !$this->parser->isCached($this->parser->find_view('frontend/groups/index.tpl'), $cache_id)) {
$student = new Student();
$student->get_by_id($this->usermanager->get_student_id());
$course = new Course();
$course->where_related_active_for_student($student);
$course->where_related('participant/student', $student);
$course->where_related_participant('allowed', 1);
$course->get();
$can_change_group = FALSE;
if ($course->exists()) {
if (is_null($course->groups_change_deadline) || date('U', strtotime($course->groups_change_deadline)) >= time()) {
$can_change_group = TRUE;
}
}
smarty_inject_days();
$this->parser->assign(array('course' => $course, 'can_change_group' => $can_change_group));
}
$this->parser->parse('frontend/groups/index.tpl', array(), FALSE, $this->_is_cache_enabled(), $cache_id);
}
示例2: download_solutions
public function download_solutions($course_id)
{
$course = new Course();
$course->get_by_id((int) $course_id);
if ($course->exists()) {
$course->download_all_solutions();
} else {
$this->messages->add_message('lang:admin_courses_message_cant_download_solutions', Messages::MESSAGE_TYPE_ERROR);
redirect(create_internal_url('admin_courses'));
}
}
示例3: activate_course
public function activate_course($course_id)
{
$this->_initialize_student_menu();
$this->output->set_content_type('application/json');
$output = new stdClass();
$output->status = FALSE;
$output->message = '';
$output->content = '';
$output->metainfo = '';
$this->_transaction_isolation();
$this->db->trans_begin();
$student = new Student();
$student->get_by_id($this->usermanager->get_student_id());
$course = new Course();
$course->get_by_id($course_id);
if ($course->exists()) {
$participant = $student->participant->where_related($course)->where('allowed', 1)->get();
if ($participant->exists()) {
$student->save($course, 'active_course');
$this->db->trans_commit();
$this->usermanager->set_student_data_to_smarty();
$period = $course->period->get();
$output->content = $this->parser->parse('frontend/courses/period_courses.tpl', array('period' => $period), TRUE);
$output->metainfo = $this->parser->parse('partials/frontend_general/selected_course.tpl', array(), TRUE);
$output->status = TRUE;
$output->message = sprintf($this->lang->line('courses_message_switched_to_course'), $this->lang->text($course->name) . ' / ' . $this->lang->text($period->name));
$this->_action_success();
} else {
$output->message = $this->lang->line('courses_message_cant_switch_to_unsigned_course');
$this->db->trans_rollback();
}
} else {
$output->message = $this->lang->line('courses_message_course_not_found');
$this->db->trans_rollback();
}
$this->output->set_output(json_encode($output));
}
示例4: add_participant
public function add_participant()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('participant[course]', 'lang:admin_participants_form_field_course', 'required');
$this->form_validation->set_rules('participant[students][]', 'lang:admin_participants_form_field_students', 'required');
if ($this->form_validation->run()) {
$this->_transaction_isolation();
$this->db->trans_begin();
$process_ok = TRUE;
$participant_data = $this->input->post('participant');
$course = new Course();
$course->get_by_id(intval($participant_data['course']));
$group = new Group();
$group->get_by_id(intval(@$participant_data['group']));
if (!$course->exists()) {
$this->db->trans_rollback();
$this->messages->add_message('lang:admin_participants_message_course_not_exists', Messages::MESSAGE_TYPE_ERROR);
$process_ok = FALSE;
}
if ($process_ok && $course->exists()) {
if ($group->exists() && !$group->is_related_to($course)) {
$this->db->trans_rollback();
$this->messages->add_message('lang:admin_participants_message_group_not_belongs_to_course', Messages::MESSAGE_TYPE_ERROR);
$process_ok = FALSE;
}
}
$disapproved = 0;
$added = 0;
if ($process_ok) {
foreach ($participant_data['students'] as $student_id) {
$student = new Student();
$student->where_related('participant/course', 'id', $course->id);
$student->get_by_id($student_id);
if ($student->exists()) {
continue;
}
$student->get_by_id($student_id);
$participant = new Participant();
$participant->allowed = intval(@$participant_data['allowed']);
$participant->save(array($student, $course, $group));
$added++;
if ($participant->allowed == 1) {
$disallowe_participant = FALSE;
if ($course->participant->where('allowed', 1)->count() > intval($course->capacity)) {
$disallowe_participant = TRUE;
}
if ($group->exists()) {
$group_for_test = new Group();
$rooms = $group_for_test->room;
$rooms->select_min('capacity');
$rooms->where('group_id', '${parent}.id', FALSE);
$group_for_test->select_subquery($rooms, 'group_capacity');
$group_for_test->include_related_count('participant');
$group_for_test->where_related_participant('allowed', 1);
$group_for_test->get_by_id(intval($group->id));
if ($group_for_test->exists()) {
if (intval($group_for_test->participant_count) > intval($group_for_test->group_capacity)) {
$disallowe_participant = TRUE;
}
}
}
if ($disallowe_participant) {
$participant->allowed = 0;
$participant->save();
$disapproved++;
}
}
}
}
if ($this->db->trans_status() && $process_ok) {
$this->db->trans_commit();
$info_approved = intval(@$participant_data['allowed']) == 1 ? $added - $disapproved : 0;
$info_disappoved = intval(@$participant_data['allowed']) == 1 ? $disapproved : $added;
$message = sprintf($this->lang->line('admin_participants_message_addition_successfull'), $info_approved, $info_disappoved);
$this->messages->add_message($message, Messages::MESSAGE_TYPE_SUCCESS);
$this->_action_success();
} else {
$this->db->trans_rollback();
$this->messages->add_message('lang:admin_participants_messages_error_in_addition_transaction', Messages::MESSAGE_TYPE_ERROR);
}
redirect(create_internal_url('admin_participants/add_participant_form'));
} else {
$this->add_participant_form();
}
}
示例5: get_valuation_table_data
private function get_valuation_table_data($course_id, $group_id = NULL, $condensed = FALSE)
{
$table_data = array('header' => array(), 'content' => array());
$course = new Course();
$course->get_by_id(intval($course_id));
$group = new Group();
$group->get_by_id((int) $group_id);
if ($course->exists()) {
$students = new Student();
$students->select('id, fullname, email');
$students->include_related('participant/group', array('id', 'name'));
$students->where_related('participant/course', 'id', $course->id);
$students->where_related('participant', 'allowed', 1);
$students->order_by_as_fullname('fullname');
if ($group->exists()) {
$students->where_related('participant/group', 'id', (int) $group_id);
}
$students->get_iterated();
$task_sets_out_of_group_ids = array(0);
$task_sets_data = array();
$task_sets_ids = array();
$projects_ids = array();
if ($group->exists()) {
$students_filter = new Student();
$students_filter->select('id');
$students_filter->where_related('participant/course', 'id', $course->id);
$students_filter->where_related('participant', 'allowed', 1);
$students_filter->where_related('participant/group', 'id', (int) $group->id);
$solutions_filter = new Solution();
$solutions_filter->select('id');
$solutions_filter->where_in_subquery('student_id', $students_filter);
$task_sets_out_of_group = new Task_set();
$task_sets_out_of_group->select('id');
$task_sets_out_of_group->where_in_subquery('id', $solutions_filter);
$task_sets_out_of_group->where('published', 1);
$task_sets_out_of_group->get();
$task_sets_out_of_group_ids = $task_sets_out_of_group->all_to_single_array('id');
$task_sets_out_of_group_ids[] = 0;
}
$content_type_task_set = new Task_set();
$content_type_task_set->select('id, name, content_type, group_id, task_set_type_id');
$content_type_task_set->include_related('task_set_type', 'name');
$content_type_task_set->include_related('group', 'name');
$content_type_task_set->where('content_type', 'task_set');
$content_type_task_set->where('published', 1);
$content_type_task_set->where_related_course($course);
$content_type_task_set->order_by_related_with_constant('task_set_type', 'name', 'asc');
$content_type_task_set->order_by('task_set_type_id', 'asc');
$content_type_task_set->order_by('publish_start_time', 'asc');
if ($group->exists()) {
$content_type_task_set->group_start();
$content_type_task_set->group_start('', 'OR ');
$content_type_task_set->group_start();
$content_type_task_set->or_where('group_id', NULL);
$content_type_task_set->or_where('group_id', (int) $group_id);
$content_type_task_set->group_end();
$content_type_task_set->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)');
$content_type_task_set->group_end();
$content_type_task_set->group_start('', 'OR ');
$content_type_task_set->where_related('task_set_permission', 'group_id', (int) $group_id);
$content_type_task_set->where_related('task_set_permission', 'enabled', 1);
$content_type_task_set->group_end();
$content_type_task_set->or_where_in('id', $task_sets_out_of_group_ids);
$content_type_task_set->group_end();
}
$content_type_task_set->get();
$header_items = array();
if ($content_type_task_set->result_count() > 0) {
$last_task_set_type_id = NULL;
foreach ($content_type_task_set->all as $task_set) {
$permissions = new Task_set_permission();
$permissions->select('id, group_id');
$permissions->include_related('group', 'name');
$permissions->where_related_task_set($task_set);
$permissions->where('enabled', 1);
$permissions->get_iterated();
if ($permissions->result_count() > 0) {
$group_ids = array();
$group_names = array();
foreach ($permissions as $permission) {
$group_ids[] = $permission->group_id;
$group_names[] = $this->lang->text($permission->group_name);
}
$task_sets_data[$task_set->id] = array('group_id' => $group_ids, 'group_name' => $group_names);
} else {
$task_sets_data[$task_set->id] = array('group_id' => array($task_set->group_id), 'group_name' => $this->lang->text($task_set->group_name));
}
if ($task_set->task_set_type_id !== $last_task_set_type_id) {
$last_task_set_type_id = $task_set->task_set_type_id;
$header_items[] = array('type' => 'task_set_type', 'id' => $task_set->task_set_type_id, 'name' => $this->lang->text($task_set->task_set_type_name), 'title' => '');
}
if (!$condensed) {
$header_items[] = array('type' => 'task_set', 'id' => $task_set->id, 'name' => $this->lang->get_overlay_with_default('task_sets', $task_set->id, 'name', $task_set->name), 'title' => is_array($task_sets_data[$task_set->id]['group_name']) ? implode(', ', $task_sets_data[$task_set->id]['group_name']) : $task_sets_data[$task_set->id]['group_name']);
}
$task_sets_ids[] = $task_set->id;
}
}
$table_data['header']['content_type_task_set'] = array('content_type_name' => $this->lang->line('admin_solutions_valuation_tables_header_content_type_task_sets'), 'items' => $header_items);
$content_type_project = new Task_set();
$content_type_project->where('content_type', 'project');
//.........这里部分代码省略.........
示例6: import_single_line
public function import_single_line()
{
$this->output->set_content_type('application/json');
$firstname = $this->input->post('firstname');
$lastname = $this->input->post('lastname');
$fullname = $this->input->post('fullname');
$email = $this->input->post('email');
$options = $this->input->post('options');
$this->parser->assign('firstname', $firstname);
$this->parser->assign('lastname', $lastname);
$this->parser->assign('fullname', $fullname);
$this->parser->assign('email', $email);
if ((trim($firstname) != '' && trim($lastname) != '' || trim($fullname) != '') && trim($email) != '') {
$student_fullname = trim($fullname) != '' ? trim($fullname) : trim($firstname) . ' ' . trim($lastname);
$this->_transaction_isolation();
$this->db->trans_begin();
$student = new Student();
$student->where('email', trim($email));
$student->get();
if ($student->exists()) {
if ($student->fullname != $student_fullname) {
$student->fullname = $student_fullname;
$student->save();
$this->db->trans_commit();
} else {
$this->db->trans_rollback();
}
$this->parser->assign('error_message', 'lang:admin_students_csv_import_error_message_student_exists');
} else {
$this->load->library('form_validation');
if ($this->form_validation->valid_email(trim($email))) {
$student->email = trim($email);
$student->fullname = $student_fullname;
$password = '';
if ($options['password_type'] == 'default') {
$password = $this->config->item('student_import_default_password');
} elseif ($options['password_type'] == 'random') {
$password = md5(base64_encode(rand(0, 99999999999) . time() . $student->fullname . $student->email) . $this->config->item('encryption_key'));
$password = substr($password, 0, rand(6, 20));
}
$student->password = $password != '' ? sha1($password) : '';
$student->language = $this->config->item('language');
if ($student->save()) {
$this->parser->assign('password', $password);
$this->db->trans_commit();
$this->parser->assign('success_message', 'lang:admin_students_csv_import_successfully_imported');
if ((bool) $options['send_mail']) {
if ($password == '') {
$this->_transaction_isolation();
$this->db->trans_begin();
$student->generate_random_password_token();
$this->db->trans_commit();
}
$this->_init_language_for_student($student);
$this->load->library('email');
$this->email->from_system();
$this->email->to($student->email);
$this->email->subject($this->lang->line('admin_students_csv_import_email_subject'));
$this->email->build_message_body('file:emails/backend/students/csv_import_email.tpl', array('student' => $student, 'password' => $password));
$sent = $this->email->send();
$this->_init_language_for_teacher();
if ($sent) {
$this->parser->assign('email_success_message', 'lang:admin_students_csv_import_email_sent_successfully');
} else {
$this->parser->assign('email_error_message', 'lang:admin_students_csv_import_email_sent_failed');
}
}
} else {
$this->db->trans_rollback();
$this->parser->assign('error_message', 'lang:admin_students_csv_import_error_message_student_save_error');
}
} else {
$this->db->trans_rollback();
$this->parser->assign('error_message', 'lang:admin_students_csv_import_error_message_student_email_invalid');
}
}
if ($student->exists()) {
$this->parser->assign('student_id', $student->id);
if (intval($options['assign_to_course']) > 0) {
$this->_transaction_isolation();
$this->db->trans_begin();
$course = new Course();
$course->get_by_id(intval($options['assign_to_course']));
if ($course->exists()) {
$participant = new Participant();
$participant->where_related('student', 'id', $student->id);
$participant->where_related('course', 'id', $course->id);
$participant->get();
if (!$participant->exists()) {
$participant->allowed = 0;
if ($participant->save(array('student' => $student, 'course' => $course))) {
$this->db->trans_commit();
$this->parser->assign('course_assignment_success_message', 'lang:admin_students_csv_import_successfully_added_course_participation');
$this->db->trans_begin();
$course = new Course();
$course->get_by_id(intval($options['assign_to_course']));
$participant->allowed = 1;
$participant->save();
$participants = new Participant();
$participants->where_related($course);
//.........这里部分代码省略.........
示例7: get_task_set_by_id
private function get_task_set_by_id(&$course, &$group, &$student, $task_set_id)
{
$student = new Student();
$student->get_by_id($this->usermanager->get_student_id());
$course = new Course();
$course->where_related('active_for_student', 'id', $student->id);
$course->where_related('participant', 'student_id', $student->id);
$course->where_related('participant', 'allowed', 1);
$course->include_related('period', 'name');
$course->get();
$task_set = new Task_set();
$task_set2 = new Task_set();
$group = new Group();
if ($course->exists()) {
$group->where_related_participant('student_id', $student->id);
$group->where_related_participant('course_id', $course->id);
$group->get();
$task_set->select('`task_sets`.*, `rooms`.`time_day` AS `pb_time_day`, `rooms`.`time_begin` AS `pb_time_begin`, `rooms`.`id` AS `pb_room_id`, `task_sets`.`publish_start_time` AS `pb_publish_start_time`, `task_sets`.`upload_end_time` AS `pb_upload_end_time`');
$task_set->where('published', 1);
$task_set->where_related_course($course);
$task_set->include_related('solution');
$task_set->add_join_condition('`solutions`.`student_id` = ?', array($student->id));
$task_set->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_set->group_start();
$task_set->or_where('group_id', NULL);
$task_set->or_where('group_id', $group->id);
$task_set->group_end();
$task_set->include_related('room', '*', TRUE, TRUE);
$task_set->include_related_count('task', 'total_tasks');
$task_set->include_related('task_set_type');
$task_set->select_subquery('(SELECT SUM(`points_total`) AS `points` FROM `task_task_set_rel` WHERE `task_set_id` = `${parent}`.`id` AND `task_task_set_rel`.`bonus_task` = 0)', 'total_points');
$task_set->where('id', $task_set_id);
$task_set->include_related('course', 'test_scoring_deadline');
$task_set->where('content_type', 'task_set');
$task_set2->select('`task_sets`.*, `task_set_permission_rooms`.`time_day` AS `pb_time_day`, `task_set_permission_rooms`.`time_begin` AS `pb_time_begin`, `task_set_permission_rooms`.`id` AS `pb_room_id`, `task_set_permissions`.`publish_start_time` AS `pb_publish_start_time`, `task_set_permissions`.`upload_end_time` AS `pb_upload_end_time`');
$task_set2->where('published', 1);
$task_set2->where_related_course($course);
$task_set2->where_related('task_set_permission', 'group_id', $group->id);
$task_set2->where_related('task_set_permission', 'enabled', 1);
$task_set2->include_related('solution');
$task_set2->add_join_condition('`solutions`.`student_id` = ?', array($student->id));
$task_set2->include_related('task_set_permission/room', '*', 'room', TRUE);
$task_set2->include_related_count('task', 'total_tasks');
$task_set2->include_related('task_set_type');
$task_set2->select_subquery('(SELECT SUM(`points_total`) AS `points` FROM `task_task_set_rel` WHERE `task_set_id` = `${parent}`.`id` AND `task_task_set_rel`.`bonus_task` = 0)', 'total_points');
$task_set2->where('id', $task_set_id);
$task_set2->include_related('course', 'test_scoring_deadline');
$task_set2->where('content_type', 'task_set');
$task_set3 = new Task_set();
$task_set3->select('`task_sets`.*, NULL AS `pb_time_day`, NULL AS `pb_time_begin`, NULL AS `pb_room_id`, NULL AS `pb_publish_start_time`, "0000-00-00 00:00:00" AS `pb_upload_end_time`', FALSE);
$task_set3->where('published', 1);
$task_set3->where_related_course($course);
$task_set3->include_related('solution');
$task_set3->add_join_condition('`solutions`.`student_id` = ?', array($student->id));
$task_set3->where_related('solution', 'student_id', $student->id);
$task_set3->include_related('room', '*', TRUE, TRUE);
$task_set3->include_related_count('task', 'total_tasks');
$task_set3->include_related('task_set_type');
$task_set3->select_subquery('(SELECT SUM(`points_total`) AS `points` FROM `task_task_set_rel` WHERE `task_set_id` = `${parent}`.`id` AND `task_task_set_rel`.`bonus_task` = 0)', 'total_points');
$task_set3->where('id', $task_set_id);
$task_set3->include_related('course', 'test_scoring_deadline');
$task_set3->where('content_type', 'task_set');
$task_set2->union(array($task_set, $task_set3), FALSE, '', 1, 0, 'id');
}
return $task_set2;
}
示例8: list_import_lamsfet_excercise_groups
function list_import_lamsfet_excercise_groups(&$excercise_groups, $courses_terms)
{
echo 'Starting groups import (' . count($excercise_groups) . ') ';
$days = array(1 => 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobora', 'Nedeľa');
if (count($excercise_groups)) {
foreach ($excercise_groups as $id => $excercise_group) {
$course_id = $courses_terms[$excercise_group->course_term_id]->_list_id;
$course = new Course();
$course->get_by_id(intval($course_id));
if ($course->exists()) {
$group = new Group();
list($h, $m, $s) = explode(':', $excercise_group->time);
$time_begin = (int) $s + (int) $m * 60 + (int) $h * 3600;
if ($time_begin >= 86400) {
$excercise_group->time = '00:00:00';
$time_begin = 0;
}
$group->name = 'Skupina ' . $excercise_group->place . ' ' . $days[$excercise_group->day] . ' ' . $excercise_group->time;
$group->save($course);
$excercise_groups[$id]->_list_id = $group->id;
$room = new Room();
$room->name = $excercise_group->place;
$room->time_day = $excercise_group->day;
$room->time_begin = $time_begin;
$room->time_end = $room->time_begin + 5400;
$room->capacity = $excercise_group->capacity;
$room->teachers_plain = trim($excercise_group->teacher) != '' ? trim($excercise_group->teacher) : NULL;
$room->save($group);
$course->capacity += $room->capacity;
$course->save();
echo '.';
} else {
echo ' ( COURSE NOT FOUND ' . $course_id . '(' . $excercise_group->course_term_id . ') ) ';
}
}
}
echo '] ... done' . "\n";
}
示例9: get_task_set
private function get_task_set($task_set_id, &$course, &$student)
{
$student = new Student();
$student->get_by_id($this->usermanager->get_student_id());
$course = new Course();
$course->where_related('active_for_student', 'id', $student->id);
$course->where_related('participant', 'student_id', $student->id);
$course->where_related('participant', 'allowed', 1);
$course->include_related('period', 'name');
$course->get();
$task_set = new Task_set();
if ($course->exists()) {
$task_set->where('published', 1);
$task_set->where_related_course($course);
$task_set->include_related('solution');
$task_set->add_join_condition('`solutions`.`student_id` = ?', array($student->id));
$task_set->include_related('solution/teacher', 'fullname');
$task_set->include_related_count('task', 'total_tasks');
$task_set->where('content_type', 'project');
$task_set->include_related('project_selection');
$task_set->add_join_condition('`project_selections`.`student_id` = ? AND `project_selections`.`task_set_id` = `task_sets`.`id`', array($student->id));
$task_set->include_related('project_selection/task');
$task_set->order_by('publish_start_time', 'asc');
$task_set->order_by('upload_end_time', 'asc');
$task_set->order_by_with_overlay('name', 'asc');
$task_set->get_by_id((int) $task_set_id);
}
return $task_set;
}