See Release Notes
Long Term Support Release
Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401]
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 * Contains the class for the My overview block. 19 * 20 * @package block_myoverview 21 * @copyright Mark Nelson <markn@moodle.com> 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 defined('MOODLE_INTERNAL') || die(); 26 27 /** 28 * My overview block class. 29 * 30 * @package block_myoverview 31 * @copyright Mark Nelson <markn@moodle.com> 32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 33 */ 34 class block_myoverview extends block_base { 35 36 /** 37 * Init. 38 */ 39 public function init() { 40 $this->title = get_string('pluginname', 'block_myoverview'); 41 } 42 43 /** 44 * Returns the contents. 45 * 46 * @return stdClass contents of block 47 */ 48 public function get_content() { 49 if (isset($this->content)) { 50 return $this->content; 51 } 52 $group = get_user_preferences('block_myoverview_user_grouping_preference'); 53 $sort = get_user_preferences('block_myoverview_user_sort_preference'); 54 $view = get_user_preferences('block_myoverview_user_view_preference'); 55 $paging = get_user_preferences('block_myoverview_user_paging_preference'); 56 $customfieldvalue = get_user_preferences('block_myoverview_user_grouping_customfieldvalue_preference'); 57 58 $renderable = new \block_myoverview\output\main($group, $sort, $view, $paging, $customfieldvalue); 59 $renderer = $this->page->get_renderer('block_myoverview'); 60 61 $this->content = new stdClass(); 62 $this->content->text = $renderer->render($renderable); 63 $this->content->footer = ''; 64 65 return $this->content; 66 } 67 68 /** 69 * Locations where block can be displayed. 70 * 71 * @return array 72 */ 73 public function applicable_formats() { 74 return array('my' => true); 75 } 76 77 /** 78 * Allow the block to have a configuration page. 79 * 80 * @return boolean 81 */ 82 public function has_config() { 83 return true; 84 } 85 86 /** 87 * Return the plugin config settings for external functions. 88 * 89 * @return stdClass the configs for both the block instance and plugin 90 * @since Moodle 3.8 91 */ 92 public function get_config_for_external() { 93 // Return all settings for all users since it is safe (no private keys, etc..). 94 $configs = get_config('block_myoverview'); 95 96 // Get the customfield values (if any). 97 if ($configs->displaygroupingcustomfield) { 98 $group = get_user_preferences('block_myoverview_user_grouping_preference'); 99 $sort = get_user_preferences('block_myoverview_user_sort_preference'); 100 $view = get_user_preferences('block_myoverview_user_view_preference'); 101 $paging = get_user_preferences('block_myoverview_user_paging_preference'); 102 $customfieldvalue = get_user_preferences('block_myoverview_user_grouping_customfieldvalue_preference'); 103 104 $renderable = new \block_myoverview\output\main($group, $sort, $view, $paging, $customfieldvalue); 105 $customfieldsexport = $renderable->get_customfield_values_for_export(); 106 if (!empty($customfieldsexport)) { 107 $configs->customfieldsexport = json_encode($customfieldsexport); 108 } 109 } 110 111 return (object) [ 112 'instance' => new stdClass(), 113 'plugin' => $configs, 114 ]; 115 } 116 117 /** 118 * Disable block editing on the my courses page. 119 * 120 * @return boolean 121 */ 122 public function instance_can_be_edited() { 123 if ($this->page->blocks->is_known_region(BLOCK_POS_LEFT) || $this->page->blocks->is_known_region(BLOCK_POS_RIGHT)) { 124 return true; 125 } else { 126 return false; 127 } 128 } 129 130 /** 131 * Hide the block header on the my courses page. 132 * 133 * @return boolean 134 */ 135 public function hide_header() { 136 if ($this->page->blocks->is_known_region(BLOCK_POS_LEFT) || $this->page->blocks->is_known_region(BLOCK_POS_RIGHT)) { 137 return false; 138 } else { 139 return true; 140 } 141 } 142 } 143
title
Description
Body
title
Description
Body
title
Description
Body
title
Body