X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/mod/quiz/accessrule/seb/classes
home
/
cbholdings
/
pasukulu
/
mod
/
quiz
/
accessrule
/
seb
/
classes
/
📁
..
📄
config_key.php
(2.83 KB)
📁
event
📁
external
📄
helper.php
(4.34 KB)
📄
hideif_rule.php
(2.96 KB)
📄
link_generator.php
(2.1 KB)
📁
local
📁
privacy
📄
property_list.php
(16.13 KB)
📄
seb_access_manager.php
(12.64 KB)
📄
seb_quiz_settings.php
(22.11 KB)
📄
settings_provider.php
(42.04 KB)
📄
template.php
(3.84 KB)
📄
template_controller.php
(10.05 KB)
Editing: config_key.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/>. /** * Class for generating and representing a Safe Exam Browser config key. * * @package quizaccess_seb * @author Andrew Madden <andrewmadden@catalyst-au.net> * @copyright 2019 Catalyst IT * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace quizaccess_seb; defined('MOODLE_INTERNAL') || die(); /** * Class for generating and representing a Safe Exam Browser config key. * * @copyright 2020 Catalyst IT * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class config_key { /** @var string $hash The Config Key hash. */ private $hash; /** * The config_key constructor. * * @param string $hash The Config Key hash. */ public function __construct(string $hash) { $this->hash = $hash; } /** * Generate the Config Key hash from an SEB Config XML string. * * See https://safeexambrowser.org/developer/seb-config-key.html for more information about the process. * * @param string $xml A PList XML string, representing SEB config. * @return config_key This config key instance. */ public static function generate(string $xml) : config_key { if (!empty($xml) && !helper::is_valid_seb_config($xml)) { throw new \invalid_parameter_exception('Invalid a PList XML string, representing SEB config'); } $plist = new property_list($xml); // Remove the key "originatorVersion" first. This key is exempted from the SEB-JSON hash (it's a special key // which doesn't have any functionality, it's just meta data indicating which SEB version saved the config file). $plist->delete_element('originatorVersion'); // Convert the plist XML of a decrypted/unencrypted SEB config file to a ordered JSON-like "SEB-JSON" object. $hash = $plist->to_json(); // Hash the JSON with SHA256. Defaults to required Base16 encoding. $hash = hash('SHA256', $hash); return new self($hash); } /** * Get the Config Key hash. * * @return string The Config Key hash */ public function get_hash() : string { return $this->hash; } }
Upload File
Create Folder