Skip to content

Commit 08a0e1e

Browse files
committed
MDL-83905 core_badges: Replace manual JSON with exporters
1 parent c67762d commit 08a0e1e

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

badges/classes/assertion.php

+24-5
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
require_once($CFG->libdir . '/badgeslib.php');
2929
require_once($CFG->dirroot . '/badges/renderer.php');
3030

31+
use core_badges\local\backpack\ob\exporter_base;
32+
3133
/**
3234
* Class that represents badge assertion.
3335
*
@@ -116,6 +118,13 @@ public function get_assertion_hash() {
116118
* @return array Badge assertion.
117119
*/
118120
public function get_badge_assertion($issued = true, $usesalt = true) {
121+
$assertionexporter = exporter_base::create_assertion_exporter_from_hash(
122+
$this->_data->uniquehash,
123+
exporter_base::convert_apiversion(OPEN_BADGES_V2),
124+
);
125+
return $assertionexporter->export();
126+
127+
/*
119128
global $CFG;
120129
$assertion = array();
121130
if ($this->_data) {
@@ -163,6 +172,7 @@ public function get_badge_assertion($issued = true, $usesalt = true) {
163172
$this->embed_data_badge_version2($assertion, OPEN_BADGES_V2_TYPE_ASSERTION);
164173
}
165174
return $assertion;
175+
*/
166176
}
167177

168178
/**
@@ -172,6 +182,14 @@ public function get_badge_assertion($issued = true, $usesalt = true) {
172182
* @return array Badge Class information.
173183
*/
174184
public function get_badge_class($issued = true) {
185+
// TODO: Should the image be added with the data:image/png;base64, prefix?
186+
$badgeexporter = exporter_base::create_badge_exporter_from_id(
187+
$this->get_badge_id(),
188+
exporter_base::convert_apiversion(OPEN_BADGES_V2),
189+
);
190+
return $badgeexporter->export();
191+
/*
192+
// TODO: This badge contains less information, for instance, version or language are not present).
175193
$class = [];
176194
if ($this->_data) {
177195
if (empty($this->_data->courseid)) {
@@ -214,6 +232,7 @@ public function get_badge_class($issued = true) {
214232
}
215233
}
216234
return $class;
235+
*/
217236
}
218237

219238
/**
@@ -222,11 +241,11 @@ public function get_badge_class($issued = true) {
222241
* @return array Issuer information.
223242
*/
224243
public function get_issuer() {
225-
$badge = new badge($this->get_badge_id());
226-
$issuer = $badge->get_badge_issuer();
227-
228-
$this->embed_data_badge_version2($issuer, OPEN_BADGES_V2_TYPE_ISSUER);
229-
return $issuer;
244+
$issuerexporter = exporter_base::create_issuer_exporter_from_id(
245+
$this->get_badge_id(),
246+
exporter_base::convert_apiversion(OPEN_BADGES_V2),
247+
);
248+
return $issuerexporter->export();
230249
}
231250

232251
/**

0 commit comments

Comments
 (0)