1<?php 2// This file is part of Moodle - http://moodle.org/ 3// 4// Moodle is free software: you can redistribute it and/or modify 5// it under the terms of the GNU General Public License as published by 6// the Free Software Foundation, either version 3 of the License, or 7// (at your option) any later version. 8// 9// Moodle is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12// GNU General Public License for more details. 13// 14// You should have received a copy of the GNU General Public License 15// along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 18/** 19 * Form page for blog preferences 20 * 21 * @package moodlecore 22 * @subpackage blog 23 * @copyright 2009 Nicolas Connault 24 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 25 */ 26 27require_once('../config.php'); 28require_once($CFG->dirroot.'/blog/lib.php'); 29require_once('preferences_form.php'); 30require_once($CFG->dirroot.'/user/editlib.php'); 31 32$courseid = optional_param('courseid', SITEID, PARAM_INT); 33$modid = optional_param('modid', null, PARAM_INT); 34$userid = optional_param('userid', null, PARAM_INT); 35$tagid = optional_param('tagid', null, PARAM_INT); 36$groupid = optional_param('groupid', null, PARAM_INT); 37 38$url = new moodle_url('/blog/preferences.php'); 39if ($courseid !== SITEID) { 40 $url->param('courseid', $courseid); 41} 42if ($modid !== null) { 43 $url->param('modid', $modid); 44} 45if ($userid !== null) { 46 $url->param('userid', $userid); 47} 48if ($tagid !== null) { 49 $url->param('tagid', $tagid); 50} 51if ($groupid !== null) { 52 $url->param('groupid', $groupid); 53} 54 55$PAGE->set_url($url); 56$PAGE->set_pagelayout('admin'); 57 58$sitecontext = context_system::instance(); 59$usercontext = context_user::instance($USER->id); 60$PAGE->set_context($usercontext); 61require_login($courseid); 62 63if (empty($CFG->enableblogs)) { 64 print_error('blogdisable', 'blog'); 65} 66 67if (isguestuser()) { 68 print_error('noguest'); 69} 70 71// The preference is site wide not blog specific. Hence user should have permissions in site level. 72require_capability('moodle/blog:view', $sitecontext); 73 74// If data submitted, then process and store. 75 76$mform = new blog_preferences_form('preferences.php'); 77$mform->set_data(array('pagesize' => get_user_preferences('blogpagesize'))); 78 79if (!$mform->is_cancelled() && $data = $mform->get_data()) { 80 $pagesize = $data->pagesize; 81 82 if ($pagesize < 1) { 83 print_error('invalidpagesize'); 84 } 85 useredit_update_user_preference(['id' => $USER->id, 86 'preference_blogpagesize' => $pagesize]); 87} 88 89if ($mform->is_cancelled()) { 90 redirect($CFG->wwwroot . '/user/preferences.php'); 91} 92 93$site = get_site(); 94 95$strpreferences = get_string('preferences'); 96$strblogs = get_string('blogs', 'blog'); 97 98$title = "$site->shortname: $strblogs : $strpreferences"; 99$PAGE->set_title($title); 100$PAGE->set_heading(fullname($USER)); 101 102echo $OUTPUT->header(); 103 104echo $OUTPUT->heading("$strblogs : $strpreferences", 2); 105 106$mform->display(); 107 108echo $OUTPUT->footer(); 109