diff --git a/public/enrol/manual/tests/lib_test.php b/public/enrol/manual/tests/lib_test.php
index e1df61243cb..4cc83cbb77d 100644
--- a/public/enrol/manual/tests/lib_test.php
+++ b/public/enrol/manual/tests/lib_test.php
@@ -14,22 +14,11 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-/**
- * Manual enrolment tests.
- *
- * @package enrol_manual
- * @category phpunit
- * @copyright 2012 Petr Skoda {@link http://skodak.org}
- * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
namespace enrol_manual;
use course_enrolment_manager;
use stdClass;
-defined('MOODLE_INTERNAL') || die();
-
-
/**
* Manual enrolment tests.
*
@@ -802,6 +791,7 @@ final class lib_test extends \advanced_testcase {
$course = $this->getDataGenerator()->create_course([
'fullname' => 'Course 1 & 2',
'shortname' => 'C1',
+ 'startdate' => 1622502000,
]);
$courseurl = course_get_url($course)->out();
@@ -863,7 +853,7 @@ final class lib_test extends \advanced_testcase {
userid: $student->id,
sendoption: ENROL_SEND_EMAIL_FROM_COURSE_CONTACT,
message: 'Your email address: {$a->email}, your first name: {$a->firstname}, your last name: {$a->lastname}, ' .
- 'your course: {$a->coursename}',
+ 'your course: {$a->coursename} on {$a->coursestartdate}',
);
$messages = $messagesink->get_messages_by_component_and_type(
'moodle',
@@ -877,7 +867,7 @@ final class lib_test extends \advanced_testcase {
$this->assertStringContainsString($course->fullname, $message->subject);
$this->assertEquals(
'Your email address: ' . $student->email . ', your first name: ' . $student->firstname . ', your last name: ' .
- $student->lastname . ', your course: ' . $course->fullname,
+ $student->lastname . ', your course: ' . $course->fullname . ' on 1 June 2021, 7:00 AM',
$message->fullmessage,
);
// Clear sink.
diff --git a/public/lang/en/enrol.php b/public/lang/en/enrol.php
index 70be8f7fe9d..3922445cac6 100644
--- a/public/lang/en/enrol.php
+++ b/public/lang/en/enrol.php
@@ -39,6 +39,7 @@ $string['customwelcomemessage_help'] = 'Accepted formats: Plain text or Moodle-a
- Course name {$a->coursename}
- Link to course page {$a->courselink}
+- Course start date {$a->coursestartdate}
- Link to user\'s profile page {$a->profileurl}
- User email {$a->email}
- User fullname {$a->fullname}
diff --git a/public/lib/enrollib.php b/public/lib/enrollib.php
index c7014a585fe..4e17caa8066 100644
--- a/public/lib/enrollib.php
+++ b/public/lib/enrollib.php
@@ -3651,9 +3651,9 @@ abstract class enrol_plugin {
global $DB, $CFG;
require_once($CFG->dirroot . '/course/lib.php');
- $context = context_course::instance($instance->courseid);
$user = core_user::get_user($userid);
$course = get_course($instance->courseid);
+ $context = context_course::instance($course->id);
// Fallback to the instance role ID if parameter not specified.
$courseroleid = $roleid ?: $instance->roleid;
@@ -3662,13 +3662,8 @@ abstract class enrol_plugin {
$a = new stdClass();
$a->coursename = format_string($course->fullname, true, ['context' => $context, 'escape' => false]);
$a->courselink = course_get_url($course)->out();
- $a->profileurl = (new moodle_url(
- url: '/user/view.php',
- params: [
- 'id' => $user->id,
- 'course' => $instance->courseid,
- ],
- ))->out();
+ $a->coursestartdate = userdate($course->startdate, get_string('strftimedatetime', 'core_langconfig'));
+ $a->profileurl = \core\user::get_profile_url($user, $context)->out();
$placeholders = \core_user::get_name_placeholders($user);
foreach ($placeholders as $field => $value) {
@@ -3679,6 +3674,7 @@ abstract class enrol_plugin {
$placeholders = [
'{$a->coursename}',
'{$a->courselink}',
+ '{$a->coursestartdate}',
'{$a->profileurl}',
'{$a->fullname}',
'{$a->email}',
@@ -3689,6 +3685,7 @@ abstract class enrol_plugin {
$values = [
$a->coursename,
$a->courselink,
+ $a->coursestartdate,
$a->profileurl,
fullname($user),
$user->email,