Merge branch 'MDL-84617-main' of https://github.com/sarjona/moodle
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
issueNumber: MDL-84617
|
||||
notes:
|
||||
core_calendar:
|
||||
- message: >-
|
||||
prepare_for_view(), calendar_add_event_metadata() functions have
|
||||
been removed.
|
||||
type: removed
|
||||
@@ -0,0 +1,7 @@
|
||||
issueNumber: MDL-84617
|
||||
notes:
|
||||
core_calendar:
|
||||
- message: >-
|
||||
calendar_get_courselink(), calendar_events_by_day() functions have
|
||||
been deprecated.
|
||||
type: deprecated
|
||||
@@ -0,0 +1,5 @@
|
||||
issueNumber: MDL-84617
|
||||
notes:
|
||||
core_calendar:
|
||||
- message: 'core_calendar_renderer::event() method has been removed.'
|
||||
type: removed
|
||||
@@ -140,3 +140,158 @@ function calendar_format_event_time($event, $now, $linkparams = null, $usecommon
|
||||
return $OUTPUT->render($humanperiod);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated 3.9
|
||||
*/
|
||||
#[\core\attribute\deprecated(
|
||||
replacement: 'calendar_add_event_metadata no longer used',
|
||||
since: '3.9',
|
||||
mdl: 'MDL-58866',
|
||||
final: true,
|
||||
)]
|
||||
function calendar_add_event_metadata() {
|
||||
\core\deprecation::emit_deprecation_if_present(__FUNCTION__);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a HTML link to a course.
|
||||
*
|
||||
* @param int|stdClass $course the course id or course object
|
||||
* @return string a link to the course (as HTML); empty if the course id is invalid
|
||||
*
|
||||
* @deprecated since 5.0
|
||||
* @todo MDL-84268 Final deprecation in Moodle 6.0.
|
||||
*/
|
||||
#[\core\attribute\deprecated(
|
||||
replacement: 'calendar_get_courselink no longer used',
|
||||
since: '5.0',
|
||||
mdl: 'MDL-84617',
|
||||
)]
|
||||
function calendar_get_courselink($course) {
|
||||
\core\deprecation::emit_deprecation_if_present(__FUNCTION__);
|
||||
|
||||
if (!$course) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if (!is_object($course)) {
|
||||
$course = calendar_get_course_cached($coursecache, $course);
|
||||
}
|
||||
$context = \context_course::instance($course->id);
|
||||
$fullname = format_string($course->fullname, true, ['context' => $context]);
|
||||
$url = new \moodle_url('/course/view.php', ['id' => $course->id]);
|
||||
$link = \html_writer::link($url, $fullname);
|
||||
|
||||
return $link;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get per-day basis events
|
||||
*
|
||||
* @param array $events list of events
|
||||
* @param int $month the number of the month
|
||||
* @param int $year the number of the year
|
||||
* @param array $eventsbyday event on specific day
|
||||
* @param array $durationbyday duration of the event in days
|
||||
* @param array $typesbyday event type (eg: site, course, user, or group)
|
||||
* @param array $courses list of courses
|
||||
* @return void
|
||||
*
|
||||
* @deprecated since 5.0
|
||||
* @todo MDL-84268 Final deprecation in Moodle 6.0.
|
||||
*/
|
||||
#[\core\attribute\deprecated(
|
||||
replacement: 'calendar_events_by_day not used since 3.4',
|
||||
since: '5.0',
|
||||
mdl: 'MDL-84617',
|
||||
)]
|
||||
function calendar_events_by_day($events, $month, $year, &$eventsbyday, &$durationbyday, &$typesbyday, &$courses) {
|
||||
\core\deprecation::emit_deprecation_if_present(__FUNCTION__);
|
||||
|
||||
$calendartype = \core_calendar\type_factory::get_calendar_instance();
|
||||
|
||||
$eventsbyday = [];
|
||||
$typesbyday = [];
|
||||
$durationbyday = [];
|
||||
|
||||
if ($events === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($events as $event) {
|
||||
$startdate = $calendartype->timestamp_to_date_array($event->timestart);
|
||||
if ($event->timeduration) {
|
||||
$enddate = $calendartype->timestamp_to_date_array($event->timestart + $event->timeduration - 1);
|
||||
} else {
|
||||
$enddate = $startdate;
|
||||
}
|
||||
|
||||
// Simple arithmetic: $year * 13 + $month is a distinct integer for each distinct ($year, $month) pair.
|
||||
if (!($startdate['year'] * 13 + $startdate['mon'] <= $year * 13 + $month) &&
|
||||
($enddate['year'] * 13 + $enddate['mon'] >= $year * 13 + $month)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$eventdaystart = intval($startdate['mday']);
|
||||
|
||||
if ($startdate['mon'] == $month && $startdate['year'] == $year) {
|
||||
// Give the event to its day.
|
||||
$eventsbyday[$eventdaystart][] = $event->id;
|
||||
|
||||
// Mark the day as having such an event.
|
||||
if ($event->courseid == SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$eventdaystart]['startsite'] = true;
|
||||
// Set event class for site event.
|
||||
$events[$event->id]->class = 'calendar_event_site';
|
||||
} else if ($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$eventdaystart]['startcourse'] = true;
|
||||
// Set event class for course event.
|
||||
$events[$event->id]->class = 'calendar_event_course';
|
||||
} else if ($event->groupid) {
|
||||
$typesbyday[$eventdaystart]['startgroup'] = true;
|
||||
// Set event class for group event.
|
||||
$events[$event->id]->class = 'calendar_event_group';
|
||||
} else if ($event->userid) {
|
||||
$typesbyday[$eventdaystart]['startuser'] = true;
|
||||
// Set event class for user event.
|
||||
$events[$event->id]->class = 'calendar_event_user';
|
||||
}
|
||||
}
|
||||
|
||||
if ($event->timeduration == 0) {
|
||||
// Proceed with the next.
|
||||
continue;
|
||||
}
|
||||
|
||||
// The event starts on $month $year or before.
|
||||
if ($startdate['mon'] == $month && $startdate['year'] == $year) {
|
||||
$lowerbound = intval($startdate['mday']);
|
||||
} else {
|
||||
$lowerbound = 0;
|
||||
}
|
||||
|
||||
// Also, it ends on $month $year or later.
|
||||
if ($enddate['mon'] == $month && $enddate['year'] == $year) {
|
||||
$upperbound = intval($enddate['mday']);
|
||||
} else {
|
||||
$upperbound = calendar_days_in_month($month, $year);
|
||||
}
|
||||
|
||||
// Mark all days between $lowerbound and $upperbound (inclusive) as duration.
|
||||
for ($i = $lowerbound + 1; $i <= $upperbound; ++$i) {
|
||||
$durationbyday[$i][] = $event->id;
|
||||
if ($event->courseid == SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$i]['durationsite'] = true;
|
||||
} else if ($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$i]['durationcourse'] = true;
|
||||
} else if ($event->groupid) {
|
||||
$typesbyday[$i]['durationgroup'] = true;
|
||||
} else if ($event->userid) {
|
||||
$typesbyday[$i]['durationuser'] = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
+3
-197
@@ -1180,17 +1180,11 @@ class calendar_information {
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize calendar information
|
||||
*
|
||||
* @deprecated 3.4
|
||||
* @param stdClass $course object
|
||||
* @param array $coursestoload An array of courses [$course->id => $course]
|
||||
* @param bool $ignorefilters options to use filter
|
||||
*/
|
||||
public function prepare_for_view(stdClass $course, array $coursestoload, $ignorefilters = false) {
|
||||
debugging('The prepare_for_view() function has been deprecated. Please update your code to use set_sources()',
|
||||
DEBUG_DEVELOPER);
|
||||
$this->set_sources($course, $coursestoload);
|
||||
#[\core\attribute\deprecated('prepare_for_view', since: '3.4', mdl: 'MDL-59890', final: true)]
|
||||
public function prepare_for_view() {
|
||||
\core\deprecation::emit_deprecation_if_present([self::class, __FUNCTION__]);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1516,28 +1510,6 @@ function calendar_get_starting_weekday() {
|
||||
return $calendartype->get_starting_weekday();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a HTML link to a course.
|
||||
*
|
||||
* @param int|stdClass $course the course id or course object
|
||||
* @return string a link to the course (as HTML); empty if the course id is invalid
|
||||
*/
|
||||
function calendar_get_courselink($course) {
|
||||
if (!$course) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if (!is_object($course)) {
|
||||
$course = calendar_get_course_cached($coursecache, $course);
|
||||
}
|
||||
$context = \context_course::instance($course->id);
|
||||
$fullname = format_string($course->fullname, true, array('context' => $context));
|
||||
$url = new \moodle_url('/course/view.php', array('id' => $course->id));
|
||||
$link = \html_writer::link($url, $fullname);
|
||||
|
||||
return $link;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get current module cache.
|
||||
*
|
||||
@@ -1585,72 +1557,6 @@ function calendar_get_group_cached($groupid) {
|
||||
return $groupscache[$groupid];
|
||||
}
|
||||
|
||||
/**
|
||||
* Add calendar event metadata
|
||||
*
|
||||
* @deprecated since 3.9
|
||||
*
|
||||
* @param stdClass $event event info
|
||||
* @return stdClass $event metadata
|
||||
*/
|
||||
function calendar_add_event_metadata($event) {
|
||||
debugging('This function is no longer used', DEBUG_DEVELOPER);
|
||||
global $CFG, $OUTPUT;
|
||||
|
||||
// Support multilang in event->name.
|
||||
$event->name = format_string($event->name, true);
|
||||
|
||||
if (!empty($event->modulename)) { // Activity event.
|
||||
// The module name is set. I will assume that it has to be displayed, and
|
||||
// also that it is an automatically-generated event. And of course that the
|
||||
// instace id and modulename are set correctly.
|
||||
$instances = get_fast_modinfo($event->courseid)->get_instances_of($event->modulename);
|
||||
if (!array_key_exists($event->instance, $instances)) {
|
||||
return;
|
||||
}
|
||||
$module = $instances[$event->instance];
|
||||
|
||||
$modulename = $module->get_module_type_name(false);
|
||||
if (get_string_manager()->string_exists($event->eventtype, $event->modulename)) {
|
||||
// Will be used as alt text if the event icon.
|
||||
$eventtype = get_string($event->eventtype, $event->modulename);
|
||||
} else {
|
||||
$eventtype = '';
|
||||
}
|
||||
|
||||
$event->icon = '<img src="' . s($module->get_icon_url()) . '" alt="' . s($eventtype) .
|
||||
'" title="' . s($modulename) . '" class="icon" />';
|
||||
$event->referer = html_writer::link($module->url, $event->name);
|
||||
$event->courselink = calendar_get_courselink($module->get_course());
|
||||
$event->cmid = $module->id;
|
||||
} else if ($event->courseid == SITEID) { // Site event.
|
||||
$event->icon = '<img src="' . $OUTPUT->image_url('i/siteevent') . '" alt="' .
|
||||
get_string('siteevent', 'calendar') . '" class="icon" />';
|
||||
$event->cssclass = 'calendar_event_site';
|
||||
} else if ($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) { // Course event.
|
||||
$event->icon = '<img src="' . $OUTPUT->image_url('i/courseevent') . '" alt="' .
|
||||
get_string('courseevent', 'calendar') . '" class="icon" />';
|
||||
$event->courselink = calendar_get_courselink($event->courseid);
|
||||
$event->cssclass = 'calendar_event_course';
|
||||
} else if ($event->groupid) { // Group event.
|
||||
if ($group = calendar_get_group_cached($event->groupid)) {
|
||||
$groupname = format_string($group->name, true, \context_course::instance($group->courseid));
|
||||
} else {
|
||||
$groupname = '';
|
||||
}
|
||||
$event->icon = \html_writer::empty_tag('image', array('src' => $OUTPUT->image_url('i/groupevent'),
|
||||
'alt' => get_string('groupevent', 'calendar'), 'title' => $groupname, 'class' => 'icon'));
|
||||
$event->courselink = calendar_get_courselink($event->courseid) . ', ' . $groupname;
|
||||
$event->cssclass = 'calendar_event_group';
|
||||
} else if ($event->userid) { // User event.
|
||||
$event->icon = '<img src="' . $OUTPUT->image_url('i/userevent') . '" alt="' .
|
||||
get_string('userevent', 'calendar') . '" class="icon" />';
|
||||
$event->cssclass = 'calendar_event_user';
|
||||
}
|
||||
|
||||
return $event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get calendar events by id.
|
||||
*
|
||||
@@ -1961,106 +1867,6 @@ function calendar_sub_month($month, $year) {
|
||||
return $calendartype->get_prev_month($year, $month);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get per-day basis events
|
||||
*
|
||||
* @param array $events list of events
|
||||
* @param int $month the number of the month
|
||||
* @param int $year the number of the year
|
||||
* @param array $eventsbyday event on specific day
|
||||
* @param array $durationbyday duration of the event in days
|
||||
* @param array $typesbyday event type (eg: site, course, user, or group)
|
||||
* @param array $courses list of courses
|
||||
* @return void
|
||||
*/
|
||||
function calendar_events_by_day($events, $month, $year, &$eventsbyday, &$durationbyday, &$typesbyday, &$courses) {
|
||||
$calendartype = \core_calendar\type_factory::get_calendar_instance();
|
||||
|
||||
$eventsbyday = array();
|
||||
$typesbyday = array();
|
||||
$durationbyday = array();
|
||||
|
||||
if ($events === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($events as $event) {
|
||||
$startdate = $calendartype->timestamp_to_date_array($event->timestart);
|
||||
if ($event->timeduration) {
|
||||
$enddate = $calendartype->timestamp_to_date_array($event->timestart + $event->timeduration - 1);
|
||||
} else {
|
||||
$enddate = $startdate;
|
||||
}
|
||||
|
||||
// Simple arithmetic: $year * 13 + $month is a distinct integer for each distinct ($year, $month) pair.
|
||||
if (!($startdate['year'] * 13 + $startdate['mon'] <= $year * 13 + $month) &&
|
||||
($enddate['year'] * 13 + $enddate['mon'] >= $year * 13 + $month)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$eventdaystart = intval($startdate['mday']);
|
||||
|
||||
if ($startdate['mon'] == $month && $startdate['year'] == $year) {
|
||||
// Give the event to its day.
|
||||
$eventsbyday[$eventdaystart][] = $event->id;
|
||||
|
||||
// Mark the day as having such an event.
|
||||
if ($event->courseid == SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$eventdaystart]['startsite'] = true;
|
||||
// Set event class for site event.
|
||||
$events[$event->id]->class = 'calendar_event_site';
|
||||
} else if ($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$eventdaystart]['startcourse'] = true;
|
||||
// Set event class for course event.
|
||||
$events[$event->id]->class = 'calendar_event_course';
|
||||
} else if ($event->groupid) {
|
||||
$typesbyday[$eventdaystart]['startgroup'] = true;
|
||||
// Set event class for group event.
|
||||
$events[$event->id]->class = 'calendar_event_group';
|
||||
} else if ($event->userid) {
|
||||
$typesbyday[$eventdaystart]['startuser'] = true;
|
||||
// Set event class for user event.
|
||||
$events[$event->id]->class = 'calendar_event_user';
|
||||
}
|
||||
}
|
||||
|
||||
if ($event->timeduration == 0) {
|
||||
// Proceed with the next.
|
||||
continue;
|
||||
}
|
||||
|
||||
// The event starts on $month $year or before.
|
||||
if ($startdate['mon'] == $month && $startdate['year'] == $year) {
|
||||
$lowerbound = intval($startdate['mday']);
|
||||
} else {
|
||||
$lowerbound = 0;
|
||||
}
|
||||
|
||||
// Also, it ends on $month $year or later.
|
||||
if ($enddate['mon'] == $month && $enddate['year'] == $year) {
|
||||
$upperbound = intval($enddate['mday']);
|
||||
} else {
|
||||
$upperbound = calendar_days_in_month($month, $year);
|
||||
}
|
||||
|
||||
// Mark all days between $lowerbound and $upperbound (inclusive) as duration.
|
||||
for ($i = $lowerbound + 1; $i <= $upperbound; ++$i) {
|
||||
$durationbyday[$i][] = $event->id;
|
||||
if ($event->courseid == SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$i]['durationsite'] = true;
|
||||
} else if ($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
|
||||
$typesbyday[$i]['durationcourse'] = true;
|
||||
} else if ($event->groupid) {
|
||||
$typesbyday[$i]['durationgroup'] = true;
|
||||
} else if ($event->userid) {
|
||||
$typesbyday[$i]['durationuser'] = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the courses to load events for.
|
||||
*
|
||||
|
||||
+9
-105
@@ -84,112 +84,16 @@ class core_calendar_renderer extends plugin_renderer_base {
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays an event
|
||||
*
|
||||
* @deprecated since 3.9
|
||||
*
|
||||
* @param calendar_event $event
|
||||
* @param bool $showactions
|
||||
* @return string
|
||||
* @deprecated 3.9
|
||||
*/
|
||||
public function event(calendar_event $event, $showactions=true) {
|
||||
global $CFG;
|
||||
debugging('This function is no longer used', DEBUG_DEVELOPER);
|
||||
|
||||
$event = calendar_add_event_metadata($event);
|
||||
$context = $event->context;
|
||||
$output = '';
|
||||
|
||||
$output .= $this->output->box_start('card-header clearfix');
|
||||
if (calendar_edit_event_allowed($event) && $showactions) {
|
||||
if (calendar_delete_event_allowed($event)) {
|
||||
$editlink = new moodle_url(CALENDAR_URL.'event.php', array('action' => 'edit', 'id' => $event->id));
|
||||
$deletelink = new moodle_url(CALENDAR_URL.'delete.php', array('id' => $event->id));
|
||||
if (!empty($event->calendarcourseid)) {
|
||||
$editlink->param('course', $event->calendarcourseid);
|
||||
$deletelink->param('course', $event->calendarcourseid);
|
||||
}
|
||||
} else {
|
||||
$params = array('update' => $event->cmid, 'return' => true, 'sesskey' => sesskey());
|
||||
$editlink = new moodle_url('/course/mod.php', $params);
|
||||
$deletelink = null;
|
||||
}
|
||||
|
||||
$commands = html_writer::start_tag('div', array('class' => 'commands float-sm-end'));
|
||||
$commands .= html_writer::start_tag('a', array('href' => $editlink));
|
||||
$str = get_string('tt_editevent', 'calendar');
|
||||
$commands .= $this->output->pix_icon('t/edit', $str);
|
||||
$commands .= html_writer::end_tag('a');
|
||||
if ($deletelink != null) {
|
||||
$commands .= html_writer::start_tag('a', array('href' => $deletelink));
|
||||
$str = get_string('tt_deleteevent', 'calendar');
|
||||
$commands .= $this->output->pix_icon('t/delete', $str);
|
||||
$commands .= html_writer::end_tag('a');
|
||||
}
|
||||
$commands .= html_writer::end_tag('div');
|
||||
$output .= $commands;
|
||||
}
|
||||
if (!empty($event->icon)) {
|
||||
$output .= $event->icon;
|
||||
} else {
|
||||
$output .= $this->output->spacer(array('height' => 16, 'width' => 16));
|
||||
}
|
||||
|
||||
if (!empty($event->referer)) {
|
||||
$output .= $this->output->heading($event->referer, 3, array('class' => 'referer'));
|
||||
} else {
|
||||
$output .= $this->output->heading(
|
||||
format_string($event->name, false, array('context' => $context)),
|
||||
3,
|
||||
array('class' => 'name d-inline-block')
|
||||
);
|
||||
}
|
||||
// Show subscription source if needed.
|
||||
if (!empty($event->subscription) && $CFG->calendar_showicalsource) {
|
||||
if (!empty($event->subscription->url)) {
|
||||
$source = html_writer::link($event->subscription->url,
|
||||
get_string('subscriptionsource', 'calendar', $event->subscription->name));
|
||||
} else {
|
||||
// File based ical.
|
||||
$source = get_string('subscriptionsource', 'calendar', $event->subscription->name);
|
||||
}
|
||||
$output .= html_writer::tag('div', $source, array('class' => 'subscription'));
|
||||
}
|
||||
if (!empty($event->courselink)) {
|
||||
$output .= html_writer::tag('div', $event->courselink);
|
||||
}
|
||||
if (!empty($event->time)) {
|
||||
$output .= html_writer::tag('span', $event->time, array('class' => 'date float-sm-end me-1'));
|
||||
} else {
|
||||
$humantime = \core_calendar\output\humandate::create_from_timestamp(
|
||||
timestamp: $event->timestart,
|
||||
near: null,
|
||||
timeonly: true,
|
||||
);
|
||||
$output .= html_writer::tag('span', $this->output->render($humantime));
|
||||
}
|
||||
|
||||
if (!empty($event->actionurl)) {
|
||||
$actionlink = html_writer::link(new moodle_url($event->actionurl), $event->actionname);
|
||||
$output .= html_writer::tag('div', $actionlink, ['class' => 'action']);
|
||||
}
|
||||
|
||||
$output .= $this->output->box_end();
|
||||
$eventdetailshtml = '';
|
||||
$eventdetailsclasses = '';
|
||||
|
||||
$eventdetailshtml .= format_text($event->description, $event->format, array('context' => $context));
|
||||
$eventdetailsclasses .= 'description card-block';
|
||||
if (isset($event->cssclass)) {
|
||||
$eventdetailsclasses .= ' '.$event->cssclass;
|
||||
}
|
||||
|
||||
if (!empty($eventdetailshtml)) {
|
||||
$output .= html_writer::tag('div', $eventdetailshtml, array('class' => $eventdetailsclasses));
|
||||
}
|
||||
|
||||
$eventhtml = html_writer::tag('div', $output, array('class' => 'card'));
|
||||
return html_writer::tag('div', $eventhtml, array('class' => 'event', 'id' => 'event_' . $event->id));
|
||||
#[\core\attribute\deprecated(
|
||||
replacement: 'event no longer used',
|
||||
since: '3.9',
|
||||
mdl: 'MDL-58866',
|
||||
final: true,
|
||||
)]
|
||||
public function event() {
|
||||
\core\deprecation::emit_deprecation_if_present(__FUNCTION__);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -34,7 +34,6 @@ $string['calendarpreferences'] = 'Calendar preferences';
|
||||
$string['calendartypes'] = 'Calendar types';
|
||||
$string['calendarurlcopiedtoclipboard'] = 'Calendar URL copied to clipboard';
|
||||
$string['category'] = 'Category';
|
||||
$string['categoryevent'] = 'Category event';
|
||||
$string['clickhide'] = 'click to hide';
|
||||
$string['clickshow'] = 'click to show';
|
||||
$string['colcalendar'] = 'Calendar';
|
||||
@@ -49,7 +48,6 @@ $string['copycalendarurl'] = 'Copy calendar URL';
|
||||
$string['copyurl'] = 'Copy URL';
|
||||
$string['course'] = 'Course';
|
||||
$string['coursecalendarlink'] = 'Course calendar';
|
||||
$string['courseevent'] = 'Course event';
|
||||
$string['courseevents'] = 'Course events';
|
||||
$string['categoryevents'] = 'Category events';
|
||||
$string['courses'] = 'Courses';
|
||||
@@ -156,7 +154,6 @@ $string['generateurlbutton'] = 'Get calendar URL';
|
||||
$string['gotoactivity'] = 'Go to activity';
|
||||
$string['gotocalendar'] = 'Go to calendar';
|
||||
$string['group'] = 'Group';
|
||||
$string['groupevent'] = 'Group event';
|
||||
$string['groupevents'] = 'Group events';
|
||||
$string['eventtypesite'] = 'site';
|
||||
$string['eventtypecategory'] = 'category';
|
||||
@@ -235,7 +232,6 @@ $string['sat'] = 'Sat';
|
||||
$string['saturday'] = 'Saturday';
|
||||
$string['shown'] = 'shown';
|
||||
$string['site'] = 'Site';
|
||||
$string['siteevent'] = 'Site event';
|
||||
$string['siteevents'] = 'Site events';
|
||||
$string['spanningevents'] = 'Events underway';
|
||||
$string['subscriptions'] = 'Subscriptions';
|
||||
@@ -256,8 +252,6 @@ $string['timeperiod'] = 'Time period';
|
||||
$string['today'] = 'Today';
|
||||
$string['todayplustitle'] = 'Today {$a}';
|
||||
$string['tomorrow'] = 'Tomorrow';
|
||||
$string['tt_deleteevent'] = 'Delete event';
|
||||
$string['tt_editevent'] = 'Edit event';
|
||||
$string['tue'] = 'Tue';
|
||||
$string['tuesday'] = 'Tuesday';
|
||||
$string['typeclose'] = 'Close event';
|
||||
@@ -273,7 +267,6 @@ $string['upcomingevents'] = 'Upcoming events';
|
||||
$string['upcomingeventsfor'] = 'Upcoming events for:';
|
||||
$string['urlforical'] = 'URL for iCalendar export, for subscribing to calendar';
|
||||
$string['user'] = 'User';
|
||||
$string['userevent'] = 'User event';
|
||||
$string['userevents'] = 'User events';
|
||||
$string['viewupcomingactivitiesdue'] = 'View the upcoming activities due';
|
||||
$string['wed'] = 'Wed';
|
||||
@@ -293,3 +286,12 @@ $string['coursecalendar'] = '{$a} calendar';
|
||||
// Deprecated since Moodle 4.5.
|
||||
$string['importcalendarexternal'] = 'Import an external calendar?';
|
||||
$string['nocalendarsubscriptions'] = 'No calendar subscriptions yet. Do you want to {$a}';
|
||||
|
||||
// Deprecated since Moodle 5.0.
|
||||
$string['categoryevent'] = 'Category event';
|
||||
$string['courseevent'] = 'Course event';
|
||||
$string['groupevent'] = 'Group event';
|
||||
$string['siteevent'] = 'Site event';
|
||||
$string['tt_deleteevent'] = 'Delete event';
|
||||
$string['tt_editevent'] = 'Edit event';
|
||||
$string['userevent'] = 'User event';
|
||||
|
||||
@@ -166,3 +166,10 @@ version_help,core_badges
|
||||
atto_h5p,core_h5p
|
||||
atto_h5p_description,core_h5p
|
||||
sqliteextensionisnotpresentinphp,core_install
|
||||
siteevent,core_calendar
|
||||
categoryevent,core_calendar
|
||||
courseevent,core_calendar
|
||||
groupevent,core_calendar
|
||||
tt_deleteevent,core_calendar
|
||||
tt_editevent,core_calendar
|
||||
userevent,core_calendar
|
||||
|
||||
Reference in New Issue
Block a user