* @package Achievements
* @subpackage widgets
* @version 2.0
*
* $Id: achievements-widgets.php 824 2010-10-10 08:57:38Z DJPaul $
*/
/**
* Sitewide Leaderboard widget.
*
* @package Achievements
* @since 2.0
* @subpackage widgets
* @uses WP_Widget
*/
class DPA_Sitewide_Leaderboard extends WP_Widget {
/**
* Constructor
*
* @since 2.0
*/
function DPA_Sitewide_Leaderboard() {
$widget_ops = array( 'classname' => 'achievements-sitewide-leaderboard', 'description' => __( 'Sitewide leaderboard', 'dpa' ) );
$this->WP_Widget( 'achievements-sitewide', __( 'Achievements Leaderboard', 'dpa' ), $widget_ops, array( 'id_base' => 'achievements-sitewide' ) );
}
/**
* Outputs the HTML for this widget.
*
* @global object $bp BuddyPress global settings
* @param array $args An array of standard parameters for widgets
* @param array $instance An array of settings for this widget instance
* @since 2.0
*/
function widget( $args, $instance ) {
global $bp;
extract( $args, EXTR_SKIP );
if ( !$high_scorers = dpa_points_get_high_scorers( $instance['limit'] ) )
return;
echo $before_widget;
echo $before_title;
echo apply_filters( 'dpa_widget_title', $instance['title'] );
echo $after_title;
?>
|
|
|
| . |
20, 'item_id' => $high_scorers[$i]->id, 'type' => 'thumb', 'width' => 20 ) ) ?> id ) ?> |
points ?> |
__( 'Achievement Leaderboard', 'dpa' ), 'limit' => 12 ) );
$title = apply_filters( 'dpa_widget_title', $instance['title'] );
$limit = apply_filters( 'dpa_widget_limit', $instance['limit'] );
?>
'achievements-member-achievements', 'description' => __( "A photo grid of a member's unlocked Achievements", 'dpa' ) );
$this->WP_Widget( 'achievements-member-achievements', __( 'Achievements, Unlocked', 'dpa' ), $widget_ops, array( 'id_base' => 'achievements-member-achievements' ) );
}
/**
* Outputs the HTML for this widget.
*
* @global DPA_Achievement_Template $achievements_template Achievements template tag object
* @global object $bp BuddyPress global settings
* @param array $args An array of standard parameters for widgets
* @param array $instance An array of settings for this widget instance
* @since 2.0
*/
function widget( $args, $instance ) {
global $achievements_template, $bp;
if ( !$bp->loggedin_user->id )
return;
extract( $args, EXTR_SKIP );
if ( dpa_has_achievements( array( 'user_id' => $bp->loggedin_user->id, 'max' => $instance['limit'], 'populate_extras' => false, 'type' => 'unlocked' ) ) ) :
echo $before_widget;
if ( $instance['title'] ) {
echo $before_title;
echo apply_filters( 'dpa_widget_title', $instance['title'] );
echo $after_title;
}
?>
__( "Your Recent Achievements", 'dpa' ), 'limit' => 12 ) );
$title = apply_filters( 'dpa_widget_title', $instance['title'] );
$limit = apply_filters( 'dpa_widget_limit', $instance['limit'] );
?>
'achievements-available-achievements', 'description' => __( "A photo grid of all the Achievements available on this site; intended for multisite", 'dpa' ) );
$this->WP_Widget( 'achievements-available-achievements', __( 'Achievements, All', 'dpa' ), $widget_ops, array( 'id_base' => 'achievements-available-achievements' ) );
}
/**
* Outputs the HTML for this widget.
*
* @global DPA_Achievement_Template $achievements_template Achievements template tag object
* @global int $blog_id Site ID
* @global object $bp BuddyPress global settings
* @param array $args An array of standard parameters for widgets
* @param array $instance An array of settings for this widget instance
* @since 2.0
*/
function widget( $args, $instance ) {
global $achievements_template, $blog_id, $bp;
extract( $args, EXTR_SKIP );
$current_blog_id = $blog_id;
if ( dpa_has_achievements( 'type=active&per_page=' . $instance['limit'] . '&max=' . $instance['limit'] . '&populate_extras=0' ) ) :
echo $before_widget;
if ( $instance['title'] ) {
echo $before_title;
echo apply_filters( 'dpa_widget_title', $instance['title'] );
echo $after_title;
}
if ( $is_nonroot_multisite = is_multisite() && BP_ROOT_BLOG != $blog_id )
switch_to_blog( BP_ROOT_BLOG ); // Necessary evil
?>
__( 'All Available Achievements', 'dpa' ), 'limit' => 12 ) );
$title = apply_filters( 'dpa_widget_title', $instance['title'] );
$limit = apply_filters( 'dpa_widget_limit', $instance['limit'] );
?>
'achievements-featured-achievement', 'description' => __( "Displays a single Achievement in detail", 'dpa' ) );
$this->WP_Widget( 'achievements-featured-achievement', __( 'Achievements, Featured', 'dpa' ), $widget_ops, array( 'id_base' => 'achievements-featured-achievement' ) );
}
/**
* Outputs the HTML for this widget.
*
* @global DPA_Achievement_Template $achievements_template Achievements template tag object
* @global object $bp BuddyPress global settings
* @param array $args An array of standard parameters for widgets
* @param array $instance An array of settings for this widget instance
* @since 2.0
*/
function widget( $args, $instance ) {
global $achievements_template, $bp;
extract( $args, EXTR_SKIP );
if ( dpa_has_achievements( array( 'slug' => $instance['achievement_slug'], 'populate_extras' => false, 'type' => 'single' ) ) ) :
echo $before_widget;
if ( $instance['title'] ) {
echo $before_title;
echo apply_filters( 'dpa_widget_title', $instance['title'] );
echo $after_title;
}
?>
__( "Featured Achievement", 'dpa' ), 'achievement_slug' => '' ) );
$title = apply_filters( 'dpa_widget_title', $instance['title'] );
$achievement_slug = apply_filters( 'dpa_widget_achievement_slug', $instance['achievement_slug'] );
?>
'achievements-member-achievements-available', 'description' => __( "A photo grid of Achievements which the member is yet to unlock", 'dpa' ) );
$this->WP_Widget( 'achievements-member-achievements-available', __( 'Achievements, Locked', 'dpa' ), $widget_ops, array( 'id_base' => 'achievements-member-achievements-available' ) );
}
/**
* Outputs the HTML for this widget.
*
* @global DPA_Achievement_Template $achievements_template Achievements template tag object
* @global object $bp BuddyPress global settings
* @param array $args An array of standard parameters for widgets
* @param array $instance An array of settings for this widget instance
* @since 2.0
*/
function widget( $args, $instance ) {
global $achievements_template, $bp;
if ( !$bp->loggedin_user->id )
return;
extract( $args, EXTR_SKIP );
if ( dpa_has_achievements( array( 'user_id' => $bp->loggedin_user->id, 'max' => $instance['limit'], 'populate_extras' => false, 'type' => 'locked' ) ) ) :
echo $before_widget;
if ( $instance['title'] ) {
echo $before_title;
echo apply_filters( 'dpa_widget_title', $instance['title'] );
echo $after_title;
}
?>
__( "Unlock These Achievements", 'dpa' ), 'limit' => 12 ) );
$title = apply_filters( 'dpa_widget_title', $instance['title'] );
$limit = apply_filters( 'dpa_widget_limit', $instance['limit'] );
?>
'achievements-member-points', 'description' => __( "Displays a member's Achievement score", 'dpa' ) );
$this->WP_Widget( 'achievements-member-points', __( "Achievements, Member's Score", 'dpa' ), $widget_ops, array( 'id_base' => 'achievements-member-points' ) );
}
/**
* Outputs the HTML for this widget.
*
* @global object $bp BuddyPress global settings
* @param array $args An array of standard parameters for widgets
* @param array $instance An array of settings for this widget instance
* @since 2.0
*/
function widget( $args, $instance ) {
global $bp;
extract( $args, EXTR_SKIP );
if ( ( $instance['loggedin_user'] && !$bp->loggedin_user->id ) || ( !$instance['loggedin_user'] && !$bp->displayed_user->id ) )
return;
if ( $instance['loggedin_user'] )
$user_id = $bp->loggedin_user->id;
else
$user_id = $bp->displayed_user->id;
echo $before_widget;
if ( $instance['title'] ) {
echo $before_title;
echo apply_filters( 'dpa_widget_title', $instance['title'] );
echo $after_title;
}
?>
__( "Achievement Score", 'dpa' ), 'loggedin_user' => 0 ) );
$title = apply_filters( 'dpa_widget_title', $instance['title'] );
$loggedin_user = apply_filters( 'dpa_widget_bool', $instance['loggedin_user'] );
$checked = '';
if ( $loggedin_user )
$checked = 'checked="checked"';
?>
/>