Use flash messages

- Remove unused function api_add_url_param
- Format code
pull/2487/head
jmontoyaa 9 years ago
parent f696f439d0
commit 1437a3f7e4
  1. 155
      main/admin/course_request_edit.php
  2. 42
      main/inc/lib/api.lib.php

@ -17,7 +17,7 @@ api_protect_admin_script();
// A check whether the course validation feature is enabled.
$course_validation_feature = api_get_setting('course_validation') == 'true';
// Filltering passed to this page parameters.
// Filtering passed to this page parameters.
$id = intval($_GET['id']);
$caller = intval($_GET['caller']);
@ -26,14 +26,23 @@ if ($course_validation_feature) {
$course_request_info = CourseRequestManager::get_course_request_info($id);
if (!is_array($course_request_info)) {
// Prepare an error message notifying that the course request has not been found or does not exist.
$message = get_lang('CourseRequestHasNotBeenFound');
$is_error_message = true;
Display::addFlash(
Display::return_message(
get_lang('CourseRequestHasNotBeenFound'),
'warning',
false
)
);
} else {
// Ensure the database prefix + database name do not get over 40 characters.
$maxlength = 40;
// Build the form.
$form = new FormValidator('add_course', 'post', 'course_request_edit.php?id='.$id.'&caller='.$caller);
$form = new FormValidator(
'add_course',
'post',
'course_request_edit.php?id='.$id.'&caller='.$caller
);
// Form title.
$form->addElement('header', $tool_name);
@ -56,7 +65,6 @@ if ($course_validation_feature) {
if (!empty($course_request_info['category_code'])) {
$data = CourseCategory::getCategory($course_request_info['category_code']);
$courseSelect->addOption($data['name'], $data['code'], ['selected' => 'selected']);
}
@ -144,7 +152,6 @@ if ($course_validation_feature) {
if ($course_code_ok) {
$message = array();
$is_error_message = false;
// Update the course request.
$update_ok = CourseRequestManager::update_course_request(
@ -161,63 +168,138 @@ if ($course_validation_feature) {
);
if ($update_ok) {
$message[] = sprintf(get_lang('CourseRequestUpdated'), $course_request_values['wanted_code']);
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestUpdated'),
$course_request_values['wanted_code']
),
'normal',
false
)
);
switch ($submit_button) {
case 'accept_button':
if (CourseRequestManager::accept_course_request($id)) {
$message[] = sprintf(get_lang('CourseRequestAccepted'), $course_request_values['wanted_code'], $course_request_values['wanted_code']);
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestAccepted'),
$course_request_values['wanted_code'],
$course_request_values['wanted_code']
),
'normal',
false
)
);
} else {
$message[] = sprintf(get_lang('CourseRequestAcceptanceFailed'), $course_request_values['wanted_code']);
$is_error_message = true;
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestAcceptanceFailed'),
$course_request_values['wanted_code']
)
),
'error',
false
);
}
break;
case 'reject_button':
if (CourseRequestManager::reject_course_request($id)) {
$message[] = sprintf(get_lang('CourseRequestRejected'), $course_request_values['wanted_code']);
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestRejected'),
$course_request_values['wanted_code']
)
),
'normal',
false
);
} else {
$message[] = sprintf(get_lang('CourseRequestRejectionFailed'), $course_request_values['wanted_code']);
$is_error_message = true;
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestRejectionFailed'),
$course_request_values['wanted_code']
)
),
'error',
false
);
}
break;
case 'ask_info_button':
if (CourseRequestManager::ask_for_additional_info($id)) {
$message[] = sprintf(get_lang('CourseRequestInfoAsked'), $course_request_values['wanted_code']);
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestInfoAsked'),
$course_request_values['wanted_code']
)
),
'normal',
false
);
} else {
$message[] = sprintf(get_lang('CourseRequestInfoFailed'), $course_request_values['wanted_code']);
$is_error_message = true;
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestInfoFailed'),
$course_request_values['wanted_code']
)
),
'error',
false
);
}
break;
}
// Line of code for testing purposes, to be removed
//$message = 'The button "'.$submit_button.'" has been pressed.';
} else {
$message[] = sprintf(get_lang('CourseRequestUpdateFailed'), $course_request_values['wanted_code']);
$is_error_message = true;
Display::addFlash(
Display::return_message(
sprintf(
get_lang('CourseRequestUpdateFailed'),
$course_request_values['wanted_code']
)
),
'error',
false
);
}
$message = implode(' ', $message);
$back_url = get_caller_name($caller);
if ($message != '') {
$back_url = api_add_url_param($back_url, 'message='.urlencode(Security::remove_XSS($message)), false);
}
if ($is_error_message) {
$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;
Display::addFlash(
Display::return_message(
$course_request_values['wanted_code'].' - '.get_lang('CourseCodeAlreadyExists')
),
'error',
false
);
}
}
}
} 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?search_field=course_validation&submit_button=&category=search_setting';
$message = sprintf(get_lang('PleaseActivateCourseValidationFeature'), sprintf('<strong><a href="%s">%s</a></strong>', $link_to_setting, get_lang('EnableCourseValidation')));
$is_error_message = true;
$message = sprintf(
get_lang('PleaseActivateCourseValidationFeature'),
sprintf(
'<strong><a href="%s">%s</a></strong>',
$link_to_setting,
get_lang('EnableCourseValidation')
)
);
Display::addFlash(
Display::return_message($message),
'error',
false
);
}
// Functions.
@ -241,15 +323,6 @@ $interbreadcrumb[] = array('url' => 'course_list.php', 'name' => get_lang('Cours
Display :: display_header($tool_name);
// Display confirmation or error message.
if (!empty($message)) {
if ($is_error_message) {
Display::display_error_message($message, false);
} else {
Display::display_normal_message($message, false);
}
}
if (!$course_validation_feature) {
// Disabled course validation feature - show nothing after the error message.
Display :: display_footer();

@ -1941,48 +1941,6 @@ function api_format_course_array($course_data)
return $_course;
}
/**
* Add a parameter to the existing URL. If this parameter already exists,
* just replace it with the new value
* @param string The URL
* @param string param=value string
* @param boolean Whether to filter XSS or not
* @return string The URL with the added parameter
*/
function api_add_url_param($url, $param, $filter_xss = true) {
if (empty($param)) {
return $url;
}
if (strpos($url, '?') !== false) {
if ($param[0] != '&') {
$param = '&'.$param;
}
list (, $query_string) = explode('?', $url);
$param_list1 = explode('&', $param);
$param_list2 = explode('&', $query_string);
$param_list1_keys = $param_list1_vals = array();
foreach ($param_list1 as $key => $enreg) {
list ($param_list1_keys[$key], $param_list1_vals[$key]) = explode('=', $enreg);
}
$param_list1 = array ('keys' => $param_list1_keys, 'vals' => $param_list1_vals);
foreach ($param_list2 as $enreg) {
$enreg = explode('=', $enreg);
$key = array_search($enreg[0], $param_list1['keys']);
if (!is_null($key) && !is_bool($key)) {
$url = str_replace($enreg[0].'='.$enreg[1], $enreg[0].'='.$param_list1['vals'][$key], $url);
$param = str_replace('&'.$enreg[0].'='.$param_list1['vals'][$key], '', $param);
}
}
$url .= $param;
} else {
$url = $url.'?'.$param;
}
if ($filter_xss === true) {
$url = Security::remove_XSS(urldecode($url));
}
return $url;
}
/**
* Returns a difficult to guess password.
* @param int $length the length of the password

Loading…
Cancel
Save