public function display_report() { global $DB, $OUTPUT, $CFG, $USER; $userid = $USER->id; // Page parameters. $page = optional_param('page', 0, PARAM_INT); $perpage = optional_param('perpage', 30, PARAM_INT); // How many record per page. $sort = optional_param('sort', 'firstname', PARAM_ALPHA); $dir = optional_param('dir', 'DESC', PARAM_ALPHA); $sql = "SELECT course, gradefinal, timecompleted dates FROM \r\n \t{course_completion_crit_compl} where userid = " . $userid; $sql_count = "SELECT count(course) FROM {course_completion_crit_compl} \r\n \twhere userid = " . $userid; $changescount = $DB->count_records_sql($sql_count, array($userid)); $columns = array('s_no' => get_string('s_no', 'block_course_status_tracker'), 'course_name' => get_string('course_name', 'block_course_status_tracker'), 'course_comp_date' => get_string('course_comp_date', 'block_course_status_tracker'), 'grade' => get_string('grade', 'block_course_status_tracker')); $hcolumns = array(); if (!isset($columns[$sort])) { $sort = 's_no'; } foreach ($columns as $column => $strcolumn) { if ($sort != $column) { $columnicon = ''; if ($column == 's_no') { $columndir = 'DESC'; } else { $columndir = 'ASC'; } } else { $columndir = $dir == 'ASC' ? 'DESC' : 'ASC'; if ($column == 's_no') { $columnicon = $dir == 'ASC' ? 'up' : 'down'; } else { $columnicon = $dir == 'ASC' ? 'down' : 'up'; } $columnicon = " <img src=\"" . $OUTPUT->pix_url('t/' . $columnicon) . "\" alt=\"\" />"; } $hcolumns[$column] = "<a href=\"view.php?viewpage=1&sort={$column}\r\n \t&dir={$columndir}&page={$page}&perpage={$perpage}\">" . $strcolumn . "</a>{$columnicon}"; } $baseurl = new moodle_url('view.php', array('sort' => $sort, 'dir' => $dir, 'perpage' => $perpage)); echo $OUTPUT->paging_bar($changescount, $page, $perpage, $baseurl); $table = new html_table(); $table->head = array(get_string('s_no', 'block_course_status_tracker'), get_string('course_name', 'block_course_status_tracker'), get_string('course_comp_date', 'block_course_status_tracker'), get_string('grade', 'block_course_status_tracker')); $table->size = array('15%', '40%', '30%', '15%'); $table->width = "80%"; $table->align = array('center', 'left', 'center', 'center'); $table->data = array(); $orderby = "{$sort} {$dir}"; $rs = $DB->get_recordset_sql($sql, array(), $page * $perpage, $perpage); $i = 0; foreach ($rs as $log) { $row = array(); $row[] = ++$i; $row[] = course_name($log->course); $row[] = userdate($log->dates, get_string('strftimedate', 'core_langconfig')); $row[] = round($log->gradefinal) . '%'; $table->data[] = $row; } return $table; }
?> " /></th> <td class="column-cname"><?php course_name(); ?> <br /> <div class="row-actions"> <span class='edit'><a href="<?php editcourselink(); ?> "><?php _e("Edit"); ?> </a> | </span> <span class='delete'><a onclick="return confirm('Bạn có chắc muốn xóa <?php course_name(); ?> ?');" href="<?php deletecourselink(); ?> "><?php _e("Delete"); ?> </a></span> <!--<span class='email'> | <?php echo make_clickable(user_email()); ?> </span>--> </div> </td> <td class="column-cfaculty"><?php
/** * This function return list of courses in which user enrolled. * * @see module_name() * @enrol_get_users_courses * @param int $userid Moodle userid * @return Return table in which user can see the enrolled courses list. */ function user_enrolled_courses_report($userid) { global $CFG; $count_course = 0; $courses = enrol_get_users_courses($userid, false, 'id, shortname,showgrades'); if ($courses) { $table = new html_table(); $table->head = array(get_string('s_no', 'block_course_status_tracker'), get_string('module', 'block_course_status_tracker'), get_string('course_name', 'block_course_status_tracker')); $table->size = array('20%', '35%', '50%'); $table->width = "80%"; $table->align = array('center', 'left', 'left'); $table->data = array(); $i = 0; foreach ($courses as $course) { $row = array(); $row[] = ++$i; $row[] = module_name($course->category); $row[] = "<a href=" . $CFG->wwwroot . "/course/view.php?id=" . $course->id . ">" . course_name($course->id) . "</a>"; $table->data[] = $row; } } return $table; }