MDL-55405 enrol_paypal: Fix set_context() call
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 20 Sep 2016 10:27:35 +0000 (12:27 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 20 Sep 2016 10:27:35 +0000 (12:27 +0200)
Note that setting the page context more than once is not ideal
but as far as system->course switches are allowed, this should
not hurt, while providing more accurate messages than keeping
system context.

enrol/paypal/ipn.php

index ba9ff5f..809cdb7 100644 (file)
@@ -89,8 +89,10 @@ if (! $context = context_course::instance($course->id, IGNORE_MISSING)) {
     die;
 }
 
+// Now that the course/context has been validated, we can set it. Not that it's wonderful
+// to set contexts more than once but system->course switches are accepted.
 // Required for message_send.
-$PAGE->set_context(context_course::instance($context));
+$PAGE->set_context($context);
 
 if (! $plugin_instance = $DB->get_record("enrol", array("id"=>$data->instanceid, "status"=>0))) {
     \enrol_paypal\util::message_paypal_error_to_admin("Not a valid instance id", $data);