From 9dcc00bafdb4b74e43e02f482d309d2094eb7597 Mon Sep 17 00:00:00 2001 From: Thomas Speak Date: Sat, 24 Aug 2013 09:34:11 +1200 Subject: [PATCH] FIX: missing owner call --- code/extensions/GoogleSitemapExtension.php | 22 +++++++++++----------- tests/GoogleSitemapTest.php | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/code/extensions/GoogleSitemapExtension.php b/code/extensions/GoogleSitemapExtension.php index 1bf418f..347dfe7 100644 --- a/code/extensions/GoogleSitemapExtension.php +++ b/code/extensions/GoogleSitemapExtension.php @@ -7,17 +7,17 @@ * @package googlesitemaps */ class GoogleSitemapExtension extends DataExtension { - - /** - * @return boolean - */ - public function canIncludeInGoogleSitemap() { - $can = true; - if(method_exists($this, 'AbsoluteLink')) { - $objHttp = parse_url($this->AbsoluteLink(), PHP_URL_HOST); - $hostHttp = parse_url('http://' . $_SERVER['HTTP_HOST'], PHP_URL_HOST); - + /** + * @return boolean + */ + public function canIncludeInGoogleSitemap() { + $can = true; + + if($this->owner->hasMethod('AbsoluteLink')) { + $hostHttp = parse_url(Director::protocolAndHost(), PHP_URL_HOST); + $objHttp = parse_url($this->owner->AbsoluteLink(), PHP_URL_HOST); + if($objHttp != $hostHttp) { $can = false; } @@ -34,7 +34,7 @@ class GoogleSitemapExtension extends DataExtension { $this->owner->extend('alterCanIncludeInGoogleSitemap', $can); return $can; - } + } /** diff --git a/tests/GoogleSitemapTest.php b/tests/GoogleSitemapTest.php index 6b0c123..36499b5 100644 --- a/tests/GoogleSitemapTest.php +++ b/tests/GoogleSitemapTest.php @@ -249,7 +249,7 @@ class GoogleSitemapTest_DataObject extends DataObject implements TestOnly { } public function AbsoluteLink() { - return Director::baseURL(); + return Director::absoluteBaseURL(); } } @@ -268,7 +268,7 @@ class GoogleSitemapTest_OtherDataObject extends DataObject implements TestOnly { } public function AbsoluteLink() { - return Director::baseURL(); + return Director::absoluteBaseURL(); } } @@ -287,6 +287,6 @@ class GoogleSitemapTest_UnviewableDataObject extends DataObject implements TestO } public function AbsoluteLink() { - return Director::baseURL(); + return Director::absoluteBaseURL(); } }