diff --git a/main/admin/course_list.php b/main/admin/course_list.php index 2cbb21455b..57f70d0466 100644 --- a/main/admin/course_list.php +++ b/main/admin/course_list.php @@ -20,6 +20,8 @@ require_once '../gradebook/lib/be/gradebookitem.class.php'; require_once '../gradebook/lib/be/category.class.php'; require_once api_get_path(LIBRARY_PATH).'course_category.lib.php'; +$sessionId = isset($_GET['session_id']) ? $_GET['session_id'] : null; + /** * Get the number of courses which will be displayed */ @@ -58,6 +60,11 @@ function get_number_of_courses() { /** * Get course data to display + * @param int $from + * @param int $number_of_items + * @param int $column + * @param string $direction + * @return array */ function get_course_data($from, $number_of_items, $column, $direction) { $course_table = Database::get_main_table(TABLE_MAIN_COURSE); @@ -115,10 +122,17 @@ function get_course_data($from, $number_of_items, $column, $direction) { } return $courses; } + /** * Get course data to display filtered by session name + * @param int $from + * @param int $number_of_items + * @param int $column + * @param string $direction + * @return array */ -function get_course_data_by_session($from, $number_of_items, $column, $direction) { +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); @@ -138,14 +152,14 @@ function get_course_data_by_session($from, $number_of_items, $column, $direction 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 . "%'"; + + if (isset($_GET['session_id']) && !empty($_GET['session_id'])) { + $sessionId = intval($_GET['session_id']); + $sql.= " WHERE s.id = ".$sessionId; } $sql .= " ORDER BY col$column $direction "; $sql .= " LIMIT $from,$number_of_items"; - $res = Database::query($sql); $courses = array (); while ($course = Database::fetch_array($res)) { @@ -162,7 +176,8 @@ function get_course_data_by_session($from, $number_of_items, $column, $direction /** * Filter to display the edit-buttons */ -function modify_filter($code) { +function modify_filter($code) +{ $icourse = api_get_course_info($code); return ''.Display::return_icon('synthese_view.gif', get_lang('Info')).' '. @@ -203,7 +218,7 @@ function get_course_visibility_icon($v) { if (isset ($_POST['action'])) { switch ($_POST['action']) { // Delete selected courses - case 'delete_courses' : + case 'delete_courses': $course_codes = $_POST['course']; if (count($course_codes) > 0) { foreach ($course_codes as $course_code) { @@ -258,7 +273,7 @@ if (isset ($_GET['search']) && $_GET['search'] == 'advanced') { $form->addElement('radio', 'keyword_unsubscribe', get_lang('Unsubscription'), get_lang('AllowedToUnsubscribe'), 1); $form->addElement('radio', 'keyword_unsubscribe', null, get_lang('NotAllowedToUnsubscribe'), 0); $form->addElement('radio', 'keyword_unsubscribe', null, get_lang('All'), '%'); - $form->addElement('style_submit_button', 'submit', get_lang('SearchCourse'),'class="btn"'); + $form->addElement('style_submit_button', 'submit', get_lang('SearchCourse'), 'class="btn"'); $defaults['keyword_language'] = '%'; $defaults['keyword_visibility'] = '%'; $defaults['keyword_subscribe'] = '%'; @@ -295,33 +310,27 @@ if (isset ($_GET['search']) && $_GET['search'] == 'advanced') { $form->addElement('style_submit_button', 'submit', get_lang('SearchCourse'), 'class="btn"'); $form->addElement('static', 'search_advanced_link', null, ''.get_lang('AdvancedSearch').''); - //Create a filter by session - /*$sessionFilter = new FormValidator('course_filter', 'get', '', '', array('class'=> 'form-search'), false); + // Create a filter by session + $sessionFilter = new FormValidator('course_filter', 'get', '', '', array('class'=> 'form-search'), false); $url = api_get_path(WEB_AJAX_PATH).'session.ajax.php?a=search_session'; - $sessionFilter->addElement('select_ajax', 'session_name', get_lang('SearchCourseBySession'), null, array('url' => $url)); - - $actions = ' - ';*/ - //$actions .= $sessionFilter->return_form(); - + '; + $actions .= $sessionFilter->return_form(); $actions .= '