function user_relationships_types_load in User Relationships 6
Same name and namespace in other branches
- 5.3 user_relationships_api/user_relationships_api.api.inc \user_relationships_types_load()
- 5.2 user_relationships_api.inc \user_relationships_types_load()
- 7 user_relationships.module \user_relationships_types_load()
Public API for loading the full list of relationship types
Parameters
$reset: a boolean that forces a reset of the internal static types list
Return value
array of relationship_type objects
31 calls to user_relationships_types_load()
- UserRelationshipsApiSocnetTestCase::setUp in user_relationships_api/
tests/ user_relationships_api.socnet.test - Enable modules.
- UserRelationshipsApiTestCase::setUp in user_relationships_api/
tests/ user_relationships_api.api.test - Enable modules.
- UserRelationshipsApiTestCase::testUserRelationshipsReciprocalTypes in user_relationships_api/
tests/ user_relationships_api.api.test - UserRelationshipsNodeAccessTestCase::setUp in user_relationship_node_access/
tests/ user_relationship_node_access.test - Enable modules.
- user_relationships_api_activity_grants in user_relationships_api/
user_relationships_api.activity.inc - Implementation of hook_activity_grants().
File
- user_relationships_api/
user_relationships_api.api.inc, line 69 - User Relationships API. Data abstraction layer @author Jeff Smick (creator) @author Alex Karshakevich (maintainer) http://drupal.org/user/183217
Code
function user_relationships_types_load($reset = NULL) {
static $relationship_types_list = array();
if ($reset || empty($relationship_types_list)) {
//clear the cached list, since some relationships may have disappeared
$relationship_types_list = array();
$results = db_query("SELECT * FROM {user_relationship_types}");
while ($relationship = db_fetch_object($results)) {
$relationship_types_list[$relationship->rtid] = $relationship;
}
//load role permissions for all types
$results = db_query('SELECT rtid, rid FROM {user_relationship_type_roles} ORDER BY rtid, rid');
while ($mapping = db_fetch_object($results)) {
$rtype = $relationship_types_list[$mapping->rtid];
// //roles is an associative array {role id} => {role id}
$rtype->roles[$mapping->rid] = $mapping->rid;
//] = $mapping->name;
}
//load role receive permissions for all types
$results = db_query('SELECT rtid, rid FROM {user_relationship_type_roles_receive} ORDER BY rtid, rid');
while ($mapping = db_fetch_object($results)) {
$rtype = $relationship_types_list[$mapping->rtid];
// //roles is an associative array {role id} => {role id}
$rtype->roles_receive[$mapping->rid] = $mapping->rid;
//] = $mapping->name;
}
}
_user_relationships_invoke('load', $relationship_types_list, TRUE);
return $relationship_types_list;
}