comparison popups.module @ 7:85e281a44a62 tip

Refuse to add popups.js to an ajax request that's not already a popup In some case, if you enable the "Always scan for popups links" options, Popups Ajax processing will break the original module request.
author Franck Deroche <franck@defr.org>
date Fri, 31 Dec 2010 14:13:37 +0100
parents 5efa741592f9
children
comparison
equal deleted inserted replaced
6:e02de6b2566e 7:85e281a44a62
289 * @param array $rules: Array of rules to apply to the page or form, keyed by jQuery link selector. 289 * @param array $rules: Array of rules to apply to the page or form, keyed by jQuery link selector.
290 * See README.txt for a listing of the options, and popups_admin.module for examples. 290 * See README.txt for a listing of the options, and popups_admin.module for examples.
291 */ 291 */
292 function popups_add_popups($rules=NULL) { 292 function popups_add_popups($rules=NULL) {
293 static $added = FALSE; 293 static $added = FALSE;
294 static $shouldAdd = NULL;
295 if (is_null($shouldAdd)) {
296 $shouldAdd = !isset($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || $_SESSION['page_override'];
297 }
294 $settings = array('popups' => array()); 298 $settings = array('popups' => array());
295 299
296 if (is_array($rules)) { 300 if (is_array($rules)) {
297 $settings['popups']['links'] = array(); 301 $settings['popups']['links'] = array();
298 foreach ($rules as $popup_selector => $options) { 302 foreach ($rules as $popup_selector => $options) {
305 } 309 }
306 if($added) { 310 if($added) {
307 drupal_add_js( $settings, 'setting' ); 311 drupal_add_js( $settings, 'setting' );
308 } 312 }
309 } 313 }
310 if (!$added) { 314 if (!$added && $shouldAdd) {
311 // Determing if we are showing the default theme or a custom theme. 315 // Determing if we are showing the default theme or a custom theme.
312 global $custom_theme; 316 global $custom_theme;
313 $theme = $custom_theme; 317 $theme = $custom_theme;
314 if (!$theme) { 318 if (!$theme) {
315 $theme = variable_get('theme_default','none'); 319 $theme = variable_get('theme_default','none');