Provide a framework for assignment of user-object relationship metadata.
Author: | Jennifer M. Dodd (profile at wordpress.org) |
WordPress version required: | WordPress |
WordPress version tested: | 3.4.2 |
Plugin version: | 0.1 |
Added to WordPress repository: | 01-10-2012 |
Last updated: | 01-10-2012
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 0 |
Rated by: | 0 |
Plugin URI: | |
Total downloads: | 3 060 |
Click to start download |
This plugin creates a user-object relationship table and a user-object relationship metadata
table. Relationships between a user (logged-in or IP) are created and added to the relationship
table; metadata (ex. votes, flags, and ratings) is attached to that particular relationship
via the metadata table. This is a framework; it is intended for use in voting, flagging,
and similar user applications where a user-affiliated metadata is attached to an object.
Supported object tables include wp_posts, wp_comments, wp_users, and wp_bp_activity.
Functions are provided to add/get/delete relationships; metadata is added via the native WordPress
metadata-handling functions.
Functions provided by this framework include:
ucc_uof_object_reference()
returns an array of object-integer assignments. Use this to look up the
appropriate value for $object_ref based on the object table (wp_posts, wp_comments, wp_users,
wp_bp_activity are currently supported) to which you are attaching a user relationship.ucc_uof_add_relationship( $user_id = 0, $user_ip = 0, $object_id, $object_ref )
adds a relationship
to the relationship table if none exists and returns the relationship id for that user/object pairing.ucc_uof_delete_relationship( $user_id = 0, $user_ip = 0, $object_id, $object_ref )
will delete a
relationship if there are no metadata entries left for that relationship.ucc_uof_get_relationship()
returns the relationship id for that user/object pairing.ucc_uof_get_user_id()
returns the current user id or 0 if not logged in.ucc_uof_get_user_ip()
returns 0 if the current user is logged in, or an ip2long() if anonymous.
Example code:
// Create or get the user-object relationship.
$relationship = ucc_uof_get_relationship( $user_id, $user_ip, $object_id, $object_ref );
if ( empty( $relationship ) )
$relationship = ucc_uof_add_relationship( $user_id, $user_ip, $object_id, $object_ref );
// Add user_object_meta.
if ( $mode == 'delete' )
delete_metadata( 'uof_user_object', $relationship, '_your_meta_key' );
else
update_metadata( 'uof_user_object', $relationship, '_your_meta_key', 'your meta key value' );
ChangeLog