예제 #1
0
function show_badges()
{
    $badges = get_badges(get_post_author_id());
    // Print array of badges
    foreach ($badges as $badge) {
        echo $badge;
    }
}
예제 #2
0
function assign_all_badges($is_user, $badge_levels, $badge_level_names, $badge_images, $subprojects_list)
{
    $kind = $is_user ? "user" : "team";
    // get badges for all subprojects including total
    //
    foreach ($subprojects_list as $sp) {
        $badges[$sp["short_name"]] = get_badges($kind, $badge_level_names, $badge_images, $sp);
    }
    $n = 0;
    $maxid = $is_user ? BoincUser::max("id") : BoincTeam::max("id");
    while ($n <= $maxid) {
        $m = $n + 1000;
        if ($is_user) {
            $items = BoincUser::enum_fields("id, total_credit", "id>={$n} and id<{$m} and total_credit>0");
        } else {
            $items = BoincTeam::enum_fields("id, total_credit", "id>={$n} and id<{$m} and total_credit>0");
        }
        // for every user/team
        //
        foreach ($items as $item) {
            // for every subproject (incl. total)
            //
            foreach ($subprojects_list as $sp) {
                if ($sp["short_name"] == "total") {
                    assign_tot_badge($is_user, $item, $badge_levels, $badges["total"]);
                } else {
                    // appids come from project/project.inc
                    $where_clause = "appid in (" . implode(',', $sp["appids"]) . ")";
                    assign_sub_badge($is_user, $item, $badge_levels, $badges[$sp["short_name"]], $where_clause);
                }
            }
        }
        $n = $m;
    }
}
예제 #3
0
namespace hypeJunction\GameMechanics;

$dependencies = elgg_extract('value', $vars);
if (!is_array($dependencies)) {
    $dependencies = array();
}
$value = array();
foreach ($dependencies as $dependency) {
    if (elgg_instanceof($dependency)) {
        $value[] = $dependency->guid;
    } else {
        if (is_numeric($dependency)) {
            $value[] = (int) $dependency;
        }
    }
}
$badges = get_badges();
$entity = elgg_extract('entity', $vars);
if ($badges) {
    echo '<ul class"elgg-input-checkboxes">';
    foreach ($badges as $badge) {
        if ($badge->guid == $entity->guid) {
            continue;
        }
        $icon = elgg_view('output/img', array('src' => $badge->getIconURL('small')));
        echo '<li>';
        echo '<label>' . elgg_view('input/checkbox', array('name' => 'dependencies[]', 'value' => $badge->guid, 'checked' => in_array($badge->guid, $value))) . $icon . $badge->title . '</label>';
        echo '</li>';
    }
    echo '</ul>';
}
예제 #4
0
/**
 * Get badges of a given type
 * 
 * @param string $type
 * @param array $options
 * @param string $getter
 * @return array|false
 */
function get_badges_by_type($type = '', $options = array(), $getter = 'elgg_get_entities_from_metadata')
{
    $options['metadata_name_value_pairs'] = array('name' => 'badge_type', 'value' => $type);
    return get_badges($options, $getter);
}
예제 #5
0
function display_user_and_availbale_badges($userid, $courseid)
{
    global $CFG, $USER;
    require_once $CFG->dirroot . '/badges/renderer.php';
    $coursebadges = get_badges($courseid, null, null, null);
    $userbadges = badges_get_user_badges($userid, $courseid, null, null, null, true);
    foreach ($userbadges as $ub) {
        $coursebadges[$ub->id]->highlight = true;
        $coursebadges[$ub->id]->uniquehash = $ub->uniquehash;
    }
    print_badges($coursebadges, false, true, true);
}