From d8d4c94603428fa43843955e34298323e3ed03cf Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Mon, 25 Nov 2013 17:30:32 +0100 Subject: [PATCH] Deprecating function select_and_sort_categories use select_ajax element see #6836 --- main/admin/course_add.php | 5 +- main/admin/course_edit.php | 2 +- main/admin/course_list.php | 18 ++++- main/admin/course_request_edit.php | 60 +++++++------- main/admin/course_request_review.php | 47 +++++------ main/create_course/add_course.php | 18 +++-- main/inc/ajax/course.ajax.php | 3 +- main/inc/lib/course.lib.php | 1 + main/inc/lib/course_request.lib.php | 78 ++++++++++++------- .../lib/formvalidator/Element/select_ajax.php | 5 +- 10 files changed, 139 insertions(+), 98 deletions(-) diff --git a/main/admin/course_add.php b/main/admin/course_add.php index 7daccb150e..01e287d0b8 100644 --- a/main/admin/course_add.php +++ b/main/admin/course_add.php @@ -40,14 +40,13 @@ if ($_configuration['multiple_access_urls']) { $res = Database::query($sql); $teachers = array(); -//$teachers[0] = '-- '.get_lang('NoManager').' --'; while ($obj = Database::fetch_object($res)) { $teachers[$obj->user_id] = api_get_person_name($obj->firstname, $obj->lastname); } // Build the form. $form = new FormValidator('update_course'); -$form->addElement('header', '', $tool_name); +$form->addElement('header', $tool_name); // Title $form->add_textfield('title', get_lang('Title'), true, array ('class' => 'span6')); @@ -161,7 +160,5 @@ if ($form->validate()) { $content = $form->return_form(); $tpl = new Template($tool_name); -$tpl->assign('actions', $actions); -$tpl->assign('message', $message); $tpl->assign('content', $content); $tpl->display_one_col_template(); diff --git a/main/admin/course_edit.php b/main/admin/course_edit.php index 7bc8d63c41..c8bde920a0 100644 --- a/main/admin/course_edit.php +++ b/main/admin/course_edit.php @@ -186,7 +186,7 @@ $url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_category'; $categoryList = array(); if (!empty($course['category_code'])) { $data = getCategory($course['category_code']); - $categoryList[] = array('id' => $course['category_code'], 'text' => $data['name']); + $categoryList[] = array('id' => $data['code'], 'text' => $data['name']); } $form->addElement('select_ajax', 'category_code', get_lang('CourseFaculty'), null, array('url' => $url, 'defaults' => $categoryList)); diff --git a/main/admin/course_list.php b/main/admin/course_list.php index c77212890d..5734735d87 100644 --- a/main/admin/course_list.php +++ b/main/admin/course_list.php @@ -18,6 +18,7 @@ $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); 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'; /** * Get the number of courses which will be displayed @@ -186,9 +187,20 @@ if (isset ($_GET['search']) && $_GET['search'] == 'advanced') { $form->addElement('header', $tool_name); $form->add_textfield('keyword_code', get_lang('CourseCode'), false); $form->add_textfield('keyword_title', get_lang('Title'), false); - $categories = array(); - $categories_select = $form->addElement('select', 'keyword_category', get_lang('CourseFaculty'), $categories); - CourseManager::select_and_sort_categories($categories_select); + + // Category code + $url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_category'; + + $form->addElement( + 'select_ajax', + 'keyword_category', + get_lang('CourseFaculty'), + null, + array( + 'url' => $url + ) + ); + $el = $form->addElement('select_language', 'keyword_language', get_lang('CourseLanguage')); $el->addOption(get_lang('All'), '%'); $form->addElement('radio', 'keyword_visibility', get_lang("CourseAccess"), get_lang('OpenToTheWorld'), COURSE_VISIBILITY_OPEN_WORLD); diff --git a/main/admin/course_request_edit.php b/main/admin/course_request_edit.php index 3669454424..cb8494cbfb 100644 --- a/main/admin/course_request_edit.php +++ b/main/admin/course_request_edit.php @@ -13,7 +13,7 @@ $language_file = array('admin', 'create_course'); $cidReset = true; -require '../inc/global.inc.php'; +require_once '../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; $tool_name = get_lang('CourseRequestEdit'); @@ -23,6 +23,7 @@ require_once api_get_path(LIBRARY_PATH).'add_course.lib.inc.php'; require_once api_get_path(CONFIGURATION_PATH).'course_info.conf.php'; require_once api_get_path(LIBRARY_PATH).'course_request.lib.php'; require_once api_get_path(LIBRARY_PATH).'mail.lib.inc.php'; +require_once api_get_path(LIBRARY_PATH).'course_category.lib.php'; // Including a configuration file. require_once api_get_path(CONFIGURATION_PATH).'add_course.conf.php'; @@ -56,7 +57,7 @@ if ($course_validation_feature) { $form = new FormValidator('add_course', 'post', 'course_request_edit.php?id='.$id.'&caller='.$caller); // Form title. - $form->addElement('header', '', $tool_name); + $form->addElement('header', $tool_name); // Title. $form->addElement('text', 'title', get_lang('CourseName'), array('size' => '60', 'id' => 'title')); @@ -64,9 +65,25 @@ if ($course_validation_feature) { $form->addRule('title', get_lang('ThisFieldIsRequired'), 'required'); // Course category. - $categories_select = $form->addElement('select', 'category_code', get_lang('Fac'), array()); - $form->applyFilter('category_code', 'html_filter'); - CourseManager::select_and_sort_categories($categories_select); + $url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_category'; + + $categoryList = array(); + + if (!empty($course_request_info['category_code'])) { + $data = getCategory($course_request_info['category_code']); + $categoryList[] = array('id' => $data['code'], 'text' => $data['name']); + } + + $form->addElement( + 'select_ajax', + 'category_code', + get_lang('CourseFaculty'), + null, + array( + 'url' => $url, + 'defaults' => $categoryList + ) + ); // Course code. $form->add_textfield('wanted_code', get_lang('Code'), false, array('size' => '$maxlength', 'maxlength' => $maxlength)); @@ -76,7 +93,6 @@ if ($course_validation_feature) { // The teacher. $titular = $form->add_textfield('tutor_name', get_lang('Professor'), null, array('size' => '60', 'disabled' => 'disabled')); - //$form->applyFilter('tutor_name', 'html_filter'); // Description of the requested course. $form->addElement('textarea', 'description', get_lang('Description'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116')); @@ -98,15 +114,15 @@ if ($course_validation_feature) { $form->addElement('checkbox', 'exemplary_content', get_lang('FillWithExemplaryContent')); // Submit buttons. - $submit_buttons[] = FormValidator::createElement('style_submit_button', 'save_button', get_lang('Save'), array('class' => 'save')); + $submit_buttons[] = $form->createElement('style_submit_button', 'save_button', get_lang('Save'), array('class' => 'save')); if ($course_request_info['status'] != COURSE_REQUEST_ACCEPTED) { - $submit_buttons[] = FormValidator::createElement('style_submit_button', 'accept_button', get_lang('Accept'), array('class' => 'save', 'style' => 'background-image: url('.api_get_path(WEB_IMG_PATH).'icons/16/accept.png);')); + $submit_buttons[] = $form->createElement('style_submit_button', 'accept_button', get_lang('Accept'), array('class' => 'save', 'style' => 'background-image: url('.api_get_path(WEB_IMG_PATH).'icons/16/accept.png);')); } if ($course_request_info['status'] != COURSE_REQUEST_ACCEPTED && $course_request_info['status'] != COURSE_REQUEST_REJECTED) { - $submit_buttons[] = FormValidator::createElement('style_submit_button', 'reject_button', get_lang('Reject'), array('class' => 'save', 'style' => 'background-image: url('.api_get_path(WEB_IMG_PATH).'icons/16/error.png);')); + $submit_buttons[] = $form->createElement('style_submit_button', 'reject_button', get_lang('Reject'), array('class' => 'save', 'style' => 'background-image: url('.api_get_path(WEB_IMG_PATH).'icons/16/error.png);')); } if ($course_request_info['status'] != COURSE_REQUEST_ACCEPTED && intval($course_request_info['info']) <= 0) { - $submit_buttons[] = FormValidator::createElement('style_submit_button', 'ask_info_button', get_lang('AskAdditionalInfo'), array('class' => 'save', 'style' => 'background-image: url('.api_get_path(WEB_IMG_PATH).'request_info.gif);')); + $submit_buttons[] = $form->createElement('style_submit_button', 'ask_info_button', get_lang('AskAdditionalInfo'), array('class' => 'save', 'style' => 'background-image: url('.api_get_path(WEB_IMG_PATH).'request_info.gif);')); } $form->addGroup($submit_buttons); @@ -127,7 +143,7 @@ if ($course_validation_feature) { $values['course_language'] = $course_request_info['course_language']; $values['title'] = $course_request_info['title']; $values['description'] = $course_request_info['description']; - $values['category_code'] = $course_request_info['category_code']; + //$values['category_code'] = $course_request_info['category_code']; $values['tutor_name'] = $course_request_info['tutor_name']; $values['visual_code'] = $course_request_info['visual_code']; $values['request_date'] = $course_request_info['request_date']; @@ -140,12 +156,7 @@ if ($course_validation_feature) { // Validate the form and perform the ordered actions. if ($form->validate()) { - $course_request_values = $form->exportValues(); - - // Filter incoming data. - foreach ($course_request_values as &$value) { - $value = trim(Security::remove_XSS(stripslashes($value))); - } + $course_request_values = $form->getSubmitValues(); // Detection which submit button has been pressed. $submit_button = isset($_POST['save_button']) ? 'save_button' @@ -164,7 +175,8 @@ if ($course_validation_feature) { $is_error_message = false; // Update the course request. - $update_ok = CourseRequestManager::update_course_request($id, + $update_ok = CourseRequestManager::update_course_request( + $id, $course_request_values['wanted_code'], $course_request_values['title'], $course_request_values['description'], @@ -177,7 +189,7 @@ if ($course_validation_feature) { ); if ($update_ok) { - $message[] = sprintf(get_lang(CourseRequestUpdated), $course_request_values['wanted_code']); + $message[] = sprintf(get_lang('CourseRequestUpdated'), $course_request_values['wanted_code']); switch ($submit_button) { case 'accept_button': @@ -209,7 +221,7 @@ if ($course_validation_feature) { //$message = 'The button "'.$submit_button.'" has been pressed.'; } else { - $message[] = sprintf(get_lang(CourseRequestUpdateFailed), $course_request_values['wanted_code']); + $message[] = sprintf(get_lang('CourseRequestUpdateFailed'), $course_request_values['wanted_code']); $is_error_message = true; } @@ -223,22 +235,18 @@ if ($course_validation_feature) { $back_url = api_add_url_param($back_url, 'is_error_message=1', false); } header('location:'.$back_url); - + exit; } else { - $message = $course_request_values['wanted_code'].' - '.get_lang('CourseCodeAlreadyExists'); $is_error_message = true; } } } - } else { - // Prepare an error message notifying that the course validation feature has not been enabled. - $link_to_setting = api_get_path(WEB_CODE_PATH).'admin/settings.php?category=Platform#course_validation'; + $link_to_setting = api_get_path(WEB_CODE_PATH).'admin/settings.php?search_field=course_validation&submit_button=&category=search_setting'; $message = sprintf(get_lang('PleaseActivateCourseValidationFeature'), sprintf('%s', $link_to_setting, get_lang('EnableCourseValidation'))); $is_error_message = true; - } // Functions. diff --git a/main/admin/course_request_review.php b/main/admin/course_request_review.php index 5c2835e18b..03b2a854ea 100644 --- a/main/admin/course_request_review.php +++ b/main/admin/course_request_review.php @@ -16,7 +16,7 @@ $language_file = array('admin', 'create_course'); $cidReset = true; -require '../inc/global.inc.php'; +require_once '../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); @@ -64,12 +64,10 @@ if ($course_validation_feature) { $message = sprintf(get_lang('CourseRequestAcceptanceFailed'), $course_request_code); $is_error_message = true; } - } - - /** - * Course rejection - */ - elseif (!empty($reject_course_request)) { + } elseif (!empty($reject_course_request)) { + /** + * Course rejection + */ $course_request_code = CourseRequestManager::get_course_request_code($reject_course_request); $result = CourseRequestManager::reject_course_request($reject_course_request); if ($result) { @@ -79,12 +77,12 @@ if ($course_validation_feature) { $message = sprintf(get_lang('CourseRequestRejectionFailed'), $course_request_code); $is_error_message = true; } - } + } elseif (!empty($request_info)) { + + /** + * Sending to the teacher a request for additional information about the proposed course. + */ - /** - * Sending to the teacher a request for additional information about the proposed course. - */ - elseif (!empty($request_info)) { $course_request_code = CourseRequestManager::get_course_request_code($request_info); $result = CourseRequestManager::ask_for_additional_info($request_info); if ($result) { @@ -94,12 +92,10 @@ if ($course_validation_feature) { $message = sprintf(get_lang('CourseRequestInfoFailed'), $course_request_code); $is_error_message = true; } - } - - /** - * Deletion of a course request. - */ - elseif (!empty($delete_course_request)) { + } elseif (!empty($delete_course_request)) { + /** + * Deletion of a course request. + */ $course_request_code = CourseRequestManager::get_course_request_code($delete_course_request); $result = CourseRequestManager::delete_course_request($delete_course_request); if ($result) { @@ -109,15 +105,13 @@ if ($course_validation_feature) { $message = sprintf(get_lang('CourseRequestDeletionFailed'), $course_request_code); $is_error_message = true; } - } - - /** - * Form actions: delete. - */ - elseif (DELETE_ACTION_ENABLED && isset($_POST['action'])) { + } elseif (DELETE_ACTION_ENABLED && isset($_POST['action'])) { + /** + * Form actions: delete. + */ switch ($_POST['action']) { // Delete selected courses - case 'delete_course_requests' : + case 'delete_course_requests': $course_requests = $_POST['course_request']; if (is_array($_POST['course_request']) && !empty($_POST['course_request'])) { $success = true; @@ -151,10 +145,7 @@ function get_number_of_requests() { */ function get_request_data($from, $number_of_items, $column, $direction) { global $keyword; - $course_request_table = Database :: get_main_table(TABLE_MAIN_COURSE_REQUEST); - $users_table = Database :: get_main_table(TABLE_MAIN_USER); - $course_users_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER); if (DELETE_ACTION_ENABLED) { $sql = "SELECT id AS col0, diff --git a/main/create_course/add_course.php b/main/create_course/add_course.php index f77ce4d198..9972d9d41d 100644 --- a/main/create_course/add_course.php +++ b/main/create_course/add_course.php @@ -23,6 +23,7 @@ $cidReset = true; // Including the global initialization file. require_once '../inc/global.inc.php'; +require_once api_get_path(LIBRARY_PATH).'course_category.lib.php'; // Section for the tabs. $this_section = SECTION_COURSES; @@ -92,11 +93,18 @@ $advanced = ' addElement('advanced_settings',$advanced); $form -> addElement('html','