Merge branch 'MDL-80339-main' of https://github.com/andelacruz/moodle
[moodle.git] / badges / image_author_json.php
blob50438dcdc17140d6117ab78d2a04ccd80d61bc8a
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
16 /**
17 * Serve profile image author JSON for assertion.
19 * @package core
20 * @subpackage badges
21 * @copyright 2018 Tung Thai
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 * @author Tung Thai <Tung.ThaiDuc@nashtechglobal.com>
26 define('AJAX_SCRIPT', true);
27 define('NO_MOODLE_COOKIES', true); // No need for a session here.
28 require_once(__DIR__ . '/../config.php');
29 require_once($CFG->libdir . '/badgeslib.php');
31 if (empty($CFG->enablebadges)) {
32 throw new \moodle_exception('badgesdisabled', 'badges');
35 $id = required_param('id', PARAM_INT); // Unique hash of badge assertion.
36 $badge = new badge($id);
38 $json = array();
39 $authorimage = new moodle_url('/badges/image_author_json.php', array('id' => $badge->id));
40 $json['id'] = $authorimage->out(false);
41 $json['type'] = OPEN_BADGES_V2_TYPE_AUTHOR;
42 if (!empty($badge->imageauthorname)) {
43 $json['name'] = $badge->imageauthorname;
45 if (!empty($badge->imageauthoremail)) {
46 $json['email'] = $badge->imageauthoremail;
48 if (!empty($badge->imageauthorurl)) {
49 $json['url'] = $badge->imageauthorurl;
51 echo $OUTPUT->header();
52 echo json_encode($json);