Differences Between: [Versions 400 and 402] [Versions 401 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 namespace core_adminpresets\local\setting; 18 19 /** 20 * Select one value from list. 21 * 22 * @package core_adminpresets 23 * @copyright 2021 Pimenko <support@pimenko.com><pimenko.com> 24 * @author Jordan Kesraoui | Sylvain Revenu | Pimenko based on David MonllaĆ³ <david.monllao@urv.cat> code 25 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 26 */ 27 class adminpresets_admin_setting_configselect extends adminpresets_setting { 28 29 /** @var \admin_setting_configselect $settingdata */ 30 protected $settingdata; 31 32 /** 33 * Sets the setting value cleaning it. 34 * 35 * @param mixed $value must be one of the setting choices. 36 * @return bool true if the value one of the setting choices 37 */ 38 protected function set_value($value) { 39 // When we intantiate the class we need the choices. 40 if (empty($this->settingdata->choices) && method_exists($this->settingdata, 'load_choices')) { 41 $this->settingdata->load_choices(); 42 } 43 44 if (!is_null($this->settingdata->choices) and is_array($this->settingdata->choices)) { 45 foreach ($this->settingdata->choices as $key => $choice) { 46 47 if ($key == $value) { 48 $this->value = $value; 49 $this->set_visiblevalue(); 50 return true; 51 } 52 } 53 } 54 $this->value = false; 55 $this->set_visiblevalue(); 56 return false; 57 } 58 59 protected function set_visiblevalue() { 60 // Just to avoid heritage problems. 61 if (empty($this->settingdata->choices[$this->value])) { 62 $this->visiblevalue = ''; 63 } else { 64 $this->visiblevalue = $this->settingdata->choices[$this->value]; 65 } 66 67 } 68 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body