Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
cesa.co.za /
sipdm.cesa.co.za /
badges /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
awardlib.php
9.26
KB
-rw-r--r--
2017-06-22 16:08
backpacklib.php
3.86
KB
-rw-r--r--
2017-06-22 16:08
bakerlib.php
4.92
KB
-rw-r--r--
2017-06-22 16:08
Save
Rename
<?php // This file is part of Moodle - http://moodle.org/ // // 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/>. /** * External backpack library. * * @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 <yuliya.bozhko@totaralms.com> */ defined('MOODLE_INTERNAL') || die(); global $CFG; require_once($CFG->libdir . '/filelib.php'); // Adopted from https://github.com/jbkc85/openbadges-class-php. // Author Jason Cameron <jbkc85@gmail.com>. class OpenBadgesBackpackHandler { private $backpack; private $email; private $backpackuid = 0; public function __construct($record) { $this->backpack = $record->backpackurl; $this->email = $record->email; $this->backpackuid = isset($record->backpackuid) ? $record->backpackuid : 0; } public function curl_request($action, $collection = null) { $curl = new curl(); switch($action) { case 'user': $url = $this->backpack . "/displayer/convert/email"; $param = array('email' => $this->email); break; case 'groups': $url = $this->backpack . '/displayer/' . $this->backpackuid . '/groups.json'; break; case 'badges': $url = $this->backpack . '/displayer/' . $this->backpackuid . '/group/' . $collection . '.json'; break; } $curl->setHeader(array('Accept: application/json', 'Expect:')); $options = array( 'FRESH_CONNECT' => true, 'RETURNTRANSFER' => true, 'FORBID_REUSE' => true, 'HEADER' => 0, 'CONNECTTIMEOUT' => 3, // Follow redirects with the same type of request when sent 301, or 302 redirects. 'CURLOPT_POSTREDIR' => 3 ); if ($action == 'user') { $out = $curl->post($url, $param, $options); } else { $out = $curl->get($url, array(), $options); } return json_decode($out); } private function check_status($status) { switch($status) { case "missing": $response = array( 'status' => $status, 'message' => get_string('error:nosuchuser', 'badges') ); return $response; } } public function get_collections() { $json = $this->curl_request('user', $this->email); if (isset($json->status)) { if ($json->status != 'okay') { return $this->check_status($json->status); } else { $this->backpackuid = $json->userId; return $this->curl_request('groups'); } } } public function get_badges($collection) { $json = $this->curl_request('user', $this->email); if (isset($json->status)) { if ($json->status != 'okay') { return $this->check_status($json->status); } else { return $this->curl_request('badges', $collection); } } } public function get_url() { return $this->backpack; } }