Differences Between: [Versions 310 and 402] [Versions 311 and 402] [Versions 39 and 402]
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 * Library functions for timeline 19 * 20 * @package block_timeline 21 * @copyright 2018 Peter Dias 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 defined('MOODLE_INTERNAL') || die(); 25 26 /** 27 * Define constants to store the SORT user preference 28 */ 29 define('BLOCK_TIMELINE_SORT_BY_DATES', 'sortbydates'); 30 define('BLOCK_TIMELINE_SORT_BY_COURSES', 'sortbycourses'); 31 32 /** 33 * Define constants to store the FILTER user preference 34 */ 35 define('BLOCK_TIMELINE_FILTER_BY_NONE', 'all'); 36 define('BLOCK_TIMELINE_FILTER_BY_OVERDUE', 'overdue'); 37 define('BLOCK_TIMELINE_FILTER_BY_7_DAYS', 'next7days'); 38 define('BLOCK_TIMELINE_FILTER_BY_30_DAYS', 'next30days'); 39 define('BLOCK_TIMELINE_FILTER_BY_3_MONTHS', 'next3months'); 40 define('BLOCK_TIMELINE_FILTER_BY_6_MONTHS', 'next6months'); 41 define('BLOCK_TIMELINE_ACTIVITIES_LIMIT_DEFAULT', 5); 42 43 /** 44 * Returns the name of the user preferences as well as the details this plugin uses. 45 * 46 * @uses core_user::is_current_user 47 * 48 * @return array[] 49 */ 50 function block_timeline_user_preferences(): array { 51 $preferences['block_timeline_user_sort_preference'] = array( 52 'null' => NULL_NOT_ALLOWED, 53 'default' => BLOCK_TIMELINE_SORT_BY_DATES, 54 'type' => PARAM_ALPHA, 55 'choices' => array(BLOCK_TIMELINE_SORT_BY_DATES, BLOCK_TIMELINE_SORT_BY_COURSES), 56 'permissioncallback' => [core_user::class, 'is_current_user'], 57 ); 58 59 $preferences['block_timeline_user_filter_preference'] = array( 60 'null' => NULL_NOT_ALLOWED, 61 'default' => BLOCK_TIMELINE_FILTER_BY_30_DAYS, 62 'type' => PARAM_ALPHANUM, 63 'choices' => array( 64 BLOCK_TIMELINE_FILTER_BY_NONE, 65 BLOCK_TIMELINE_FILTER_BY_OVERDUE, 66 BLOCK_TIMELINE_FILTER_BY_7_DAYS, 67 BLOCK_TIMELINE_FILTER_BY_30_DAYS, 68 BLOCK_TIMELINE_FILTER_BY_3_MONTHS, 69 BLOCK_TIMELINE_FILTER_BY_6_MONTHS 70 ), 71 'permissioncallback' => [core_user::class, 'is_current_user'], 72 ); 73 74 $preferences['block_timeline_user_limit_preference'] = array( 75 'null' => NULL_NOT_ALLOWED, 76 'default' => BLOCK_TIMELINE_ACTIVITIES_LIMIT_DEFAULT, 77 'type' => PARAM_INT, 78 'permissioncallback' => [core_user::class, 'is_current_user'], 79 ); 80 81 return $preferences; 82 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body