[buddypress-dev] List of users with avatar
C Daniel
c_daniel2002 at yahoo.com
Wed Jul 9 19:04:13 GMT 2008
Martin,
Very nice, I was using a hacked version of list_all.
Now if I can get avatars to upload I am golden.
Thanks
--- On Tue, 7/8/08, Martin <martin at thrive-magazine.com> wrote:
> From: Martin <martin at thrive-magazine.com>
> Subject: RE: [buddypress-dev] List of users with avatar
> To: buddypress-dev at lists.automattic.com
> Date: Tuesday, July 8, 2008, 11:57 AM
> I'm not sure I can send attachments to the mailing list,
> so I'll include the
> code for the widget I've been working on below. This is
> my first ever
> widget, so if I've done something dumb be gentle :)
>
> This widget shows the latest X (configurable through the
> widget admin page,
> defaults to 5) users, save it to snnewusers.php and upload
> to the mu-plugins
> folder, drop the widget on a widget enabled theme.
>
> Hope this helps,
>
> Martin
>
> <?php
> /*
> Plugin Name: Social Network New Users
> Description: Adds a sidebar widget for showing the newest
> users
> Author: Martin Westwood
> Version: 0.1
> */
>
> /**********************************************************/
> /* Show new users widget control
> /**********************************************************/
> function widget_sn_showusers()
> {
> // Check for the required plugin functions.
> if ( !function_exists('register_sidebar_widget') )
> return;
>
> function widget_show_sn_showusers($args)
> {
> global $wpdb;
>
> extract($args);
>
> // Each widget can store its own options. We keep
> strings here.
> $options = get_option('widget_snshowusers');
>
> if ($options['user_count'] == '')
> $options['user_count'] =
> 5;
>
> $sql = $wpdb->prepare( "SELECT id FROM
> $wpdb->users ORDER BY
> user_registered DESC LIMIT 0, %d",
> $options['user_count'] );
> $users = $wpdb->get_results( $sql );
>
> // These lines generate our output.
> echo $before_widget . $before_title .
> $options['title'] .
> $after_title;
> foreach($users as $user)
> {
> $user_info = get_userdata($user->id);
> $blog = get_active_blog_for_user($user->id)
> ?>
> <li class="users">
> <div class="thumb_user">
> <a href="<?php echo $blog->siteurl;
> ?>" title="<?php
> echo $user_info->display_name ?>"><?php
> get_avatar($user->id); ?></a>
> </div>
> <div class="text">
> <a href="<?php echo $blog->siteurl;
> ?>"><?php echo
> $user_info->display_name ?></a>
> </div>
> <div class="clear" />
> </li>
> <?php
> }
> echo $after_widget;
> }
>
> // Admin section
> function widget_control_sn_showusers() {
> global $wpdb;
> $options = get_option('widget_snshowusers');
> if ( !is_array($options) )
> $options = array('title'=>'New
> Users','user_count'=>'5');
>
> if ( $_POST['snusers-submit'] ) {
>
> $options['title'] =
> strip_tags(stripslashes($_POST['snusers-title']));
> $options['user_count'] =
> strip_tags(stripslashes($_POST['snusers-user_count']));
> update_option('widget_snshowusers', $options);
> }
>
> $title = htmlspecialchars($options['title'],
> ENT_QUOTES);
> $user_count =
> htmlspecialchars($options['user_count'],
> ENT_QUOTES);
>
> // The Box content
> echo '<p
> style="text-align:right;"><label
> for="snusers-title">' .
> __('Title:', 'snusers') . ' <input
> style="width:
> 200px;" id="snusers-title"
> name="snusers-title" type="text"
> value="'.$title.'"
> /></label></p>';
> echo '<p
> style="text-align:right;"><label
> for="snusers-user_count">' .
> __('Number of Users:', 'snusers') . '
> <input
> style="width: 200px;"
> id="snusers-user_count"
> name="snusers-user_count"
> type="text"
> value="'.$user_count.'"
> /></label></p>';
> echo '<input type="hidden"
> id="snusers-submit"
> name="snusers-submit" value="1"
> />';
>
> }
>
> register_sidebar_widget(array('SN New Users',
> 'widgets'),
> 'widget_show_sn_showusers');
> register_widget_control(array('SN New Users',
> 'widgets'),
> 'widget_control_sn_showusers', 300, 200);
> }
>
> add_action('widgets_init',
> 'widget_sn_showusers');
>
> ?>
>
> -----Original Message-----
> From: buddypress-dev-bounces at lists.automattic.com
> [mailto:buddypress-dev-bounces at lists.automattic.com] On
> Behalf Of Andy
> Peatling
> Sent: Tuesday, July 08, 2008 12:37 PM
> To: buddypress-dev at lists.automattic.com
> Subject: Re: [buddypress-dev] List of users with avatar
>
> You'll also need to add:
>
> <?php global $wpdb; ?>
>
> before that code if you put this in page template.
>
> Andy
>
> On 8-Jul-08, at 10:28 AM, Andy Peatling wrote:
>
> > On 8-Jul-08, at 10:05 AM, Brian L. Brey wrote:
> >
> >> Anyone create code to display a list of members
> with their avatar
> >> and name (or similar)?
> >
> > I'm working on the friends component right now,
> which will
> > essentially do this.
> >
> > If you want to list members, you can just query the
> users table, and
> > then get their avatar and link based on their id.
> >
> > <?php
> > $users = $wpdb->get_results ( $wpdb->prepare(
> "SELECT id FROM
> > wp_users" ) );
> > for ( $i = 0; $i < count($users); $i++ ) {
> > $bp_users[] = array(
> > 'avatar' => xprofile_get_avatar(
> $users[$i]->id, 1 ),
> > 'link' => bp_core_get_userlink(
> $users[$i]->id )
> > );
> > }
> > ?>
> >
> > Then you can loop through and do whatever you want
> with $bp_users:
> >
> > <?php
> > for ( $i = 0; $i < count($bp_users); $i++ ) {
> > echo '<p>' .
> $bp_users[$i]['avatar'] . '</p>';
> > echo '<p>' .
> $bp_users[$i]['link'] . '</p>';
> > }
> > ?>
> >
> > I haven't tested or even tried that code, but it
> should work if I
> > haven't made any typos.
> >
> > Andy
> >
> > ---------
> > Andy Peatling | Social Engineer | Automattic
> > http://andyinlife.com
> >
> >
> >
> > _______________________________________________
> > buddypress-dev mailing list
> > buddypress-dev at lists.automattic.com
> >
> http://lists.automattic.com/mailman/listinfo/buddypress-dev
>
> _______________________________________________
> buddypress-dev mailing list
> buddypress-dev at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/buddypress-dev
>
> _______________________________________________
> buddypress-dev mailing list
> buddypress-dev at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/buddypress-dev
More information about the buddypress-dev
mailing list