You are here

function user_picture_field_user_insert in user picture field 7

Implements hook_user_insert().

1 call to user_picture_field_user_insert()
user_picture_field_user_update in ./user_picture_field.module
Implements hook_user_update().

File

./user_picture_field.module, line 26
user picture field

Code

function user_picture_field_user_insert(&$edit, $account, $category) {
  $user_picture_field_source_field = variable_get('user_picture_field_source_field', 'field_user_avatar');
  $user_picture_field_source_entity = variable_get('user_picture_field_source_entity', 'user');
  $fid = 0;
  if ($user_picture_field_source_entity == 'user') {
    if (isset($account->{$user_picture_field_source_field})) {
      foreach ($account->{$user_picture_field_source_field} as $langcode => $items) {
        if (isset($items[0]['fid'])) {
          $fid = $items[0]['fid'];
          break;
        }
        else {
          $field_info = field_info_field($user_picture_field_source_field);
          if (!empty($field_info['settings']['default_image'])) {
            $fid = $field_info['settings']['default_image'];
            break;
          }
        }
      }
    }
  }
  elseif ($user_picture_field_source_entity == 'profile2') {
    $user_picture_field_source_bundle = variable_get('user_picture_field_source_bundle', '');
    $profile = profile2_load_by_user($account, $user_picture_field_source_bundle);
    if (empty($profile)) {
      return;
    }
    if (isset($profile->{$user_picture_field_source_field})) {
      foreach ($profile->{$user_picture_field_source_field} as $langcode => $items) {
        if (isset($items[0]['fid'])) {
          $fid = $items[0]['fid'];
          break;
        }
        else {
          $field_info = field_info_field($user_picture_field_source_field);
          if (!empty($field_info['settings']['default_image'])) {
            $fid = $field_info['settings']['default_image'];
            break;
          }
        }
      }
    }
  }
  if ($fid) {
    db_update('users')
      ->fields(array(
      'picture' => $fid,
    ))
      ->condition('uid', $account->uid)
      ->execute();
  }

  //user_save($account);
}