// // 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/>. /** * Serve assertion JSON by unique hash of issued badge * * @package core * @subpackage badges * @copyright 2012 onwards Totara Learning Solutions Ltd {@link http://www.totaralms.com/} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @author Yuliya Bozhko <*****@*****.**> */ require_once dirname(dirname(__FILE__)) . '/config.php'; require_once $CFG->libdir . '/badgeslib.php'; if (empty($CFG->enablebadges)) { print_error('badgesdisabled', 'badges'); } $hash = required_param('b', PARAM_ALPHANUM); $badge = badges_get_issued_badge_info($hash); header('Content-type: application/json; charset=utf-8'); echo json_encode($badge);
/** * Initializes the badge to display * * @param string $hash Issued badge hash */ public function __construct($hash) { global $DB; $this->issued = badges_get_issued_badge_info($hash); $this->hash = $hash; $rec = $DB->get_record_sql('SELECT userid, visible, badgeid FROM {badge_issued} WHERE ' . $DB->sql_compare_text('uniquehash', 40) . ' = ' . $DB->sql_compare_text(':hash', 40), array('hash' => $hash), IGNORE_MISSING); if ($rec) { $this->recipient = $rec->userid; $this->visible = $rec->visible; $this->badgeid = $rec->badgeid; } }
/** * Initializes the badge to display * * @param string $hash Issued badge hash */ public function __construct($hash) { global $DB; $this->issued = badges_get_issued_badge_info($hash); $this->hash = $hash; $rec = $DB->get_record_sql('SELECT userid, visible, badgeid FROM {badge_issued} WHERE ' . $DB->sql_compare_text('uniquehash', 40) . ' = ' . $DB->sql_compare_text(':hash', 40), array('hash' => $hash), IGNORE_MISSING); if ($rec) { // Get a recipient from database. $user = $DB->get_record_sql('SELECT u.id, u.lastname, u.firstname, u.deleted, u.email FROM {user} u WHERE u.id = :userid', array('userid' => $rec->userid)); $this->recipient = $user; $this->visible = $rec->visible; $this->badgeid = $rec->badgeid; } }