You are here

function hybridauth_bonus_form_hybridauth_admin_settings_alter in HybridAuth Social Login 7.2

Implements hook_form_FORM_ID_alter().

File

hybridauth_bonus/hybridauth_bonus.module, line 10
Main file for the HybridAuth Bonus module.

Code

function hybridauth_bonus_form_hybridauth_admin_settings_alter(&$form, &$form_state, $form_id) {
  $roles = user_roles(TRUE);
  unset($roles[DRUPAL_AUTHENTICATED_RID]);
  if ($roles) {
    $form['vtabs']['fset_bonus_roles'] = array(
      '#type' => 'fieldset',
      '#title' => t('HybridAuth Bonus') . ': ' . t('Roles'),
    );
    $form['vtabs']['fset_bonus_roles']['hybridauth_bonus_registration_role_choice'] = array(
      '#type' => 'checkbox',
      '#title' => t('Suggest role choice when registering'),
      '#description' => t('Allow users to choose their roles when registering through HybridAuth.'),
      '#default_value' => variable_get('hybridauth_bonus_registration_role_choice', 0),
    );
    $form['vtabs']['fset_bonus_roles']['hybridauth_bonus_registration_roles'] = array(
      '#type' => 'checkboxes',
      '#title' => t('Roles to choose from'),
      '#description' => t('Select roles to suggest to new users when registering through HybridAuth.'),
      '#options' => $roles,
      '#default_value' => variable_get('hybridauth_bonus_registration_roles', array()),
      '#states' => array(
        'visible' => array(
          ':input[name="hybridauth_bonus_registration_role_choice"]' => array(
            'checked' => TRUE,
          ),
        ),
      ),
    );
    $form['vtabs']['fset_bonus_roles']['hybridauth_bonus_registration_roles_required'] = array(
      '#type' => 'checkbox',
      '#title' => t('Make role selection required'),
      '#description' => t('Force users to select a role when registering through HybridAuth.'),
      '#default_value' => variable_get('hybridauth_bonus_registration_roles_required', 0),
      '#states' => array(
        'visible' => array(
          ':input[name="hybridauth_bonus_registration_role_choice"]' => array(
            'checked' => TRUE,
          ),
        ),
      ),
    );
    $form['vtabs']['fset_bonus_roles']['hybridauth_bonus_registration_roles_multiple'] = array(
      '#type' => 'checkbox',
      '#title' => t('Allow several roles selection'),
      '#description' => t('Allow users to select several roles when registering through HybridAuth.'),
      '#default_value' => variable_get('hybridauth_bonus_registration_roles_multiple', 1),
      '#states' => array(
        'visible' => array(
          ':input[name="hybridauth_bonus_registration_role_choice"]' => array(
            'checked' => TRUE,
          ),
        ),
      ),
    );
  }
  $form['vtabs']['fset_bonus_forms'] = array(
    '#type' => 'fieldset',
    '#title' => t('HybridAuth Bonus') . ': ' . t('Forms'),
  );
  $form['vtabs']['fset_bonus_forms']['hybridauth_bonus_customize_widget_per_form'] = array(
    '#type' => 'checkbox',
    '#title' => t('Customize HybridAuth widget per form'),
    '#default_value' => variable_get('hybridauth_bonus_customize_widget_per_form', 0),
  );
  foreach (hybridauth_forms_list() as $f_id => $f_name) {
    $form['vtabs']['fset_bonus_forms'][$f_id] = array(
      '#type' => 'fieldset',
      '#title' => $f_name,
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
      '#states' => array(
        'visible' => array(
          ':input[name="hybridauth_bonus_customize_widget_per_form"]' => array(
            'checked' => TRUE,
          ),
        ),
      ),
    );
    foreach (element_children($form['vtabs']['fset_widget']) as $key) {
      $value = $form['vtabs']['fset_widget'][$key];
      $new_key = str_replace('hybridauth_', 'hybridauth_bonus_', $key) . '_' . $f_id;
      $form['vtabs']['fset_bonus_forms'][$f_id][$new_key] = $value;
      $form['vtabs']['fset_bonus_forms'][$f_id][$new_key]['#default_value'] = variable_get($new_key, $value['#default_value']);
      if ($key == 'hybridauth_widget_use_overlay' || $key == 'hybridauth_widget_link_title') {
        $form['vtabs']['fset_bonus_forms'][$f_id][$new_key]['#states'] = array(
          'invisible' => array(
            ':input[name="hybridauth_bonus_widget_type_' . $f_id . '"]' => array(
              'value' => 'list',
            ),
          ),
        );
      }
      if ($key == 'hybridauth_widget_link_text') {
        $form['vtabs']['fset_bonus_forms'][$f_id][$new_key]['#states'] = array(
          'visible' => array(
            ':input[name="hybridauth_bonus_widget_type_' . $f_id . '"]' => array(
              'value' => 'link',
            ),
          ),
        );
      }
    }
  }
}