Feature #2099 - Implementing e-mail notification when a new course (training) request is created.

skala
Ivan Tcholakov 15 years ago
parent d2bd458fcf
commit b27da04429
  1. 4
      main/create_course/add_course.php
  2. 52
      main/inc/lib/course_request.lib.php
  3. 5
      main/lang/bulgarian/create_course.inc.php
  4. 5
      main/lang/english/create_course.inc.php
  5. 3
      main/lang/spanish/create_course.inc.php

@ -13,7 +13,7 @@
*/
// Name of the language file that needs to be included.
$language_file = 'create_course';
$language_file = array('create_course', 'cesga');
// Flag forcing the "current course" reset.
$cidReset = true;
@ -97,7 +97,7 @@ $form->add_textfield('wanted_code', get_lang('Code'), false, array('size' => '$m
$form->applyFilter('wanted_code', 'html_filter');
$form->addRule('wanted_code', get_lang('Max'), 'maxlength', $maxlength);
$titular = & $form->add_textfield('tutor_name', get_lang('Professors'), null, array('size' => '60', 'disabled' => 'disabled'));
$titular = & $form->add_textfield('tutor_name', get_lang('Professor'), null, array('size' => '60', 'disabled' => 'disabled'));
$form->addElement('static', null, null, get_lang('ExplicationTrainers'));
//$form->applyFilter('tutor_name', 'html_filter');

@ -103,7 +103,57 @@ class CourseRequestManager {
}
$last_insert_id = Database::get_last_insert_id();
// TODO: Prepare and send notification e-mail messages.
// E-mail notifications.
// E-mail language: The platform language seems to be the best choice.
//$email_language = $course_language;
//$email_language = api_get_interface_language();
$email_language = api_get_setting('platformLanguage');
$email_subject = sprintf(get_lang('CourseRequestEmailSubject', null, $email_language), $code);
$email_body = get_lang('CourseRequestMailOpening', null, $email_language)."\n\n";
$email_body .= get_lang('CourseName', null, $email_language).': '.$title."\n";
$email_body .= get_lang('Fac', null, $email_language).': '.$category_code."\n";
$email_body .= get_lang('Professor', null, $email_language).': '.api_get_person_name($user_info['firstname'], $user_info['lastname'], null, null, $email_language)."\n";
$email_body .= get_lang('Email', null, $email_language).': '.$user_info['mail']."\n";
$email_body .= get_lang('Description', null, $email_language).': '.$description."\n";
$email_body .= get_lang('Objectives', null, $email_language).': '.$objetives."\n";
$email_body .= get_lang('TargetAudience', null, $email_language).': '.$target_audience."\n";
$email_body .= get_lang('Ln', null, $email_language).': '.$course_language."\n";
// Sending an e-mail to the platform administrator.
$email_body_admin = $email_body;
$email_body_admin .= "\n".get_lang('CourseRequestPageForApproval', null, $email_language).' '.api_get_path(WEB_CODE_PATH).'admin/course_request_review.php'."\n";
$email_body_admin .= "\n".get_lang('CourseRequestLegalNote', null, $email_language)."\n";
$sender_name_teacher = api_get_person_name($user_info['firstname'], $user_info['lastname'], null, PERSON_NAME_EMAIL_ADDRESS);
$sender_email_teacher = $user_info['mail'];
$recipient_name_admin = api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'), null, PERSON_NAME_EMAIL_ADDRESS);
$recipient_email_admin = get_setting('emailAdministrator');
@api_mail($recipient_name_admin, $recipient_email_admin, $email_subject, $email_body_admin, $sender_name_teacher, $sender_email_teacher);
// Sending an e-mail to the requestor.
$email_body_teacher = get_lang('Dear', null, $email_language).' ';
$email_body_teacher .= api_get_person_name($user_info['firstname'], $user_info['lastname'], null, null, $email_language).",\n\n";
$email_body_teacher .= $email_body;
$email_body_teacher .= "\n".get_lang('Formula', null, $email_language)."\n";
$email_body_teacher .= api_get_person_name(api_get_setting('administratorName'), api_get_setting('administratorSurname'), null, null, $email_language)."\n";
$email_body_teacher .= get_lang('Manager', null, $email_language).' '.api_get_setting('siteName')."\n";
$email_body_teacher .= get_lang('Phone', null, $email_language).': '.api_get_setting('administratorTelephone')."\n";
$email_body_teacher .= get_lang('Email', null, $email_language).': '.api_get_setting('emailAdministrator', null, $email_language)."\n";
$email_body_teacher .= "\n".get_lang('CourseRequestLegalNote', null, $email_language)."\n";
// Swap the sender and the recipient.
$sender_name_admin = $recipient_name_admin;
$sender_email_admin = $recipient_email_admin;
$recipient_name_teacher = $sender_name_teacher;
$recipient_email_teacher = $sender_email_teacher;
@api_mail($recipient_name_teacher, $recipient_email_teacher, $email_subject, $email_body_teacher, $sender_name_admin, $sender_email_admin);
return $last_insert_id;

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

@ -131,4 +131,9 @@ $CourseRequestDeletionFailed = "The training request %s has not been deleted due
$DeleteCourseRequests = "Delete selected training request(s)";
$SelectedCourseRequestsDeleted = "The selected course requests have been deleted.";
$SomeCourseRequestsNotDeleted = "Some of the selected course requests have not been deleted due to internal error.";
$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.";
$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.";
?>

@ -116,4 +116,7 @@ $AcceptThisCourseRequest = "Validar este curso";
$ANewCourseWillBeCreated = "Se creará un curso indicado (%s).";
$AdditionalInfoWillBeAsked = "Enviar un e-mail solicitando información adicional (%s).";
$AskAdditionalInfo = "Pedir más información";
$CourseRequestEmailSubject = "Solicitud de nuevo curso %s";
$CourseRequestMailOpening = "Se registró la siguiente solicitud para un curso nuevo:";
$CourseRequestPageForApproval = "Puede validar la solicitud en:";
?>
Loading…
Cancel
Save