diff options
Diffstat (limited to 'modules/overlay/overlay-parent.js')
-rw-r--r-- | modules/overlay/overlay-parent.js | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/overlay/overlay-parent.js b/modules/overlay/overlay-parent.js index 3519e84f6..71cf3885c 100644 --- a/modules/overlay/overlay-parent.js +++ b/modules/overlay/overlay-parent.js @@ -354,9 +354,14 @@ Drupal.overlay.isAdminLink = function (url) { // Turn the list of administrative paths into a regular expression. if (!this.adminPathRegExp) { - var regExpPrefix = '^' + Drupal.settings.pathPrefix + '('; - var adminPaths = regExpPrefix + Drupal.settings.overlay.paths.admin.replace(/\s+/g, ')$|' + regExpPrefix) + ')$'; - var nonAdminPaths = regExpPrefix + Drupal.settings.overlay.paths.non_admin.replace(/\s+/g, ')$|'+ regExpPrefix) + ')$'; + var prefix = ''; + if (Drupal.settings.overlay.pathPrefixes.length) { + // Allow path prefixes used for language negatiation followed by slash, + // and the empty string. + prefix = '(' + Drupal.settings.overlay.pathPrefixes.join('/|') + '/|)'; + } + var adminPaths = '^' + prefix + '(' + Drupal.settings.overlay.paths.admin.replace(/\s+/g, '|') + ')$'; + var nonAdminPaths = '^' + prefix + '(' + Drupal.settings.overlay.paths.non_admin.replace(/\s+/g, '|') + ')$'; adminPaths = adminPaths.replace(/\*/g, '.*'); nonAdminPaths = nonAdminPaths.replace(/\*/g, '.*'); this.adminPathRegExp = new RegExp(adminPaths); |