[buddypress-trac] [BuddyPress Trac] #6749: bp_get_group_avatar() needs extra error checking
buddypress-trac
noreply at wordpress.org
Mon Nov 23 18:43:14 UTC 2015
#6749: bp_get_group_avatar() needs extra error checking
--------------------------------------+----------------------------------
Reporter: slaFFik | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Under Consideration
Component: Tools - Warnings/Notices | Version:
Severity: normal | Resolution:
Keywords: 2nd-opinion |
--------------------------------------+----------------------------------
Changes (by boonebgorges):
* keywords: => 2nd-opinion
* milestone: Awaiting Review => Under Consideration
Comment:
I agree that there should be a way to get a group avatar outside of a
group loop.
I'm not 100% sure that `bp_get_group_avatar()` is the way to do it. Our
`-template.php` functions are pretty inconsistent throughout BuddyPress.
In some places, these functions accept an argument so that they can be
used outside of the loop, and in other places they do not. Many of the
`bp-groups-template.php` functions, for example, accept a `$group` object.
It's easy for us to add this functionality to `bp_get_group_avatar()`, but
this might also be a good time to take a moment and see whether we'd like
to take a step toward greater consistency here. What if, for example, we
introduced a function like this:
{{{
function bp_get_group_from_param( $group = false ) {
global $groups_template;
$group_obj = null;
if ( $group instanceof BP_Groups_Group ) { // or is_object()
$group_obj = $group;
} elseif ( is_numeric( $group ) ) {
$group_obj = groups_get_group( array( 'group_id' => $group ) );
// maybe some error checking to make sure the group exists
} elseif ( isset( $groups_template->group ) ) {
$group_obj = $groups_template->group;
}
return $group_obj;
}
}}}
Then, within each template function:
{{{
function bp_get_group_avatar( $group = false ) {
if ( ! $group = bp_get_group_from_param( $group ) ) {
return '';
}
// Now we can assume $group is correct
}
}}}
This way, devs have the option of passing a group object, passing a group
ID, or passing nothing and having the group determined from the group loop
context.
--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/6749#comment:1>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac
More information about the buddypress-trac
mailing list