You are here

function _user_relationship_elaborations_walk_recursive in User Relationships 7

Same name and namespace in other branches
  1. 6 user_relationship_elaborations/user_relationship_elaborations.module \_user_relationship_elaborations_walk_recursive()

array_walk_recursive doesn't pass extra data by reference (lame!) so we have to take care of it ourselves

1 call to _user_relationship_elaborations_walk_recursive()
user_relationship_elaborations_user_relationships_load in user_relationship_elaborations/user_relationship_elaborations.module
Implements hook_user_relationships_load().

File

user_relationship_elaborations/user_relationship_elaborations.module, line 83
User Relationships Elaborations feature @author Jeff Smick (creator) @author Darren Ferguson http://drupal.org/user/70179

Code

function _user_relationship_elaborations_walk_recursive($action, &$relationships, &$data) {
  foreach ($relationships as $relationship) {
    if (is_array($relationship)) {
      _user_relationship_elaborations_walk_recursive($action, $relationship, $data);
    }
    else {
      if ($action == 'find_rids') {
        if (isset($relationship->rid)) {
          $data[$relationship->rid] = $relationship->rid;
        }
      }
      else {
        $relationship->elaboration = isset($data[$relationship->rid]) ? $data[$relationship->rid] : NULL;
      }
    }
  }
}