Feature #2099 - Course validation: Blocking the platform administrator's pages when the feature is not enabled.

skala
Ivan Tcholakov 16 years ago
parent bf5633bd58
commit df2b3bf44b
  1. 86
      main/admin/course_request_accepted.php
  2. 133
      main/admin/course_request_rejected.php
  3. 167
      main/admin/course_request_review.php
  4. 2
      main/lang/bulgarian/admin.inc.php
  5. 2
      main/lang/bulgarian/create_course.inc.php
  6. 2
      main/lang/english/admin.inc.php
  7. 2
      main/lang/english/create_course.inc.php

@ -37,24 +37,57 @@ require api_get_path(CONFIGURATION_PATH).'add_course.conf.php';
// Include additional libraries
require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php';
// A check whether the course validation feature is enabled.
$course_validation_feature = api_get_setting('course_validation') == 'true';
// Filltering passed to this page parameters.
$delete_course_request = intval($_GET['delete_course_request']);
$message = trim(Security::remove_XSS(stripslashes(urldecode($_GET['message']))));
$is_error_message = !empty($_GET['is_error_message']);
/**
* Deletion of a course request.
*/
if (!empty($delete_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($delete_course_request);
$result = CourseRequestManager::delete_course_request($delete_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestDeleted'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestDeletionFailed'), $course_request_code);
$is_error_message = true;
if ($course_validation_feature) {
/**
* Deletion of a course request.
*/
if (!empty($delete_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($delete_course_request);
$result = CourseRequestManager::delete_course_request($delete_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestDeleted'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestDeletionFailed'), $course_request_code);
$is_error_message = true;
}
}
/**
* Form actions: delete.
*/
elseif (isset($_POST['action'])) {
switch ($_POST['action']) {
// Delete selected courses
case 'delete_course_requests' :
$course_requests = $_POST['course_request'];
if (is_array($_POST['course_request']) && !empty($_POST['course_request'])) {
$success = true;
foreach ($_POST['course_request'] as $index => $course_request_id) {
$success &= CourseRequestManager::delete_course_request($course_request_id);
}
$message = $success ? get_lang('SelectedCourseRequestsDeleted') : get_lang('SomeCourseRequestsNotDeleted');
$is_error_message = !$success;
}
break;
}
}
} else {
$link_to_setting = api_get_path(WEB_CODE_PATH).'admin/settings.php?category=Platform#course_validation';
$message = sprintf(get_lang('PleaseActivateCourseValidationFeature'), sprintf('<strong><a href="%s">%s</a></strong>', $link_to_setting, get_lang('EnableCourseValidation')));
$is_error_message = true;
}
/**
@ -103,26 +136,6 @@ function modify_filter($id) {
return $result;
}
/**
* Form actions: delete.
*/
if (isset($_POST['action'])) {
switch ($_POST['action']) {
// Delete selected courses
case 'delete_course_requests' :
$course_requests = $_POST['course_request'];
if (is_array($_POST['course_request']) && !empty($_POST['course_request'])) {
$success = true;
foreach ($_POST['course_request'] as $index => $course_request_id) {
$success &= CourseRequestManager::delete_course_request($course_request_id);
}
$message = $success ? get_lang('SelectedCourseRequestsDeleted') : get_lang('SomeCourseRequestsNotDeleted');
$is_error_message = !$success;
}
break;
}
}
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
$tool_name = get_lang('AcceptedCourseRequests');
Display :: display_header($tool_name);
@ -130,12 +143,17 @@ Display :: display_header($tool_name);
// Display confirmation or error message.
if (!empty($message)) {
if ($is_error_message) {
Display::display_error_message($message);
Display::display_error_message($message, false);
} else {
Display::display_normal_message($message);
Display::display_normal_message($message, false);
}
}
if (!$course_validation_feature) {
Display :: display_footer();
exit;
}
// The action bar.
echo '<div class="actions">';
echo '<a href="course_list.php">'.Display::return_icon('courses.gif', get_lang('CourseList')).get_lang('CourseList').'</a>';

@ -38,6 +38,9 @@ require api_get_path(CONFIGURATION_PATH).'add_course.conf.php';
// Including additional libraries.
require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php';
// A check whether the course validation feature is enabled.
$course_validation_feature = api_get_setting('course_validation') == 'true';
// Filltering passed to this page parameters.
$accept_course_request = intval($_GET['accept_course_request']);
$delete_course_request = intval($_GET['delete_course_request']);
@ -45,51 +48,80 @@ $request_info = intval($_GET['request_info']);
$message = trim(Security::remove_XSS(stripslashes(urldecode($_GET['message']))));
$is_error_message = !empty($_GET['is_error_message']);
if ($course_validation_feature) {
/**
* Acceptance and creation of the requested course.
*/
if (!empty($accept_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($accept_course_request);
$course_id = CourseRequestManager::accept_course_request($accept_course_request);
if ($course_id) {
$course_code = CourseManager::get_course_code_from_course_id($course_id);
$message = sprintf(get_lang('CourseRequestAccepted'), $course_request_code, $course_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestAcceptanceFailed'), $course_request_code);
$is_error_message = true;
if (!empty($accept_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($accept_course_request);
$course_id = CourseRequestManager::accept_course_request($accept_course_request);
if ($course_id) {
$course_code = CourseManager::get_course_code_from_course_id($course_id);
$message = sprintf(get_lang('CourseRequestAccepted'), $course_request_code, $course_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestAcceptanceFailed'), $course_request_code);
$is_error_message = true;
}
}
}
/**
* 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) {
$message = sprintf(get_lang('CourseRequestInfoAsked'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestInfoFailed'), $course_request_code);
$is_error_message = true;
/**
* 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) {
$message = sprintf(get_lang('CourseRequestInfoAsked'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestInfoFailed'), $course_request_code);
$is_error_message = true;
}
}
}
/**
* Deletion of a course request.
*/
elseif (!empty($delete_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($delete_course_request);
$result = CourseRequestManager::delete_course_request($delete_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestDeleted'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestDeletionFailed'), $course_request_code);
$is_error_message = true;
/**
* Deletion of a course request.
*/
elseif (!empty($delete_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($delete_course_request);
$result = CourseRequestManager::delete_course_request($delete_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestDeleted'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestDeletionFailed'), $course_request_code);
$is_error_message = true;
}
}
/**
* Form actions: delete.
*/
elseif (isset($_POST['action'])) {
switch ($_POST['action']) {
// Delete selected courses
case 'delete_course_requests' :
$course_requests = $_POST['course_request'];
if (is_array($_POST['course_request']) && !empty($_POST['course_request'])) {
$success = true;
foreach ($_POST['course_request'] as $index => $course_request_id) {
$success &= CourseRequestManager::delete_course_request($course_request_id);
}
$message = $success ? get_lang('SelectedCourseRequestsDeleted') : get_lang('SomeCourseRequestsNotDeleted');
$is_error_message = !$success;
}
break;
}
}
} else {
$link_to_setting = api_get_path(WEB_CODE_PATH).'admin/settings.php?category=Platform#course_validation';
$message = sprintf(get_lang('PleaseActivateCourseValidationFeature'), sprintf('<strong><a href="%s">%s</a></strong>', $link_to_setting, get_lang('EnableCourseValidation')));
$is_error_message = true;
}
/**
@ -143,26 +175,6 @@ function modify_filter($id) {
return $result;
}
/**
* Form actions: delete.
*/
if (isset($_POST['action'])) {
switch ($_POST['action']) {
// Delete selected courses
case 'delete_course_requests' :
$course_requests = $_POST['course_request'];
if (is_array($_POST['course_request']) && !empty($_POST['course_request'])) {
$success = true;
foreach ($_POST['course_request'] as $index => $course_request_id) {
$success &= CourseRequestManager::delete_course_request($course_request_id);
}
$message = $success ? get_lang('SelectedCourseRequestsDeleted') : get_lang('SomeCourseRequestsNotDeleted');
$is_error_message = !$success;
}
break;
}
}
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
$tool_name = get_lang('RejectedCourseRequests');
Display :: display_header($tool_name);
@ -170,12 +182,17 @@ Display :: display_header($tool_name);
// Display confirmation or error message.
if (!empty($message)) {
if ($is_error_message) {
Display::display_error_message($message);
Display::display_error_message($message, false);
} else {
Display::display_normal_message($message);
Display::display_normal_message($message, false);
}
}
if (!$course_validation_feature) {
Display :: display_footer();
exit;
}
// The action bar.
echo '<div class="actions">';
echo '<a href="course_list.php">'.Display::return_icon('courses.gif', get_lang('CourseList')).get_lang('CourseList').'</a>';

@ -41,6 +41,9 @@ require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php';
// Better reject the target request, after that you can delete it.
define(DELETE_ACTION_ENABLED, false);
// A check whether the course validation feature is enabled.
$course_validation_feature = api_get_setting('course_validation') == 'true';
// Filltering passed to this page parameters.
$accept_course_request = intval($_GET['accept_course_request']);
$reject_course_request = intval($_GET['reject_course_request']);
@ -49,67 +52,96 @@ $delete_course_request = intval($_GET['delete_course_request']);
$message = trim(Security::remove_XSS(stripslashes(urldecode($_GET['message']))));
$is_error_message = !empty($_GET['is_error_message']);
/**
* Course acceptance and creation.
*/
if (!empty($accept_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($accept_course_request);
$course_id = CourseRequestManager::accept_course_request($accept_course_request);
if ($course_id) {
$course_code = CourseManager::get_course_code_from_course_id($course_id);
$message = sprintf(get_lang('CourseRequestAccepted'), $course_request_code, $course_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestAcceptanceFailed'), $course_request_code);
$is_error_message = true;
if ($course_validation_feature) {
/**
* Course acceptance and creation.
*/
if (!empty($accept_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($accept_course_request);
$course_id = CourseRequestManager::accept_course_request($accept_course_request);
if ($course_id) {
$course_code = CourseManager::get_course_code_from_course_id($course_id);
$message = sprintf(get_lang('CourseRequestAccepted'), $course_request_code, $course_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestAcceptanceFailed'), $course_request_code);
$is_error_message = true;
}
}
}
/**
* Course rejection
*/
elseif (!empty($reject_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($reject_course_request);
$result = CourseRequestManager::reject_course_request($reject_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestRejected'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestRejectionFailed'), $course_request_code);
$is_error_message = true;
/**
* Course rejection
*/
elseif (!empty($reject_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($reject_course_request);
$result = CourseRequestManager::reject_course_request($reject_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestRejected'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestRejectionFailed'), $course_request_code);
$is_error_message = true;
}
}
}
/**
* 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) {
$message = sprintf(get_lang('CourseRequestInfoAsked'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestInfoFailed'), $course_request_code);
$is_error_message = true;
/**
* 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) {
$message = sprintf(get_lang('CourseRequestInfoAsked'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestInfoFailed'), $course_request_code);
$is_error_message = true;
}
}
}
/**
* Deletion of a course request.
*/
elseif (!empty($delete_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($delete_course_request);
$result = CourseRequestManager::delete_course_request($delete_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestDeleted'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestDeletionFailed'), $course_request_code);
$is_error_message = true;
/**
* Deletion of a course request.
*/
elseif (!empty($delete_course_request)) {
$course_request_code = CourseRequestManager::get_course_request_code($delete_course_request);
$result = CourseRequestManager::delete_course_request($delete_course_request);
if ($result) {
$message = sprintf(get_lang('CourseRequestDeleted'), $course_request_code);
$is_error_message = false;
} else {
$message = sprintf(get_lang('CourseRequestDeletionFailed'), $course_request_code);
$is_error_message = true;
}
}
}
/**
* Form actions: delete.
*/
elseif (DELETE_ACTION_ENABLED && isset($_POST['action'])) {
switch ($_POST['action']) {
// Delete selected courses
case 'delete_course_requests' :
$course_requests = $_POST['course_request'];
if (is_array($_POST['course_request']) && !empty($_POST['course_request'])) {
$success = true;
foreach ($_POST['course_request'] as $index => $course_request_id) {
$success &= CourseRequestManager::delete_course_request($course_request_id);
}
$message = $success ? get_lang('SelectedCourseRequestsDeleted') : get_lang('SomeCourseRequestsNotDeleted');
$is_error_message = !$success;
}
break;
}
}
} else {
$link_to_setting = api_get_path(WEB_CODE_PATH).'admin/settings.php?category=Platform#course_validation';
$message = sprintf(get_lang('PleaseActivateCourseValidationFeature'), sprintf('<strong><a href="%s">%s</a></strong>', $link_to_setting, get_lang('EnableCourseValidation')));
$is_error_message = true;
}
/**
* Get the number of courses which will be displayed.
@ -185,26 +217,6 @@ function modify_filter($id) {
return $result;
}
/**
* Form actions: delete.
*/
if (DELETE_ACTION_ENABLED && isset($_POST['action'])) {
switch ($_POST['action']) {
// Delete selected courses
case 'delete_course_requests' :
$course_requests = $_POST['course_request'];
if (is_array($_POST['course_request']) && !empty($_POST['course_request'])) {
$success = true;
foreach ($_POST['course_request'] as $index => $course_request_id) {
$success &= CourseRequestManager::delete_course_request($course_request_id);
}
$message = $success ? get_lang('SelectedCourseRequestsDeleted') : get_lang('SomeCourseRequestsNotDeleted');
$is_error_message = !$success;
}
break;
}
}
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
$tool_name = get_lang('ReviewCourseRequests');
Display :: display_header($tool_name);
@ -212,12 +224,17 @@ Display :: display_header($tool_name);
// Display confirmation or error message.
if (!empty($message)) {
if ($is_error_message) {
Display::display_error_message($message);
Display::display_error_message($message, false);
} else {
Display::display_normal_message($message);
Display::display_normal_message($message, false);
}
}
if (!$course_validation_feature) {
Display :: display_footer();
exit;
}
// The action bar.
echo '<div class="actions">';
echo '<a href="course_list.php">'.Display::return_icon('courses.gif', get_lang('CourseList')).get_lang('CourseList').'</a>';

@ -1207,4 +1207,6 @@ $MyTextHere = "Въведете вашия текст тук...";
$ReviewCourseRequests = "Преглед на заявките за нови курсове";
$AcceptedCourseRequests = "Одобрени заявки за курсове";
$RejectedCourseRequests = "Отхвърлени заявки за курсове";
$EnableCourseValidation = "Одобряване на новите курсове";
$EnableCourseValidationComment = "Когато функцията \"Одобряване на новите курсове\" е активирана, преподавател не може да създава нов курс. Той/тя попълва заявка за нов курс. Администраторът на системата преглежда заявката и или я одобрява, или я отхвърля.<br />Тази функция силно зависи от автоматично генерирани e-mail съобщения; настройте достъп на системата до e-mail сървър чрез специално открит за нея акаунт.";
?>

@ -134,6 +134,6 @@ $SomeCourseRequestsNotDeleted = "Някои от избраните заявки
$CourseRequestEmailSubject = "Заявка за нов курс %s";
$CourseRequestMailOpening = "Регистрирана е следната заявка за нов курс:";
$CourseRequestPageForApproval = "Тази заявка може да бъде одобрена на страницата:";
$PleaseActivateCourseValidationFeature = "Функцията \"Одобряване на курсове\" не е активна в момента. За да я активирате използвайте страницата %s.";
$PleaseActivateCourseValidationFeature = "Функцията \"Одобряване на курсове\" не е активна в момента. За да я активирате използвайте настройката %s.";
$CourseRequestLegalNote = "Информацията в тази заявка е защитена; тя може да служи само за обслужване на процедурата по откриване на нов учебен курс в нашия учебен портал; тя не може да бъде разкривана пред трети страни.";
?>

@ -1275,4 +1275,6 @@ $ReviewCourseRequests = "Review incoming training requests";
$AcceptedCourseRequests = "Accepted training requests";
$RejectedCourseRequests = "Rejected training requests";
$BrowscapInfo = "Browscap loading browscap.ini file that contains a large amount of data on the browser and its capabilities, so it can be used by the function get_browser () PHP";
$EnableCourseValidation = "Training validation";
$EnableCourseValidationComment = "When \"Training validation\" feature is activated, a teacher is not able to create a training alone. He/she fills a training request. The platform administrator reviews the request and approves it or rejects it.<br />This feature relies on automated e-mail messages; set Chamilo to access an e-mail server and to use a dedicated an e-mail account.";
?>

@ -134,6 +134,6 @@ $SomeCourseRequestsNotDeleted = "Some of the selected course requests have not b
$CourseRequestEmailSubject = "A request for a new training %s";
$CourseRequestMailOpening = "We registered the following request for a new training:";
$CourseRequestPageForApproval = "This training request can be accepted (approved) at the following page:";
$PleaseActivateCourseValidationFeature = "The \"Training validation\" feature is not active at the moment. In order to use this feature, please, activate it by using the page %s.";
$PleaseActivateCourseValidationFeature = "The \"Training validation\" feature is not active at the moment. In order to use this feature, please, activate it by using the setting %s.";
$CourseRequestLegalNote = "The information of this training request is considered as protected; it can be used only for serving the procedure of opening a new training within our training portal; it should not be revealed to third parties.";
?>
Loading…
Cancel
Save