From: moodler Date: Mon, 29 Nov 2004 06:22:12 +0000 (+0000) Subject: After agreeing to site policy, you get redirected back to where you X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=957b51989c179ff26dbaa689885834baa2836ddb;p=moodle.git After agreeing to site policy, you get redirected back to where you were going. Also, guests get asked to agree for EVERY SESSION. --- diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 08a5fd5138..6f315a0ad0 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -788,6 +788,7 @@ function require_login($courseid=0, $autologinguest=true) { // Check that the user has agreed to a site policy if there is one if (!empty($CFG->sitepolicy)) { if (!$USER->policyagreed) { + $SESSION->wantsurl = $FULLME; redirect($CFG->wwwroot .'/user/policy.php'); die; } diff --git a/user/policy.php b/user/policy.php index 82feded4e7..4efcfc0cb9 100644 --- a/user/policy.php +++ b/user/policy.php @@ -10,11 +10,20 @@ } if ($agree == 1 and confirm_sesskey()) { // User has agreed - if (!set_field('user', 'policyagreed', 1, 'id', $USER->id)) { - error('Could not save your agreement'); + if ($USER->username != 'guest') { // Don't remember guests + if (!set_field('user', 'policyagreed', 1, 'id', $USER->id)) { + error('Could not save your agreement'); + } } $USER->policyagreed = 1; - redirect($CFG->wwwroot); + + if (!empty($SESSION->wantsurl)) { + $wantsurl = $SESSION->wantsurl; + unset($SESSION->wantsurl); + redirect($wantsurl); + } else { + redirect($CFG->wwwroot.'/'); + } exit; }