MDL-73325 core_badges: Add tags field to BadgeClass

This commit is contained in:
Damian Hippisley
2023-06-09 13:41:07 +01:00
parent 71c36d2de1
commit faa41cd791
17 changed files with 205 additions and 28 deletions
+17
View File
@@ -161,6 +161,10 @@ class core_badges_assertion {
if (!empty($this->_data->dateexpire)) {
$assertion['expires'] = $this->_data->dateexpire;
}
$tags = $this->get_tags();
if (is_array($tags) && count($tags) > 0) {
$assertion['tags'] = $tags;
}
$this->embed_data_badge_version2($assertion, OPEN_BADGES_V2_TYPE_ASSERTION);
}
return $assertion;
@@ -205,6 +209,10 @@ class core_badges_assertion {
$issuerurl = new moodle_url('/badges/issuer_json.php', $params);
$class['issuer'] = $issuerurl->out(false);
}
$tags = $this->get_tags();
if (is_array($tags) && count($tags) > 0) {
$class['tags'] = $tags;
}
$this->embed_data_badge_version2($class, OPEN_BADGES_V2_TYPE_BADGE);
if (!$issued) {
unset($class['issuer']);
@@ -404,4 +412,13 @@ class core_badges_assertion {
}
}
}
/**
* Get tags of the badge.
*
* @return array tags.
*/
public function get_tags(): array {
return array_values(\core_tag_tag::get_item_tags_array('core_badges', 'badge', $this->get_badge_id()));
}
}