Index: sections.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/sections/sections.admin.inc,v retrieving revision 1.3.2.16 diff -u -r1.3.2.16 sections.admin.inc --- sections.admin.inc 13 Dec 2009 11:52:17 -0000 1.3.2.16 +++ sections.admin.inc 14 Dec 2009 00:27:46 -0000 @@ -88,6 +88,7 @@ else { $options = array(t('Show on every page except the listed pages.'), t('Show on only the listed pages.')); $description = t("Enter one page per line as Drupal paths. The '*' character is a wildcard. Example paths are %blog for the blog page and %blog-wildcard for every personal blog. %front is the front page.", array('%blog' => 'blog', '%blog-wildcard' => 'blog/*', '%front' => '')); + $description .= ' '. t('Absolute URLs like %url and %url-wildcard can be used for domain based sections.', array('%url' => 'http://example.org/blog', '%url-wildcard' => 'http://example.net/blog/*')); if ($access) { $options[] = t('Show if the following PHP code returns TRUE (PHP-mode, experts only).'); Index: sections.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/sections/sections.module,v retrieving revision 1.21.2.22 diff -u -r1.21.2.22 sections.module --- sections.module 13 Dec 2009 23:16:46 -0000 1.21.2.22 +++ sections.module 14 Dec 2009 00:27:46 -0000 @@ -259,6 +259,18 @@ if ($path != $_GET['q']) { $page_match = $page_match || drupal_match_path($_GET['q'], $row->path); } + + // Evaluate the full URI, to see if that matches, but + // only if the $row path contains at least one :// (full URI) entry + if (strpos($row->path, '://') !== FALSE) { + $uri = url($path, array('absolute' => TRUE)); + $page_match = $page_match || drupal_match_path($uri, $row->path); + if ($path != $_GET['q']) { + $uri = url($_GET['q'], array('absolute' => TRUE)); + $page_match = $page_match || drupal_match_path($_GET['q'], $row->path); + } + } + // When $row->visibility has a value of 0, the block is displayed on // all pages except those listed in $row->path. When set to 1, it // is displayed only on those pages listed in $row->path.