X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/enrol/lti/classes/local/ltiadvantage/entity
home
/
cbholdings
/
pasukulu
/
enrol
/
lti
/
classes
/
local
/
ltiadvantage
/
entity
/
📁
..
📄
ags_info.php
(6.73 KB)
📄
application_registration.php
(12.2 KB)
📄
context.php
(6.91 KB)
📄
deployment.php
(6.89 KB)
📄
migration_claim.php
(7.95 KB)
📄
nrps_info.php
(4.78 KB)
📄
resource_link.php
(9.14 KB)
📄
user.php
(15.17 KB)
Editing: nrps_info.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/>. namespace enrol_lti\local\ltiadvantage\entity; /** * Class nrps_info, instances of which represent a names and roles provisioning service for a resource. * * For information about Names and Role Provisioning Services 2.0, see http://www.imsglobal.org/spec/lti-nrps/v2p0. * * @package enrol_lti * @copyright 2021 Jake Dallimore <jrhdallimore@gmail.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class nrps_info { /** @var \moodle_url the memberships URL for the service. */ private $contextmembershipsurl; /** @var float[] the array of supported service versions. */ private $serviceversions; // Service versions are specified by the platform during launch. // See http://www.imsglobal.org/spec/lti-nrps/v2p0#lti-1-3-integration. /** @var string version 1.0 */ private const SERVICE_VERSION_1 = '1.0'; /** @var string version 2.0 */ private const SERVICE_VERSION_2 = '2.0'; // Scope that must be requested as part of making a service call. // See: http://www.imsglobal.org/spec/lti-nrps/v2p0#lti-1-3-integration. /** @var string the scope to request to make service calls. */ private $servicescope = 'https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly'; /** * The private nrps_info constructor. * * @param \moodle_url $contextmembershipsurl the memberships URL. * @param string[] $serviceversions the supported service versions. */ private function __construct(\moodle_url $contextmembershipsurl, array $serviceversions = [self::SERVICE_VERSION_2]) { $this->contextmembershipsurl = $contextmembershipsurl; $this->set_service_versions($serviceversions); } /** * Factory method to create a new nrps_info instance. * * @param \moodle_url $contextmembershipsurl the memberships URL. * @param string[] $serviceversions the supported service versions. * @return nrps_info the object instance. */ public static function create(\moodle_url $contextmembershipsurl, array $serviceversions = [self::SERVICE_VERSION_2]): nrps_info { return new self($contextmembershipsurl, $serviceversions); } /** * Check whether the supplied service version is valid or not. * * @param string $serviceversion the service version to check. * @return bool true if valid, false otherwise. */ private function is_valid_service_version(string $serviceversion): bool { $validversions = [ self::SERVICE_VERSION_1, self::SERVICE_VERSION_2 ]; return in_array($serviceversion, $validversions); } /** * Tries to set the supported service versions for this instance. * * @param array $serviceversions the service versions to set. * @throws \coding_exception if any of the supplied versions are not valid. */ private function set_service_versions(array $serviceversions): void { if (empty($serviceversions)) { throw new \coding_exception('Service versions array cannot be empty'); } $serviceversions = array_unique($serviceversions); foreach ($serviceversions as $serviceversion) { if (!$this->is_valid_service_version($serviceversion)) { throw new \coding_exception("Invalid Names and Roles service version '{$serviceversion}'"); } } $this->serviceversions = $serviceversions; } /** * Get the service URL for this grade service instance. * * @return \moodle_url the service URL. */ public function get_context_memberships_url(): \moodle_url { return $this->contextmembershipsurl; } /** * Get the supported service versions for this grade service instance. * * @return string[] the array of supported service versions. */ public function get_service_versions(): array { return $this->serviceversions; } /** * Get the nrps service scope. * * @return string the service scope. */ public function get_service_scope(): string { return $this->servicescope; } }
Upload File
Create Folder