You are here

function ulogin_element_info in uLogin (advanced version) 7

Implements hook_element_info().

File

./ulogin.module, line 206
Main file for the uLogin module.

Code

function ulogin_element_info() {
  $types = array();
  $enabled_providers = array_filter(variable_get('ulogin_providers_enabled', drupal_map_assoc(array(
    'vkontakte',
    'odnoklassniki',
    'mailru',
    'facebook',
    'twitter',
    'google',
    'yandex',
    'livejournal',
    'openid',
  ))));
  $main_providers = array_filter(variable_get('ulogin_providers_main', drupal_map_assoc(array(
    'vkontakte',
    'odnoklassniki',
    'mailru',
    'facebook',
  ))));
  $required_fields = array_filter(variable_get('ulogin_fields_required', drupal_map_assoc(array(
    'first_name',
    'last_name',
    'email',
    'nickname',
    'bdate',
    'sex',
    'photo',
    'photo_big',
    'country',
    'city',
  ))));
  $optional_fields = array_filter(variable_get('ulogin_fields_optional', drupal_map_assoc(array(
    'phone',
  ))));
  $types['ulogin_widget'] = array(
    '#input' => FALSE,
    '#pre_render' => array(
      'ulogin_widget_pre_render',
    ),
    '#theme' => 'ulogin_widget',
    '#theme_wrappers' => array(
      'form_element',
    ),
    '#ulogin_id' => 'ulogin',
    '#ulogin_widget_id' => variable_get('ulogin_widget_id', ''),
    '#title' => variable_get('ulogin_widget_title', ''),
    '#weight' => variable_get('ulogin_widget_weight', -100),
    '#ulogin_display' => variable_get('ulogin_display', 'panel'),
    '#ulogin_fields_required' => implode(',', $required_fields),
    '#ulogin_fields_optional' => implode(',', $optional_fields),
    '#ulogin_providers' => implode(',', array_intersect_assoc($main_providers, $enabled_providers)),
    '#ulogin_hidden' => implode(',', array_diff_assoc($enabled_providers, $main_providers)),
    '#ulogin_destination' => variable_get('ulogin_destination', ''),
    '#ulogin_redirect' => variable_get('ulogin_redirect', 0),
    '#ulogin_icons_path' => variable_get('ulogin_icons_path', ''),
    '#ulogin_icons' => array(),
    '#attached' => array(
      'js' => array(
        drupal_get_path('module', 'ulogin') . '/js/ulogin.async.js' => array(
          'type' => 'file',
        ),
      ),
    ),
  );
  return $types;
}