Title: User Object Framework
Author: Jennifer M. Dodd
Published: <strong>October 1, 2012</strong>
Last modified: October 1, 2012

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/user-object-framework.svg)

# User Object Framework

 By [Jennifer M. Dodd](https://profiles.wordpress.org/jmdodd/)

[Download](https://downloads.wordpress.org/plugin/user-object-framework.0.1.zip)

 * [Details](https://wordpress.org/plugins/user-object-framework/#description)
 * [Reviews](https://wordpress.org/plugins/user-object-framework/#reviews)
 *  [Installation](https://wordpress.org/plugins/user-object-framework/#installation)
 * [Development](https://wordpress.org/plugins/user-object-framework/#developers)

 [Support](https://wordpress.org/support/plugin/user-object-framework/)

## Description

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' );
    ```

## Installation

 1. Upload the directory `user-object-framework` and its contents to the `/wp-content/
    plugins/` directory.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“User Object Framework” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Jennifer M. Dodd ](https://profiles.wordpress.org/jmdodd/)

[Translate “User Object Framework” into your language.](https://translate.wordpress.org/projects/wp-plugins/user-object-framework)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/user-object-framework/),
check out the [SVN repository](https://plugins.svn.wordpress.org/user-object-framework/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/user-object-framework/)
by [RSS](https://plugins.trac.wordpress.org/log/user-object-framework/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1

 * Initial release.

## Meta

 *  Version **0.1**
 *  Last updated **14 years ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 3.4 or higher **
 *  Tested up to **3.4.2**
 * Tags
 * [framework](https://wordpress.org/plugins/tags/framework/)[metadata](https://wordpress.org/plugins/tags/metadata/)
   [object](https://wordpress.org/plugins/tags/object/)[relationship](https://wordpress.org/plugins/tags/relationship/)
   [user](https://wordpress.org/plugins/tags/user/)
 *  [Advanced View](https://wordpress.org/plugins/user-object-framework/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/user-object-framework/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/user-object-framework/reviews/)

## Contributors

 *   [ Jennifer M. Dodd ](https://profiles.wordpress.org/jmdodd/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/user-object-framework/)