diff --git a/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Common/Abstract.php b/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Common/Abstract.php index 7e4bfec..84b2182 100644 --- a/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Common/Abstract.php +++ b/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Common/Abstract.php @@ -66,4 +66,38 @@ public function getProductCategory($product) } return false; } + + /** + * Return REQUEST_URI for current page + * Magento default analytics reports can include the same page as + * /checkout/onepage/index/ and /checkout/onepage/ + * filter out index/ here and unify to no trailing / + * + * @return string + */ + public function getPageName() + { + if (!$this->hasData('page_name')) { + $parts = parse_url( + Mage::getSingleton('core/url')->escape( + Mage::app()->getRequest()->getServer('REQUEST_URI') + ) + ); + $query = ''; + if (isset($parts['query']) && !empty($parts['query'])) { + $query = '?' . $parts['query']; + } + + $url = Mage::getSingleton('core/url')->escape( + rtrim( + str_replace( + 'index/', '', + Mage::app()->getRequest()->getBaseUrl() . Mage::app()->getRequest()->getRequestString() + ), '/' + ). $query + ); + $this->setPageName($url); + } + return $this->getData('page_name'); + } } diff --git a/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Ga.php b/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Ga.php index bc1aecb..458ce3a 100644 --- a/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Ga.php +++ b/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Ga.php @@ -43,25 +43,6 @@ protected function _construct() $this->_helper = Mage::helper('googleanalyticsplus'); } - /** - * Return REQUEST_URI for current page - * Magento default analytics reports can include the same page as - * /checkout/onepage/index/ and /checkout/onepage/ - * filter out index/ here - * - * @return string - */ - public function getPageName() - { - if (!$this->hasData('page_name')) { - $pageName = Mage::getSingleton('core/url')->escape( - Mage::app()->getRequest()->getServer('REQUEST_URI') - ); - $pageName = rtrim(str_replace('index/', '', $pageName), '/'); - $this->setPageName($pageName); - } - return $this->getData('page_name'); - } /** * get the current url to send to Google Analytics diff --git a/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Universal.php b/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Universal.php index a9be7cf..a03e607 100644 --- a/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Universal.php +++ b/app/code/community/Fooman/GoogleAnalyticsPlus/Block/Universal.php @@ -26,7 +26,7 @@ protected function _construct() public function shouldInclude() { if (parent::shouldInclude()) { - return $this->isUniversalEnabled() && (bool)$this->getUniversalSnippet(); + return $this->isUniversalEnabled() && (bool)$this->getUniversalAccount(); } else { return false; } @@ -45,10 +45,29 @@ public function isUniversalEnabled() /** * get universal snippet from settings * + * @deprecated sind 0.14.0 * @return string */ public function getUniversalSnippet() { - return Mage::getStoreConfig('google/analyticsplus_universal/snippet'); + return ''; + } + + /** + * get Google Analytics account id + * + * @return mixed + */ + public function getUniversalAccount() + { + return Mage::getStoreConfig('google/analyticsplus_universal/accountnumber'); + } + + /** + * @return bool + */ + public function getUniversalAnonymise() + { + return Mage::getStoreConfigFlag('google/analyticsplus_universal/anonymise'); } } diff --git a/app/code/community/Fooman/GoogleAnalyticsPlus/etc/config.xml b/app/code/community/Fooman/GoogleAnalyticsPlus/etc/config.xml index a9bcc87..bca6805 100644 --- a/app/code/community/Fooman/GoogleAnalyticsPlus/etc/config.xml +++ b/app/code/community/Fooman/GoogleAnalyticsPlus/etc/config.xml @@ -2,7 +2,7 @@ - 0.13.19 + 0.14.0 diff --git a/app/code/community/Fooman/GoogleAnalyticsPlus/etc/system.xml b/app/code/community/Fooman/GoogleAnalyticsPlus/etc/system.xml index 920d71b..99535f5 100644 --- a/app/code/community/Fooman/GoogleAnalyticsPlus/etc/system.xml +++ b/app/code/community/Fooman/GoogleAnalyticsPlus/etc/system.xml @@ -149,15 +149,25 @@ 1 1 - - - textarea - 20 + + + + text + 100 1 1 1 - 1 - + + + + for details]]> + select + adminhtml/system_config_source_yesno + 200 + 1 + 1 + 1 + diff --git a/app/design/frontend/base/default/template/fooman/googleanalyticsplus/universal.phtml b/app/design/frontend/base/default/template/fooman/googleanalyticsplus/universal.phtml index fe6545b..900d97a 100644 --- a/app/design/frontend/base/default/template/fooman/googleanalyticsplus/universal.phtml +++ b/app/design/frontend/base/default/template/fooman/googleanalyticsplus/universal.phtml @@ -1,5 +1,18 @@ shouldInclude()): ?> - getUniversalSnippet(); ?> + + isSuccessPage()):?> _getOrder();?> +