MDL-72956 mod_feedback: remove session access for started activities.

This commit is contained in:
Paul Holden
2025-08-14 11:27:30 +01:00
parent 621c6e1048
commit 2150850f76
3 changed files with 3 additions and 16 deletions
+2 -11
View File
@@ -545,7 +545,7 @@ class mod_feedback_completion extends mod_feedback_structure {
* It is also responsible for sending email notifications when applicable.
*/
public function save_response() {
global $SESSION, $DB, $USER;
global $DB, $USER;
$feedbackcompleted = $this->find_last_completed();
// If no record is found, change false to null for safe use in feedback_save_tmp_values.
@@ -563,8 +563,6 @@ class mod_feedback_completion extends mod_feedback_structure {
feedback_send_email_anonym($this->cm, $this->feedback, $this->cm->get_course());
}
unset($SESSION->feedback->is_started);
// Update completion state.
$completion = new completion_info($this->cm->get_course());
if ((isloggedin() || $USER->id != $this->userid) && $completion->is_enabled($this->cm) &&
@@ -680,7 +678,7 @@ class mod_feedback_completion extends mod_feedback_structure {
* @since Moodle 3.3
*/
public function process_page($gopage, $gopreviouspage = false) {
global $CFG, $PAGE, $SESSION;
global $PAGE;
$urltogo = null;
@@ -696,9 +694,6 @@ class mod_feedback_completion extends mod_feedback_structure {
($this->form->is_validated() || $gopreviouspage)) {
// Form was submitted (skip validation for "Previous page" button).
$data = $this->form->get_submitted_data();
if (!isset($SESSION->feedback->is_started) OR !$SESSION->feedback->is_started == true) {
throw new \moodle_exception('error', '', $CFG->wwwroot.'/course/view.php?id='.$this->courseid);
}
$this->save_response_tmp($data);
if (!empty($data->savevalues) || !empty($data->gonextpage)) {
if (($nextpage = $this->get_next_page($gopage)) !== null) {
@@ -731,10 +726,6 @@ class mod_feedback_completion extends mod_feedback_structure {
* @since Moodle 3.3
*/
public function render_items() {
global $SESSION;
// Print the items.
$SESSION->feedback->is_started = true;
return $this->form->render();
}
}
+1 -3
View File
@@ -729,7 +729,7 @@ class mod_feedback_external extends external_api {
* @since Moodle 3.3
*/
public static function process_page($feedbackid, $page, $responses = [], $goprevious = false, $courseid = 0) {
global $USER, $SESSION;
global $USER;
$params = array('feedbackid' => $feedbackid, 'page' => $page, 'responses' => $responses, 'goprevious' => $goprevious,
'courseid' => $courseid);
@@ -768,8 +768,6 @@ class mod_feedback_external extends external_api {
// Ignore sesskey (deep in some APIs), the request is already validated.
$USER->ignoresesskey = true;
feedback_init_feedback_session();
$SESSION->feedback->is_started = true;
$feedbackcompletion->process_page($params['page'], $params['goprevious']);
$completed = $feedbackcompletion->just_completed();
-2
View File
@@ -25,8 +25,6 @@
require_once("../../config.php");
require_once("lib.php");
feedback_init_feedback_session();
$id = required_param('id', PARAM_INT);
$courseid = optional_param('courseid', null, PARAM_INT);
$gopage = optional_param('gopage', 0, PARAM_INT);