You are here

function lightbox2_login in Lightbox2 8

Same name and namespace in other branches
  1. 5.2 lightbox2.module \lightbox2_login()
  2. 6 lightbox2.module \lightbox2_login()
  3. 7.2 lightbox2.module \lightbox2_login()
  4. 7 lightbox2.module \lightbox2_login()

Get the user login form.

1 string reference to 'lightbox2_login'
lightbox2_menu in ./lightbox2.module
Implementation of hook_menu().

File

./lightbox2.module, line 1595
Enables the use of lightbox2 which places images above your current page, not within. This frees you from the constraints of the layout, particularly column widths.

Code

function lightbox2_login() {

  // do not use lightbox2 for failed validation ie: bad password
  // instead, return the fully rendered Drupal page with errors.
  if (count($_POST)) {
    return \Drupal::formBuilder()
      ->getForm('user_login_block');
  }
  else {
    print \Drupal::service("renderer")
      ->render(\Drupal::formBuilder()
      ->getForm('user_login_block'));

    // If the OpenID module is enabled, the javascript and css may not exist
    // on the page, so add them dynamically.
    if (\Drupal::moduleHandler()
      ->moduleExists('openid')) {
      $path = drupal_get_path('module', 'openid');
      $js_file = base_path() . $path . '/openid.js';
      $css_file = base_path() . $path . '/openid.css';

      // Load the javascript dynamically.
      print '<script type="text/javascript">$.getScript("' . $js_file . '", function () {if ($.isFunction(Drupal.behaviors.openid)) { Drupal.behaviors.openid(document); } });</script>';

      // Load the css file dynamically.
      print '<script type="text/javascript">
        var fileref=document.createElement("link");
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", "' . $css_file . '");
        document.getElementsByTagName("head")[0].appendChild(fileref);
        </script>';
    }

    // drupal_add_js() with 'inline' didn't seem to work, possibly because this is
    // AJAX loaded content.
    print '<script type="text/javascript">Drupal.attachBehaviors();</script>';
  }
  exit;
}