See Release Notes
Long Term Support Release
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 * Special setting for auth_shibboleth WAYF. 19 * 20 * @package auth_shibboleth 21 * @copyright 2017 Stephen Bourget 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 defined('MOODLE_INTERNAL') || die(); 26 27 /** 28 * Special setting for auth_shibboleth WAYF. 29 * 30 * @package auth_shibboleth 31 * @copyright 2017 Stephen Bourget 32 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 33 */ 34 class auth_shibboleth_admin_setting_special_idp_configtextarea extends admin_setting_configtextarea { 35 36 /** 37 * Calls parent::__construct with specific arguments. 38 */ 39 public function __construct() { 40 $default = $orgdefault = "urn:mace:organization1:providerID, Example Organization 1 41 https://another.idp-id.com/shibboleth, Other Example Organization, /Shibboleth.sso/DS/SWITCHaai 42 urn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/SWITCHaai"; 43 44 parent::__construct('auth_shibboleth/organization_selection', 45 get_string('auth_shib_idp_list', 'auth_shibboleth'), 46 get_string('auth_shib_idp_list_description', 'auth_shibboleth'), $default, PARAM_RAW, '60', '8'); 47 } 48 49 /** 50 * We need to overwrite the global "alternate login url" setting if wayf is enabled. 51 * 52 * @param string $data Form data. 53 * @return string Empty when no errors. 54 */ 55 public function write_setting($data) { 56 global $CFG; 57 58 $login = get_config('auth_shibboleth', 'alt_login'); 59 if (isset($data) && !empty($data) && isset($login) && $login == 'on') { 60 61 // Need to use the get_idp_list() function here. 62 require_once($CFG->dirroot.'/auth/shibboleth/auth.php'); 63 64 $idplist = get_idp_list($data); 65 if (count($idplist) < 1) { 66 return false; 67 } 68 $data = ''; 69 foreach ($idplist as $idp => $value) { 70 $data .= $idp.', '.$value[0]; 71 if (isset($value[1])) { 72 // Value[1] is optional. 73 $data .= ', '.$value[1] . "\n"; 74 } else { 75 $data .= "\n"; 76 } 77 } 78 } 79 return parent::write_setting($data); 80 } 81 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body