Merge branch 'MDL-70963-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE

This commit is contained in:
Eloy Lafuente (stronk7) 2021-03-29 12:39:49 +02:00
commit d24a83f5e7
4 changed files with 15 additions and 5 deletions

View file

@ -52,7 +52,7 @@ if (!is_null($action)) {
} else { // Revoked badge. } else { // Revoked badge.
header("HTTP/1.0 410 Gone"); header("HTTP/1.0 410 Gone");
$assertion = array(); $assertion = array();
if ($obversion == OPEN_BADGES_V2) { if ($obversion >= OPEN_BADGES_V2) {
$assertionurl = new moodle_url('/badges/assertion.php', array('b' => $hash)); $assertionurl = new moodle_url('/badges/assertion.php', array('b' => $hash));
$assertion['id'] = $assertionurl->out(); $assertion['id'] = $assertionurl->out();
} }

View file

@ -128,7 +128,7 @@ class core_badges_assertion {
$email = empty($this->_data->backpackemail) ? $this->_data->email : $this->_data->backpackemail; $email = empty($this->_data->backpackemail) ? $this->_data->email : $this->_data->backpackemail;
$assertionurl = new moodle_url('/badges/assertion.php', array('b' => $hash, 'obversion' => $this->_obversion)); $assertionurl = new moodle_url('/badges/assertion.php', array('b' => $hash, 'obversion' => $this->_obversion));
if ($this->_obversion == OPEN_BADGES_V2) { if ($this->_obversion >= OPEN_BADGES_V2) {
$classurl = new moodle_url('/badges/badge_json.php', array('id' => $this->get_badge_id())); $classurl = new moodle_url('/badges/badge_json.php', array('id' => $this->get_badge_id()));
} else { } else {
$classurl = new moodle_url('/badges/assertion.php', array('b' => $hash, 'action' => 1)); $classurl = new moodle_url('/badges/assertion.php', array('b' => $hash, 'action' => 1));
@ -325,7 +325,7 @@ class core_badges_assertion {
*/ */
protected function embed_data_badge_version2 (&$json, $type = OPEN_BADGES_V2_TYPE_ASSERTION) { protected function embed_data_badge_version2 (&$json, $type = OPEN_BADGES_V2_TYPE_ASSERTION) {
// Specification Version 2.0. // Specification Version 2.0.
if ($this->_obversion == OPEN_BADGES_V2) { if ($this->_obversion >= OPEN_BADGES_V2) {
$badge = new badge($this->_data->id); $badge = new badge($this->_data->id);
if (empty($this->_data->courseid)) { if (empty($this->_data->courseid)) {
$context = context_system::instance(); $context = context_system::instance();

View file

@ -32,7 +32,7 @@ require_once($CFG->dirroot . '/badges/lib.php');
use core_badges\helper; use core_badges\helper;
class core_badges_badgeslib_testcase extends advanced_testcase { class badgeslib_test extends advanced_testcase {
protected $badgeid; protected $badgeid;
protected $course; protected $course;
protected $user; protected $user;
@ -698,6 +698,16 @@ class core_badges_badgeslib_testcase extends advanced_testcase {
$this->assertStringMatchesFormat($testassertion2->badge, json_encode($assertion2->get_badge_assertion())); $this->assertStringMatchesFormat($testassertion2->badge, json_encode($assertion2->get_badge_assertion()));
$this->assertStringMatchesFormat($testassertion2->class, json_encode($assertion2->get_badge_class())); $this->assertStringMatchesFormat($testassertion2->class, json_encode($assertion2->get_badge_class()));
$this->assertStringMatchesFormat($testassertion2->issuer, json_encode($assertion2->get_issuer())); $this->assertStringMatchesFormat($testassertion2->issuer, json_encode($assertion2->get_issuer()));
// Test Openbadge specification version 2.1. It has the same format as OBv2.0.
// Get assertion version 2.1.
$award = reset($awards);
$assertion2 = new core_badges_assertion($award->uniquehash, OPEN_BADGES_V2P1);
// Make sure JSON strings have the same structure.
$this->assertStringMatchesFormat($testassertion2->badge, json_encode($assertion2->get_badge_assertion()));
$this->assertStringMatchesFormat($testassertion2->class, json_encode($assertion2->get_badge_class()));
$this->assertStringMatchesFormat($testassertion2->issuer, json_encode($assertion2->get_issuer()));
} }
/** /**

View file

@ -31,7 +31,7 @@ require_once($CFG->dirroot . '/badges/tests/badgeslib_test.php');
* @copyright 2015 onwards Simey Lameze <simey@moodle.com> * @copyright 2015 onwards Simey Lameze <simey@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/ */
class core_badges_events_testcase extends core_badges_badgeslib_testcase { class events_test extends badgeslib_test {
/** /**
* Test badge awarded event. * Test badge awarded event.