From db837673dfee2e5ea2ef57b455387ff59279b01f Mon Sep 17 00:00:00 2001 From: skodak Date: Tue, 3 Oct 2006 20:41:15 +0000 Subject: [PATCH] MDL-6805 Fix redirects in blog; MDL-6807 fix blog capability checks --- blog/preferences.php | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/blog/preferences.php b/blog/preferences.php index 518da93d90a..1ba76f2d3c3 100755 --- a/blog/preferences.php +++ b/blog/preferences.php @@ -5,43 +5,30 @@ require_once($CFG->dirroot.'/blog/lib.php'); require_login(); - global $USER; if (empty($CFG->bloglevel)) { error('Blogging is disabled!'); } - // detemine where the user is coming from in case we need to send them back there + $sitecontext = get_context_instance(CONTEXT_SYSTEM, SITEID); - if (!$referrer = optional_param('referrer','', PARAM_URL)) { - if (isset($_SERVER['HTTP_REFERER'])) { - $referrer = $_SERVER['HTTP_REFERER']; - } else { - $referrer = $CFG->wwwroot; - } - } - - $context = get_context_instance(CONTEXT_SYSTEM, SITEID); - - // Ensure that the logged in user has the capability to post blog entries. - if (!has_capability('moodle/blog:writepost', $context)) { - error(get_string('nopost', 'blog'), $referrer); - } - $userid = $USER->id; + // Ensure that the logged in user has the capability to view blog entries for now, + // because there is only $pagesize which affects the viewing ;-) + require_capability('moodle/blog:view', $sitecontext); /// If data submitted, then process and store. - if ($post = data_submitted()) { + if (data_submitted()) { $pagesize = optional_param('pagesize', 10, PARAM_INT); if ($pagesize < 1 ) { error ('invalid page size'); } set_user_preference('blogpagesize', $pagesize); - redirect($referrer, get_string('changessaved'), 1); - exit; + // the best guess is IMHO to redirect to blog page, so that user reviews the changed preferences - skodak + redirect($CFG->wwwroot.'/blog/index.php'); } - + $site = get_site(); $pageMeta = '' . "\n";