moodle-auth_oidc/settings.php

168 строки
6.7 KiB
PHP

<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* @package auth_oidc
* @author James McQuillan <james.mcquillan@remote-learner.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @copyright (C) 2014 onwards Microsoft Open Technologies, Inc. (http://msopentech.com/)
*/
require_once(__DIR__.'/lib.php');
$configkey = get_string('cfg_opname_key', 'auth_oidc');
$configdesc = get_string('cfg_opname_desc', 'auth_oidc');
$configdefault = get_string('pluginname', 'auth_oidc');
$settings->add(new admin_setting_configtext('auth_oidc/opname', $configkey, $configdesc, $configdefault, PARAM_TEXT));
$configkey = get_string('cfg_clientid_key', 'auth_oidc');
$configdesc = get_string('cfg_clientid_desc', 'auth_oidc');
$settings->add(new admin_setting_configtext('auth_oidc/clientid', $configkey, $configdesc, '', PARAM_TEXT));
$configkey = get_string('cfg_clientsecret_key', 'auth_oidc');
$configdesc = get_string('cfg_clientsecret_desc', 'auth_oidc');
$settings->add(new admin_setting_configtext('auth_oidc/clientsecret', $configkey, $configdesc, '', PARAM_TEXT));
$configkey = get_string('cfg_authendpoint_key', 'auth_oidc');
$configdesc = get_string('cfg_authendpoint_desc', 'auth_oidc');
$configdefault = 'https://login.microsoftonline.com/common/oauth2/authorize';
$settings->add(new admin_setting_configtext('auth_oidc/authendpoint', $configkey, $configdesc, $configdefault, PARAM_TEXT));
$configkey = get_string('cfg_tokenendpoint_key', 'auth_oidc');
$configdesc = get_string('cfg_tokenendpoint_desc', 'auth_oidc');
$configdefault = 'https://login.microsoftonline.com/common/oauth2/token';
$settings->add(new admin_setting_configtext('auth_oidc/tokenendpoint', $configkey, $configdesc, $configdefault, PARAM_TEXT));
$configkey = get_string('cfg_oidcresource_key', 'auth_oidc');
$configdesc = get_string('cfg_oidcresource_desc', 'auth_oidc');
$configdefault = 'https://graph.windows.net';
$settings->add(new admin_setting_configtext('auth_oidc/oidcresource', $configkey, $configdesc, $configdefault, PARAM_TEXT));
$configkey = get_string('cfg_redirecturi_key', 'auth_oidc');
$configdesc = get_string('cfg_redirecturi_desc', 'auth_oidc');
$settings->add(new \auth_oidc\form\adminsetting\redirecturi('auth_oidc/redirecturi', $configkey, $configdesc));
$configkey = get_string('cfg_autoappend_key', 'auth_oidc');
$configdesc = get_string('cfg_autoappend_desc', 'auth_oidc');
$configdefault = '';
$settings->add(new admin_setting_configtext('auth_oidc/autoappend', $configkey, $configdesc, $configdefault, PARAM_TEXT));
$configkey = get_string('cfg_domainhint_key', 'auth_oidc');
$configdesc = get_string('cfg_domainhint_desc', 'auth_oidc');
$configdefault = '';
$settings->add(new admin_setting_configtext('auth_oidc/domainhint', $configkey, $configdesc, $configdefault, PARAM_TEXT));
$configkey = get_string('cfg_loginflow_key', 'auth_oidc');
$configdesc = '';
$configdefault = 'authcode';
$settings->add(new \auth_oidc\form\adminsetting\loginflow('auth_oidc/loginflow', $configkey, $configdesc, $configdefault));
$configkey = get_string('cfg_userrestrictions_key', 'auth_oidc');
$configdesc = get_string('cfg_userrestrictions_desc', 'auth_oidc');
$configdefault = '';
$settings->add(new admin_setting_configtextarea('auth_oidc/userrestrictions', $configkey, $configdesc, $configdefault, PARAM_TEXT));
$label = get_string('cfg_debugmode_key', 'auth_oidc');
$desc = get_string('cfg_debugmode_desc', 'auth_oidc');
$settings->add(new \admin_setting_configcheckbox('auth_oidc/debugmode', $label, $desc, '0'));
$configkey = get_string('cfg_icon_key', 'auth_oidc');
$configdesc = get_string('cfg_icon_desc', 'auth_oidc');
$configdefault = 'auth_oidc:o365';
$icons = [
[
'pix' => 'o365',
'alt' => get_string('cfg_iconalt_o365', 'auth_oidc'),
'component' => 'auth_oidc',
],
[
'pix' => 't/locked',
'alt' => get_string('cfg_iconalt_locked', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 't/lock',
'alt' => get_string('cfg_iconalt_lock', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 't/go',
'alt' => get_string('cfg_iconalt_go', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 't/stop',
'alt' => get_string('cfg_iconalt_stop', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 't/user',
'alt' => get_string('cfg_iconalt_user', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 'u/user35',
'alt' => get_string('cfg_iconalt_user2', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 'i/permissions',
'alt' => get_string('cfg_iconalt_key', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 'i/cohort',
'alt' => get_string('cfg_iconalt_group', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 'i/groups',
'alt' => get_string('cfg_iconalt_group2', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 'i/mnethost',
'alt' => get_string('cfg_iconalt_mnet', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 'i/permissionlock',
'alt' => get_string('cfg_iconalt_userlock', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 't/more',
'alt' => get_string('cfg_iconalt_plus', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 't/approve',
'alt' => get_string('cfg_iconalt_check', 'auth_oidc'),
'component' => 'moodle',
],
[
'pix' => 't/right',
'alt' => get_string('cfg_iconalt_rightarrow', 'auth_oidc'),
'component' => 'moodle',
],
];
$settings->add(new \auth_oidc\form\adminsetting\iconselect('auth_oidc/icon', $configkey, $configdesc, $configdefault, $icons));
$configkey = get_string('cfg_customicon_key', 'auth_oidc');
$configdesc = get_string('cfg_customicon_desc', 'auth_oidc');
$setting = new admin_setting_configstoredfile('auth_oidc/customicon', $configkey, $configdesc, 'customicon');
$setting->set_updatedcallback('auth_oidc_initialize_customicon');
$settings->add($setting);