mirror of
https://github.com/moodle/moodle.git
synced 2025-03-20 07:30:01 +01:00
Merge branch 'MDL-60964-master' of git://github.com/ryanwyllie/moodle
This commit is contained in:
commit
23611c3757
@ -249,10 +249,6 @@ class calendar_event {
|
||||
}
|
||||
|
||||
$this->properties = $data;
|
||||
|
||||
if (empty($data->context)) {
|
||||
$this->properties->context = $this->calculate_context();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -343,6 +339,24 @@ class calendar_event {
|
||||
return $context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the context for this event. The context is calculated
|
||||
* the first time is is requested and then stored in a member
|
||||
* variable to be returned each subsequent time.
|
||||
*
|
||||
* This is a magical getter function that will be called when
|
||||
* ever the context property is accessed, e.g. $event->context.
|
||||
*
|
||||
* @return context
|
||||
*/
|
||||
protected function get_context() {
|
||||
if (!isset($this->properties->context)) {
|
||||
$this->properties->context = $this->calculate_context();
|
||||
}
|
||||
|
||||
return $this->properties->context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of editoroptions for this event.
|
||||
*
|
||||
@ -367,7 +381,7 @@ class calendar_event {
|
||||
// Check if we have already resolved the context for this event.
|
||||
if ($this->editorcontext === null) {
|
||||
// Switch on the event type to decide upon the appropriate context to use for this event.
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
if (!calendar_is_valid_eventtype($this->properties->eventtype)) {
|
||||
return clean_text($this->properties->description, $this->properties->format);
|
||||
}
|
||||
@ -433,7 +447,7 @@ class calendar_event {
|
||||
|
||||
// Prepare event data.
|
||||
$eventargs = array(
|
||||
'context' => $this->properties->context,
|
||||
'context' => $this->get_context(),
|
||||
'objectid' => $this->properties->id,
|
||||
'other' => array(
|
||||
'repeatid' => empty($this->properties->repeatid) ? 0 : $this->properties->repeatid,
|
||||
@ -485,7 +499,7 @@ class calendar_event {
|
||||
// were set when calculate_context() was called from the constructor.
|
||||
if ($usingeditor) {
|
||||
$this->properties->context = $this->calculate_context();
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
}
|
||||
|
||||
$editor = $this->properties->description;
|
||||
@ -512,7 +526,7 @@ class calendar_event {
|
||||
|
||||
// Log the event entry.
|
||||
$eventargs['objectid'] = $this->properties->id;
|
||||
$eventargs['context'] = $this->properties->context;
|
||||
$eventargs['context'] = $this->get_context();
|
||||
$event = \core\event\calendar_event_created::create($eventargs);
|
||||
$event->trigger();
|
||||
|
||||
@ -681,7 +695,7 @@ class calendar_event {
|
||||
|
||||
// Trigger an event for the delete action.
|
||||
$eventargs = array(
|
||||
'context' => $this->properties->context,
|
||||
'context' => $this->get_context(),
|
||||
'objectid' => $this->properties->id,
|
||||
'other' => array(
|
||||
'repeatid' => empty($this->properties->repeatid) ? 0 : $this->properties->repeatid,
|
||||
@ -715,7 +729,7 @@ class calendar_event {
|
||||
|
||||
// If the editor context hasn't already been set then set it now.
|
||||
if ($this->editorcontext === null) {
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
}
|
||||
|
||||
// If the context has been set delete all associated files.
|
||||
@ -774,10 +788,10 @@ class calendar_event {
|
||||
|
||||
if ($properties->eventtype === 'site') {
|
||||
// Site context.
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
} else if ($properties->eventtype === 'user') {
|
||||
// User context.
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
} else if ($properties->eventtype === 'group' || $properties->eventtype === 'course') {
|
||||
// First check the course is valid.
|
||||
$course = $DB->get_record('course', array('id' => $properties->courseid));
|
||||
@ -785,7 +799,7 @@ class calendar_event {
|
||||
print_error('invalidcourse');
|
||||
}
|
||||
// Course context.
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
// We have a course and are within the course context so we had
|
||||
// better use the courses max bytes value.
|
||||
$this->editoroptions['maxbytes'] = $course->maxbytes;
|
||||
@ -793,7 +807,7 @@ class calendar_event {
|
||||
// First check the course is valid.
|
||||
\coursecat::get($properties->categoryid, MUST_EXIST, true);
|
||||
// Course context.
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
// We have a course and are within the course context so we had
|
||||
// better use the courses max bytes value.
|
||||
$this->editoroptions['maxbytes'] = $course->maxbytes;
|
||||
@ -869,7 +883,7 @@ class calendar_event {
|
||||
|
||||
// Prepare event data.
|
||||
$eventargs = array(
|
||||
'context' => $this->properties->context,
|
||||
'context' => $this->get_context(),
|
||||
'objectid' => $this->properties->id,
|
||||
'other' => array(
|
||||
'repeatid' => empty($this->properties->repeatid) ? 0 : $this->properties->repeatid,
|
||||
@ -939,7 +953,7 @@ class calendar_event {
|
||||
|
||||
if ($this->editorcontext === null) {
|
||||
// Switch on the event type to decide upon the appropriate context to use for this event.
|
||||
$this->editorcontext = $this->properties->context;
|
||||
$this->editorcontext = $this->get_context();
|
||||
|
||||
if (!calendar_is_valid_eventtype($this->properties->eventtype)) {
|
||||
// We don't have a context here, do a normal format_text.
|
||||
|
Loading…
x
Reference in New Issue
Block a user