function user_relationships_type_save in User Relationships 6
Same name and namespace in other branches
- 5.3 user_relationships_api/user_relationships_api.api.inc \user_relationships_type_save()
- 7 user_relationships.module \user_relationships_type_save()
Create or Update a User Relationship Type
Parameters
$rtype: A User Relationship type object
3 calls to user_relationships_type_save()
- 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.
- UserRelationshipsNodeAccessTestCase::setUp in user_relationship_node_access/
tests/ user_relationship_node_access.test - Enable modules.
File
- user_relationships_api/
user_relationships_api.api.inc, line 108 - User Relationships API. Data abstraction layer @author Jeff Smick (creator) @author Alex Karshakevich (maintainer) http://drupal.org/user/183217
Code
function user_relationships_type_save(&$rtype) {
_user_relationships_invoke('presave', $rtype, TRUE);
$op = isset($rtype->rtid) && $rtype->rtid ? 'update' : 'insert';
// find a relationship type with the name we're trying to save
// if it's an update action check to see that the rtypes match
// otherwise it's just invalid
if (($found_rt = user_relationships_type_load(array(
'name' => $rtype->name,
))) && ($op == 'update' ? $found_rt->rtid != $rtype->rtid : TRUE)) {
return FALSE;
}
// ensure "expires_val" is numeric and not negative
if (!is_numeric($rtype->expires_val) || $rtype->expires_val < 0) {
$rtype->expires_val = 0;
}
drupal_write_record('user_relationship_types', $rtype, $op == 'update' ? 'rtid' : NULL);
_user_relationships_invoke($op, $rtype, TRUE);
}