You are here

function template_preprocess_hybridauth_popup_list in HybridAuth Social Login 7

File

./hybridauth.widget.inc, line 161

Code

function template_preprocess_hybridauth_popup_list(&$vars, $hook) {
  $destination = isset($_GET['destination']) ? $_GET['destination'] : 'user';
  unset($_GET['destination']);
  $size = '64';
  $vars['widget_id'] = drupal_html_id($hook);
  $vars['classes_array'][] = drupal_html_class('hybridauth-size-' . $size);
  $vars['providers'] = array();
  $providers = hybridauth_get_enabled_providers();
  if (!empty($providers)) {
    foreach ($providers as $provider_id => $provider_name) {
      $query = drupal_get_query_parameters();
      $query['destination'] = $destination;
      $icon_id = drupal_html_id('hybridauth-widget-provider-' . $provider_id);
      $icon_url = url(drupal_get_path('module', 'hybridauth_widget') . '/images/icons/' . strtolower($provider_id) . '.png');
      $icon_class = array(
        'hybridauth-widget-provider',
      );
      if (isset($_GET['overlay']) && $_GET['overlay']) {
        $query['overlay'] = TRUE;
      }
      $query['provider'] = $provider_id;
      $vars['providers'][$provider_id] = l(theme('hybridauth_provider_icon', array(
        'size' => $size,
        'provider_id' => $provider_id,
      )), 'hybridauth/popup', array(
        'html' => TRUE,
        'query' => $query,
        'attributes' => array(
          'id' => $icon_id,
          'class' => $icon_class,
        ),
      ));
    }

    //$url = url('hybridauth/popup', array('query' => $query + array('authenticate' => TRUE)));
    drupal_add_js('
      (function ($) {
        Drupal.behaviors.hybridauthPopup = {
          attach: function (context, settings) {
            $(".hybridauth-widget-provider", context).once("hybridauth-widget-provider", function() {
              $(this).click(function(event) {
                event.preventDefault();
                var url = $(this).attr("href");
                window.open(
                  url + "&authenticate=1",
                  "hybridauth_social_sign_on",
                  "location=0,status=0,scrollbars=0,width=800,height=500"
                );
                return false;
              });
            });
          }
        };
      }(jQuery));
    ', 'inline');
  }
}