You are here

function jquery_ui_filter_dialog_close in jQuery UI filter 7

Same name and namespace in other branches
  1. 6 dialog/jquery_ui_filter_dialog.module \jquery_ui_filter_dialog_close()

Menu callback; Close jQuery UI dialog

2 string references to 'jquery_ui_filter_dialog_close'
jquery_ui_filter_dialog_form_alter in dialog/jquery_ui_filter_dialog.module
Implementation of hook_form_alter().
jquery_ui_filter_dialog_menu in dialog/jquery_ui_filter_dialog.module
Implementation of hook_menu().

File

dialog/jquery_ui_filter_dialog.module, line 296
Opens links inside a jQuery UI dialog widget.

Code

function jquery_ui_filter_dialog_close() {
  global $base_url;
  $features = jquery_ui_filter_dialog_get_features();

  // Switch to parent window's protocol to avoid...
  // "Same origin policy for JavaScript"
  // https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript
  // Check protocol
  if (!empty($features['protocol'])) {

    // Remove destinations
    unset($_REQUEST['destination']);
    unset($_REQUEST['edit']['destination']);

    // From http:// to https://
    if (strpos($base_url, 'https:') !== 0 && $features['protocol'] == 'https') {
      $base_url = str_replace('http://', 'https://', $base_url);
      drupal_goto(url('jquery_ui_filter_dialog/close', array(
        'absolute' => TRUE,
      )));
    }

    // From https:// to http://
    if (strpos($base_url, 'http:') !== 0 && $features['protocol'] == 'http') {
      $base_url = str_replace('https://', 'http://', $base_url);
      drupal_goto(url('jquery_ui_filter_dialog/close', array(
        'absolute' => TRUE,
      )));
    }
  }
  module_invoke_all('exit');
  session_write_close();
  print '<script type="text/javascript">if (top.Drupal && top.Drupal.jQueryUiFilter) { top.Drupal.jQueryUiFilter.dialogReloadPage(); }</script>';
  exit;
}