You are here

function ulogin_user_identity in uLogin (advanced version) 6

Same name and namespace in other branches
  1. 7 ulogin.pages.inc \ulogin_user_identity()
1 string reference to 'ulogin_user_identity'
ulogin_menu in ./ulogin.module
Implements hook_menu().

File

./ulogin.pages.inc, line 124

Code

function ulogin_user_identity($form_state, $account) {
  $identities = _ulogin_identity_load_by_uid($account->uid);
  $providers = _ulogin_providers_list();
  $header = array(
    t('Authentication provider'),
    t('Identity'),
    t('Delete'),
  );
  $rows = array();
  $data_array = array();
  foreach ($identities as $identity) {
    $data = unserialize($identity['data']);
    $data_array[] = $data;
    $rows[] = array(
      $providers[$data['network']],
      l($data['identity'], $data['identity'], array(
        'attributes' => array(
          'target' => '_blank',
        ),
        'external' => TRUE,
      )),
      l(t('Delete'), 'user/' . $account->uid . '/ulogin/delete/' . $identity['id']),
    );
  }
  $form = array();
  $form['identity'] = array(
    '#value' => theme('table', $header, $rows),
  );

  //add more identities
  if (user_access('use ulogin')) {
    $form['ulogin_widget'] = array(
      '#type' => 'ulogin_widget',
      '#title' => t('Add more identities'),
      '#ulogin_destination' => '',
    );
  }

  //tokens browser for admins
  if (user_access('administer site configuration') || user_access('administer users')) {
    $header = array(
      t('Token'),
      t('Value'),
    );

    //user tokens
    if (!empty($account->ulogin)) {
      $form['fset_user_tokens'] = array(
        '#type' => 'fieldset',
        '#title' => t('User tokens'),
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
      );
      $rows = array();
      foreach ($account->ulogin as $key => $value) {
        if ($key != 'manual') {
          $rows[] = array(
            '[user:ulogin:' . $key . ']',
            $value,
          );
        }
      }
      $form['fset_user_tokens']['tokens'] = array(
        '#value' => theme('table', $header, $rows),
      );
    }

    //data from auth providers
    foreach ($data_array as $data) {
      $form['fset_' . $data['network'] . '_' . $data['uid']] = array(
        '#type' => 'fieldset',
        '#title' => $providers[$data['network']],
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
      );
      $rows = array();
      foreach ($data as $key => $value) {

        //if ($key != 'manual') {
        $rows[] = array(
          $key,
          $value,
        );

        //}
      }
      $form['fset_' . $data['network'] . '_' . $data['uid']]['tokens'] = array(
        '#value' => theme('table', $header, $rows),
      );
    }
  }
  return $form;
}