[buddypress-trac] [BuddyPress] #1048: Xprofile component name improperly used in several functions
buddypress-trac at lists.automattic.com
buddypress-trac at lists.automattic.com
Sun Sep 20 00:40:34 UTC 2009
#1048: Xprofile component name improperly used in several functions
----------------------+-----------------------------------------------------
Reporter: jeffsayre | Owner: jeffsayre
Type: defect | Status: new
Priority: major | Milestone: 1.1
Keywords: |
----------------------+-----------------------------------------------------
In trying to debug the activity filter of my Privacy Component, I came
across several function calls where the label "profile" was being used in
some places and the label "xprofile" in other places for the value in the
component_name field. This can cause issues in retrieving, updating, and
deleting the records where a calling function is searching for "xprofile"
as the component name.
I've attached a graphic that shows one such discrepancy in the
wp_bp_notifications table.
As an example, look at these three functions:
In bp-xprofile.php there is xprofile_action_new_wire_post() with this
function call:
{{{
bp_core_add_notification( $bp->loggedin_user->id, $bp->displayed_user->id,
'profile', 'new_wire_post' );
}}}
Also in bp-xprofile.php there is xprofile_remove_screen_notifications()
with this call:
{{{
bp_core_delete_notifications_for_user_by_type( $bp->loggedin_user->id,
'profile', 'new_wire_post' );
}}}
Finally, in bp-wire-templatetags.php there is bp_wire_posts_template()
with this call:
{{{
bp_core_delete_notifications_for_user_by_type( $bp->loggedin_user->id,
'xprofile', 'new_wire_post' );
}}}
Obviously, this needs to be addressed.
I have not created a patch because I am not sure how you want to proceed.
There are two tables in BuddyPress' core that have a component_name field.
In one table, wp_bp_activity_user_activity_cached, "profile" is used for
the value. In the other table, wp_bp_notifications, "xprofile" is used for
that value--with the exception indicated in the attached graphic.
I understand the desire to use the label "profile" for navigation items
and in URLs, but when writing to the DB, and for consistency purposes, it
would be best to use the actual component name whenever writing to a field
called component_name. Thus it should always say "xprofile" in the DB when
referring to the xprofile component.
--
Ticket URL: <http://trac.buddypress.org/ticket/1048>
BuddyPress <http://buddypress.org/>
BuddyPress
More information about the buddypress-trac
mailing list