function mycred_render_my_badges($atts, $content = '') { extract(shortcode_atts(array('show' => 'earned', 'width' => MYCRED_BADGE_WIDTH, 'height' => MYCRED_BADGE_HEIGHT, 'user_id' => ''), $atts)); if (!is_user_logged_in() && $user_id == '') { return $content; } if ($user_id == '') { $user_id = get_current_user_id(); } $users_badges = mycred_get_users_badges($user_id); if ($width != '') { $width = ' width="' . $width . '"'; } if ($height != '') { $height = ' height="' . $height . '"'; } ob_start(); echo '<div id="mycred-users-badges">'; // Show only badges that we have earned if ($show == 'earned') { if (!empty($users_badges)) { foreach ($users_badges as $badge_id => $level) { $level_image = get_post_meta($badge_id, 'level_image' . $level, true); if ($level_image == '') { $level_image = get_post_meta($badge_id, 'main_image', true); } $badge_title = get_the_title($badge_id); echo apply_filters('mycred_my_badge', '<img src="' . $level_image . '"' . $width . $height . ' class="mycred-badge earned" alt="' . esc_attr($badge_title) . '" title="' . esc_attr($badge_title) . '" />', $badge_id, $level, $user_id, $atts); } } } elseif ($show == 'all') { $all_badges = mycred_get_badges(); foreach ($all_badges as $badge) { echo '<div class="the-badge">'; // User has not earned badge if (!array_key_exists($badge->ID, $users_badges)) { if ($badge->default_img != '') { echo '<img src="' . $badge->default_img . '"' . $width . $height . ' class="mycred-badge not-earned" alt="' . $badge->post_title . '" title="' . $badge->post_title . '" />'; } } else { $level_image = get_post_meta($badge->ID, 'level_image' . $users_badges[$badge->ID], true); if ($level_image == '') { $level_image = $badge->main_img; } echo '<img src="' . $badge->main_img . '"' . $width . $height . ' class="mycred-badge earned" alt="' . $badge->post_title . '" title="' . $badge->post_title . '" />'; } echo '</div>'; } } echo '</div>'; $output = ob_get_contents(); ob_end_clean(); return apply_filters('mycred_my_badges', $output, $user_id); }
function mycred_render_my_badges($atts, $content = '') { if (!is_user_logged_in()) { return $content; } $user_id = get_current_user_id(); $users_badges = mycred_get_users_badges($user_id); extract(shortcode_atts(array('show' => 'earned', 'width' => '', 'height' => ''), $atts)); if ($width != '') { $width = ' width="' . $width . '"'; } if ($height != '') { $height = ' height="' . $height . '"'; } ob_start(); echo '<div id="mycred-users-badges">'; // Show only badges that we have earned if ($show == 'earned') { if (!empty($users_badges)) { foreach ($users_badges as $badge_id) { echo '<img src="' . get_post_meta($badge_id, 'main_image', true) . '"' . $width . $height . ' class="mycred-badge earned" alt="' . get_the_title($badge_id) . '" />'; } } } elseif ($show == 'all') { $all_badges = mycred_get_badges(); foreach ($all_badges as $badge) { echo '<div class="the-badge">'; // User has earned badge if (!in_array($badge->ID, $users_badges)) { echo '<img src="' . $badge->default_img . '"' . $width . $height . ' class="mycred-badge not-earned" alt="' . $badge->post_title . '" />'; } else { echo '<img src="' . $badge->main_img . '"' . $width . $height . ' class="mycred-badge earned" alt="' . $badge->post_title . '" />'; } echo '</div>'; } } echo '</div>'; $output = ob_get_contents(); ob_end_clean(); return apply_filters('mycred_my_badges', $output, $user_id); }
function mycred_display_users_badges($user_id = NULL) { if ($user_id === NULL || $user_id == 0) { return; } $users_badges = mycred_get_users_badges($user_id); echo '<div id="mycred-users-badges">'; do_action('mycred_before_users_badges', $user_id, $users_badges); if (!empty($users_badges)) { foreach ($users_badges as $badge_id => $level) { $level_image = get_post_meta($badge_id, 'level_image' . $level, true); if ($level_image == '') { $level_image = get_post_meta($badge_id, 'main_image', true); } $badge = '<img src="' . $level_image . '" class="mycred-badge earned badge-id-' . $badge_id . ' level-' . $level . '" alt="' . get_the_title($badge_id) . '" title="' . get_the_title($badge_id) . '" />'; echo apply_filters('mycred_the_badge', $badge, $badge_id, $level, $user_id); } } do_action('mycred_after_users_badges', $user_id, $users_badges); echo '</div>'; }
function mycred_display_users_badges($user_id = NULL) { if ($user_id === NULL || $user_id == 0) { return; } $users_badges = mycred_get_users_badges($user_id); echo '<div id="mycred-users-badges">'; if (!empty($users_badges)) { foreach ($users_badges as $badge_id) { echo '<img src="' . get_post_meta($badge_id, 'main_image', true) . '" class="mycred-badge earned badge-id-' . $badge_id . '" alt="' . get_the_title($badge_id) . '" title="' . get_the_title($badge_id) . '" />'; } } echo '</div>'; }
/** * User Badges Admin Screen * @version 1.0 */ public function badge_user_screen() { global $mycred_manual_badges; $user_id = absint($_GET['user_id']); $user = get_userdata($user_id); global $bp; $mycred_admin = new myCRED_Admin(); if (is_object($bp) && isset($bp->version) && version_compare($bp->version, '2.0', '>=') && bp_is_active('xprofile')) { $mycred_admin->using_bp = true; } $all_badges = mycred_get_badge_ids(); $users_badges = mycred_get_users_badges($user_id); ?> <div class="wrap" id="edit-badges-page"> <h2><?php _e('User Badges', 'mycred'); ?> </h2> <?php if (isset($_POST['mycred_badge_manual'])) { echo '<div class="updated"><p>Badges successfully updated.</p></div>'; } ?> <form id="your-profile" action="" method="post"> <?php $mycred_admin->user_nav($user, 'badges'); ?> <div class="clear clearfix"></div> <p><?php _e('Here you can view the badges this user has earned and if needed, manually give or take away a badge from a user.', 'mycred'); ?> </p> <div id="badge-wrapper"> <?php if (!empty($all_badges)) { foreach ($all_badges as $badge_id) { $badge_id = absint($badge_id); $earned = $level = 0; $status = '<span class="not-earned">' . __('Not earned', 'mycred') . '</span>'; $image = get_post_meta($badge_id, 'default_image', true); $requirements = mycred_get_badge_requirements($badge_id); if (array_key_exists($badge_id, $users_badges)) { $earned = 1; $status = '<span class="earned">' . __('Earned', 'mycred') . '</span>'; $level = $users_badges[$badge_id]; $image = get_post_meta($badge_id, 'level_image' . $level, true); if ($image == '') { $image = get_post_meta($badge_id, 'main_image', true); } } if ($image != '') { $image = '<img src="' . $image . '" alt="" />'; } else { $image = '<span>' . __('No image', 'mycred') . '</span>'; } $level_select = '<input type="hidden" name="mycred_badge_manual[badges][' . $badge_id . '][level]" value="" />'; if (count($requirements) > 1) { $level_select = '<li><select name="mycred_badge_manual[badges][' . $badge_id . '][level]">'; $level_select .= '<option value=""'; if (!$earned) { $level_select .= ' selected="selected"'; } $level_select .= '>' . __('Select a level', 'mycred') . '</option>'; foreach ($requirements as $l => $needs) { $level_select .= '<option value="' . $l . '"'; if ($earned && $level == $l) { $level_select .= ' selected="selected"'; } $level_select .= '>' . __('Level', 'mycred') . ' ' . ($l + 1) . '</option>'; } $level_select .= '</select></li>'; } ?> <div class="the-badge"> <div class="badge-image-wrap"> <?php echo $image; ?> </div> <h4><?php echo get_the_title($badge_id); ?> </h4> <div class="badge-status"><label><?php _e('Status', 'mycred'); ?> </label><?php echo $status; ?> </div> <div class="badge-actions"> <ul> <li><label><input type="checkbox" name="mycred_badge_manual[badges][<?php echo $badge_id; ?> ][has]" <?php checked($earned, 1); ?> value="1" /> <?php _e('Earned', 'mycred'); ?> </label></li> <?php echo $level_select; ?> </ul> </div> </div> <?php } } ?> <div class="clear clearfix"></div> </div> <input type="hidden" name="mycred_badge_manual[token]" value="<?php echo wp_create_nonce('mycred-adjust-users-badge' . $user_id); ?> " /> <p><input type="submit" class="button button-primary" value="<?php _e('Save Changes', 'mycred'); ?> " /></p> </form> </div> <?php }