|
@@ -115,7 +115,50 @@ function get_course_data($from, $number_of_items, $column, $direction) {
|
|
|
}
|
|
|
return $courses;
|
|
|
}
|
|
|
+/**
|
|
|
+ * Get course data to display filtered by session name
|
|
|
+ */
|
|
|
+function get_course_data_by_session($from, $number_of_items, $column, $direction) {
|
|
|
+ $course_table = Database::get_main_table(TABLE_MAIN_COURSE);
|
|
|
+ $session_rel_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
|
|
|
+ $session = Database::get_main_table(TABLE_MAIN_SESSION);
|
|
|
+
|
|
|
+ $sql = "SELECT c.code AS col0,
|
|
|
+ c.title AS col1,
|
|
|
+ c.code AS col2,
|
|
|
+ c.course_language AS col3,
|
|
|
+ c.category_code AS col4,
|
|
|
+ c.subscribe AS col5,
|
|
|
+ c.unsubscribe AS col6,
|
|
|
+ c.code AS col7,
|
|
|
+ c.visibility AS col8,
|
|
|
+ c.directory as col9,
|
|
|
+ c.visual_code
|
|
|
+ FROM $course_table c
|
|
|
+ INNER JOIN $session_rel_course r ON c.code = r.course_code
|
|
|
+ INNER JOIN $session s ON r.id_session = s.id
|
|
|
+ ";
|
|
|
+ if (isset($_GET['session'])) {
|
|
|
+ $session = Database::escape_string(trim($_GET['session']));
|
|
|
+ $sql.= " WHERE s.name LIKE '%" . $session . "%'";
|
|
|
+ }
|
|
|
|
|
|
+ $sql .= " ORDER BY col$column $direction ";
|
|
|
+ $sql .= " LIMIT $from,$number_of_items";
|
|
|
+
|
|
|
+ $res = Database::query($sql);
|
|
|
+ $courses = array ();
|
|
|
+ while ($course = Database::fetch_array($res)) {
|
|
|
+ // Place colour icons in front of courses.
|
|
|
+ $show_visual_code = $course['visual_code'] != $course[2] ? Display::label($course['visual_code'], 'info') : null;
|
|
|
+ $course[1] = get_course_visibility_icon($course[8]).'<a href="'.api_get_path(WEB_COURSE_PATH).$course[9].'/index.php">'.$course[1].'</a> '.$show_visual_code;
|
|
|
+ $course[5] = $course[5] == SUBSCRIBE_ALLOWED ? get_lang('Yes') : get_lang('No');
|
|
|
+ $course[6] = $course[6] == UNSUBSCRIBE_ALLOWED ? get_lang('Yes') : get_lang('No');
|
|
|
+ $course_rem = array($course[0], $course[1], $course[2], $course[3], $course[4], $course[5], $course[6], $course[7]);
|
|
|
+ $courses[] = $course_rem;
|
|
|
+ }
|
|
|
+ return $courses;
|
|
|
+}
|
|
|
/**
|
|
|
* Filter to display the edit-buttons
|
|
|
*/
|
|
@@ -261,8 +304,14 @@ if (isset ($_GET['search']) && $_GET['search'] == 'advanced') {
|
|
|
$actions .= '</div>';
|
|
|
$actions .= $form->return_form();
|
|
|
|
|
|
- // Create a sortable table with the course data
|
|
|
- $table = new SortableTable('courses', 'get_number_of_courses', 'get_course_data', 2);
|
|
|
+ if (isset ($_GET['search']) && $_GET['search'] == 'session') {
|
|
|
+ // Create a sortable table with the course data filtered by session
|
|
|
+ $table = new SortableTable('courses', 'get_number_of_courses', 'get_course_data_by_session', 2);
|
|
|
+ } else {
|
|
|
+ // Create a sortable table with the course data
|
|
|
+ $table = new SortableTable('courses', 'get_number_of_courses', 'get_course_data', 2);
|
|
|
+ }
|
|
|
+
|
|
|
$parameters=array();
|
|
|
|
|
|
if (isset ($_GET['keyword'])) {
|