See Release Notes
Long Term Support Release
Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]
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. 13 // 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 /** 18 * Issued badge renderable. 19 * 20 * @package core 21 * @subpackage badges 22 * @copyright 2012 onwards Totara Learning Solutions Ltd {@link http://www.totaralms.com/} 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 * @author Yuliya Bozhko <yuliya.bozhko@totaralms.com> 25 */ 26 27 namespace core_badges\output; 28 29 defined('MOODLE_INTERNAL') || die(); 30 31 require_once($CFG->libdir . '/badgeslib.php'); 32 33 use renderable; 34 35 /** 36 * An issued badges for badge.php page 37 * 38 * @copyright 2012 onwards Totara Learning Solutions Ltd {@link http://www.totaralms.com/} 39 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 40 */ 41 class issued_badge implements renderable { 42 /** @var issued badge */ 43 public $issued; 44 45 /** @var badge recipient */ 46 public $recipient; 47 48 /** @var badge class */ 49 public $badgeclass; 50 51 /** @var badge visibility to others */ 52 public $visible = 0; 53 54 /** @var badge class */ 55 public $badgeid = 0; 56 57 /** @var unique hash identifying the issued badge */ 58 public $hash; 59 60 /** 61 * Initializes the badge to display 62 * 63 * @param string $hash Issued badge hash 64 */ 65 public function __construct($hash) { 66 global $DB; 67 68 $this->hash = $hash; 69 $assertion = new \core_badges_assertion($hash, badges_open_badges_backpack_api()); 70 $this->issued = $assertion->get_badge_assertion(); 71 $this->badgeclass = $assertion->get_badge_class(); 72 73 $rec = $DB->get_record_sql('SELECT userid, visible, badgeid 74 FROM {badge_issued} 75 WHERE ' . $DB->sql_compare_text('uniquehash', 40) . ' = ' . $DB->sql_compare_text(':hash', 40), 76 array('hash' => $hash), IGNORE_MISSING); 77 if ($rec) { 78 // Get a recipient from database. 79 $namefields = get_all_user_name_fields(true, 'u'); 80 $user = $DB->get_record_sql("SELECT u.id, $namefields, u.deleted, u.email 81 FROM {user} u WHERE u.id = :userid", array('userid' => $rec->userid)); 82 $this->recipient = $user; 83 $this->visible = $rec->visible; 84 $this->badgeid = $rec->badgeid; 85 } 86 } 87 } 88
title
Description
Body
title
Description
Body
title
Description
Body
title
Body