From c9369829a6c3924ecde4501b7d0c739da96ca0ee Mon Sep 17 00:00:00 2001 From: RayEhrhardt Date: Thu, 18 May 2017 13:11:34 +0200 Subject: [PATCH] #5078: ecomm_totalvalue darf nicht in Apostrophen stehen --- .../widget/inc/d3ga_universal_remarketing.tpl | 72 +- .../d3/d3_googleanalytics/metadata.php | 2 +- .../setup/d3_googleanalytics_update.php | 654 +++++++++--------- setup+doku/Precheck/d3precheck.php | 2 +- setup+doku/changelog.txt | 223 +++--- 5 files changed, 479 insertions(+), 474 deletions(-) diff --git a/changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl b/changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl index d18a37d..06059d5 100644 --- a/changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl +++ b/changed_full/490-/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl @@ -1,37 +1,37 @@ -[{if $oD3GASettings->getValue('blD3GASetRemarketing') && - $oD3GASettings->getValue('sD3GARemarketingConversionId')}] - - [{block name="UniversalAdwordsRemarketing"}] - [{*-- Google Code für ein Remarketing-Tag -- - -------------------------------------------------- - Remarketing-Tags dürfen nicht mit personenbezogenen Daten verknüpft oder auf Seiten platziert werden, - die sensiblen Kategorien angehören. Weitere Informationen und Anleitungen zur Einrichtung des Tags - erhalten Sie unter: http://google.com/ads/remarketingsetup - ---------------------------------------------------*}] - - - - - - [{/block}] +[{if $oD3GASettings->getValue('blD3GASetRemarketing') && + $oD3GASettings->getValue('sD3GARemarketingConversionId')}] + + [{block name="UniversalAdwordsRemarketing"}] + [{*-- Google Code für ein Remarketing-Tag -- + -------------------------------------------------- + Remarketing-Tags dürfen nicht mit personenbezogenen Daten verknüpft oder auf Seiten platziert werden, + die sensiblen Kategorien angehören. Weitere Informationen und Anleitungen zur Einrichtung des Tags + erhalten Sie unter: http://google.com/ads/remarketingsetup + ---------------------------------------------------*}] + + + + + + [{/block}] [{/if}] \ No newline at end of file diff --git a/copy_this/modules/d3/d3_googleanalytics/metadata.php b/copy_this/modules/d3/d3_googleanalytics/metadata.php index 984bc44..ee203f2 100644 --- a/copy_this/modules/d3/d3_googleanalytics/metadata.php +++ b/copy_this/modules/d3/d3_googleanalytics/metadata.php @@ -40,7 +40,7 @@ $aModule = array( 'Trusted Shops account to your shop.', ), 'thumbnail' => 'picture.png', - 'version' => '3.4.0.0', + 'version' => '3.4.0.1', 'author' => 'D³ Data Development (Inh. Thomas Dartsch)', 'email' => 'support@shopmodule.com', 'url' => 'http://www.oxidmodule.com/', diff --git a/copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php b/copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php index 2213f94..53962bc 100644 --- a/copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php +++ b/copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php @@ -1,326 +1,328 @@ - - * @link http://www.oxidmodule.com - */ - -class d3_googleanalytics_update extends d3install_updatebase -{ - public $sModKey = 'd3_googleanalytics'; - - public $sModName = 'Google Services Schnittstelle'; - - public $sModVersion = '3.4.0.0'; - - public $sModRevision = '242'; - - // heredoc syntax using for class members is available from PHP 5.3 up - public $sBaseConf = - "ZJ0MzB1N2F3em43V1dqWXkvVnc1WXVOeStnMU95aHM2d1BiZEJlbGVhbzNIcE5nTVJxQlZYOEFwU2RrK -2dBSUlQNm43Ly9ldkNZUlFEemNNNmVvVXlTNWRwSVp5RGk4UGxKb2xTckQ4U2pRWUZKVFR1bWx3N0dRU -3FzbThEOGNqSWcvZDFXNVJhSlUydEFwejZ2OFRRektPai9nNVcvWGJURGV2SGJpTkZxMjBOM1pXMkJRU -jVoN1dybnBhTlFWQ0s2Lzh4NjMvZXZMMlJHV21LTnNJcDBIWngxSkJVM3hDODZ4bzBaWS9zRHZ1WC9jY -UtkNFB6WEdzR2NLMG8yWGpMdG9XTmZsQ0lCNkdGSzZ1N0JRMFVlV3JhRXhtZ2tNUi9pd3hsMDIwRlNHY -np5bjJIQjE5aGIycW4wSGpCQXI5alVwYmJreTBRS3NMckNQODZvYXJnZjdBPT0="; - - public $sRequirements = ''; - - public $sBaseValue = 'TyUzQTglM0ElMjJzdGRDbGFzcyUyMiUzQTMwJTNBJTdCcyUzQTIxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FUeXBlJTIyJTNCcyUzQTklM0ElMjJ1bml2ZXJzYWwlMjIlM0JzJTNBMTklM0ElMjJkM19jZmdfbW9kX19zRDNHQUlkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19ibEQzR0FBbm9ueW1pemVJUCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0EyNyUzQSUyMmQzX2NmZ19tb2RfX2lEM0dBU2FtcGxlUmF0ZSUyMiUzQnMlM0EzJTNBJTIyMTAwJTIyJTNCcyUzQTM1JTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVHJhY2tQYWdlTG9hZFRpbWUlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzYlM0ElMjJkM19jZmdfbW9kX19pRDNHQVNpdGVTcGVlZFNhbXBsZVJhdGUlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VSZW1hcmtldGluZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNlbmRFQ29tbWVyY2UlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjYlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VOZXR0byUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQUFsbG93RG9tYWluTGlua2VyJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMwJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXREb21haW5OYW1lJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENvb2tpZVBhdGglMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENsaWVudEluZm8lMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXREZXRlY3RGbGFzaCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMiUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldERldGVjdFRpdGxlJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVXNlQ3VzdG9tVmFycyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENhbXBhaWduVHJhY2slMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXRDYW1wTm9LZXklMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBJZEtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTmFtZUtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMzJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTWVkaXVtS2V5JTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBTb3VyY2VLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcFRlcm1LZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcENvbnRlbnRLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzOSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENvbnZlcnNpb25UcmFja2luZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBQWRXb3JkQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19zRDNHQUFkV29yZENvbnZlcnNpb25MYWJlbCUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMyJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBU2V0UmVtYXJrZXRpbmclMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBNDAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBNDMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbkxhYmVsJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0IlN0Q='; - - protected $_aUpdateMethods = array( - array( - 'check' => 'checkModCfgItemExist', - 'do' => 'updateModCfgItemExist' - ), - array( - 'check' => 'checkFields', - 'do' => 'fixFields' - ), - array( - 'check' => 'checkContentGANoticeItemExist', - 'do' => 'updateContentGANoticeItemExist' - ), - array( - 'check' => 'checkModCfgSameRevision', - 'do' => 'updateModCfgSameRevision' - ), - ); - - public $aFields = array( - 'D3_GALOCATOR' => array( - 'sTableName' => 'oxorderarticles', - 'sFieldName' => 'D3_GALOCATOR', - 'sType' => 'VARCHAR(255)', - 'blNull' => false, - 'sDefault' => '', - 'sComment' => '', - 'sExtra' => '', - 'blMultilang' => false, - ), - ); - - protected $_aRefreshMetaModuleIds = array('d3_googleanalytics'); - - /** - * @return bool - */ - public function checkModCfgItemExist() - { - $blRet = false; - foreach ($this->getShopList() as $oShop) { - /** @var $oShop oxshop */ - $aWhere = array( - 'oxmodid' => $this->sModKey, - 'oxnewrevision' => $this->sModRevision, - 'oxshopid' => $oShop->getId(), - ); - - $blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere); - - if ($blRet) { - return $blRet; - } - } - - return $blRet; - } - - /** - * @return bool - */ - public function updateModCfgItemExist() - { - $blRet = false; - - if ($this->checkModCfgItemExist()) { - foreach ($this->getShopList() as $oShop) { - /** @var $oShop oxshop */ - $aWhere = array( - 'oxmodid' => $this->sModKey, - 'oxshopid' => $oShop->getId(), - 'oxnewrevision' => $this->sModRevision, - ); - - if ($this->_checkTableItemNotExist('d3_cfg_mod', $aWhere)) { - // update don't use this property - unset($aWhere['oxnewrevision']); - - $aInsertFields = array( - 'OXID' => array( - 'content' => "md5('" . $this->sModKey . " " . $oShop->getId() . "')", - 'force_update' => false, - 'use_quote' => false, - ), - 'OXSHOPID' => array( - 'content' => $oShop->getId(), - 'force_update' => false, - 'use_quote' => true, - ), - 'OXMODID' => array( - 'content' => $this->sModKey, - 'force_update' => true, - 'use_quote' => true, - ), - 'OXNAME' => array( - 'content' => $this->sModName, - 'force_update' => true, - 'use_quote' => true, - ), - 'OXACTIVE' => array( - 'content' => "0", - 'force_update' => false, - 'use_quote' => false, - ), - 'OXBASECONFIG' => array( - 'content' => $this->sBaseConf, - 'force_update' => true, - 'use_quote' => true, - ), - 'OXINSTALLDATE' => array( - 'content' => "NOW()", - 'force_update' => true, - 'use_quote' => false, - ), - 'OXVERSION' => array( - 'content' => $this->sModVersion, - 'force_update' => true, - 'use_quote' => true, - ), - 'OXSHOPVERSION' => array( - 'content' => oxRegistry::getConfig()->getEdition(), - 'force_update' => true, - 'use_quote' => true, - ), - 'OXREQUIREMENTS' => array( - 'content' => $this->sRequirements, - 'force_update' => true, - 'use_quote' => true, - ), - 'OXVALUE' => array( - 'content' => $this->sBaseValue, - 'force_update' => false, - 'use_quote' => true, - ), - 'OXNEWREVISION' => array( - 'content' => $this->sModRevision, - 'force_update' => true, - 'use_quote' => true, - ), - ); - $aRet = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhere); - $blRet = $aRet['blRet']; - $this->setActionLog('SQL', $aRet['sql'], __METHOD__); - $this->setUpdateBreak(false); - - if ($this->getStepByStepMode()) { - break; - } - } - } - } - - return $blRet; - } - - /** - * @return bool - */ - public function checkContentGANoticeItemExist() - { - $blRet = false; - foreach ($this->getShopList() as $oShop) { - /** @var $oShop oxshop */ - $aWhere = array( - 'oxloadid' => 'Analytics_Security_Informations', - 'oxshopid' => $oShop->getId(), - ); - - $blRet = $this->_checkTableItemNotExist('oxcontents', $aWhere); - - if ($blRet) { - return $blRet; - } - } - - return $blRet; - } - - /** - * @return bool - */ - public function updateContentGANoticeItemExist() - { - $blRet = false; - - if ($this->checkContentGANoticeItemExist()) { - foreach ($this->getShopList() as $oShop) { - /** @var $oShop oxshop */ - $aWhere = array( - 'oxloadid' => 'Analytics_Security_Informations', - 'oxshopid' => $oShop->getId(), - ); - - if ($this->_checkTableItemNotExist('oxcontents', $aWhere)) { - $aInsertFields = array( - 'OXID' => array( - 'content' => "md5(RAND())", - 'force_update' => false, - ), - 'OXLOADID' => array( - 'content' => "'Analytics_Security_Informations'", - 'force_update' => true, - ), - 'OXSHOPID' => array( - 'content' => "'" . $oShop->getId() . "'", - 'force_update' => true, - ), - 'OXSNIPPET' => array( - 'content' => "'1'", - 'force_update' => false, - ), - 'OXTYPE' => array( - 'content' => "'0'", - 'force_update' => false, - ), - 'OXACTIVE' => array( - 'content' => "'1'", - 'force_update' => false, - ), - 'OXACTIVE_1' => array( - 'content' => "'1'", - 'force_update' => false, - ), - 'OXPOSITION' => array( - 'content' => "''", - 'force_update' => false, - ), - 'OXTITLE' => array( - 'content' => "'Analytics Datenschutz Information'", - 'force_update' => false, - ), - 'OXCONTENT' => array( - 'content' => "'

Diese Website benutzt Google Analytics, einen Webanalysedienst der Google\r\n\r\nInc. ("Google"). Google Analytics verwendet sog. "Cookies", Textdateien, die auf\r\n\r\nIhrem Computer gespeichert werden und die eine Analyse der Benutzung der Website\r\n\r\ndurch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre\r\n\r\nBenutzung dieser Website (einschließlich Ihrer IP-Adresse, die jedoch mit der Methode _anonymizeIp() anonymisiert wird, so dass Sie nicht mehr einem Anschluss\r\n\r\nzugeordnet werden kann) wird an einen Server von Google in den USA\r\n\r\nübertragen und dort gespeichert. Google wird diese Informationen benutzen, um\r\n\r\nIhre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten für\r\n\r\ndie Websitebetreiber zusammenzustellen und um weitere mit der Websitenutzung und\r\n\r\nder Internetnutzung verbundene Dienstleistungen zu erbringen. Auch wird Google\r\n\r\ndiese Informationen gegebenenfalls an Dritte übertragen, sofern dies gesetzlich\r\n\r\nvorgeschrieben oder soweit Dritte diese Daten im Auftrag von Google verarbeiten.\r\n\r\nGoogle wird in keinem Fall Ihre IP-Adresse mit anderen Daten von Google in\r\n\r\nVerbindung bringen. Sie können die Installation der Cookies durch eine\r\n\r\nentsprechende Einstellung Ihrer Browser Software verhindern; wir weisen Sie\r\n\r\njedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche\r\n\r\nFunktionen dieser Website vollumfänglich nutzen können. Durch die Nutzung dieser\r\n\r\nWebsite erklären Sie sich mit der Bearbeitung der über Sie erhobenen Daten durch\r\n\r\nGoogle in der zuvor beschriebenen Art und Weise und zu dem zuvor benannten Zweck\r\n\r\neinverstanden.

\r\n

Sie können der Erhebung der\r\n\r\nDaten durch Google-Analytics mit Wirkung für die Zukunft widersprechen, indem\r\n\r\nsie ein Deaktivierungs-Add-on (http://tools.google.com/dlpage/gaoptout?hl=de)\r\n\r\nfür Ihren Browser installieren.

'", - 'force_update' => false, - ), - 'OXCATID' => array( - 'content' => "''", - 'force_update' => false, - ), - 'OXFOLDER' => array( - 'content' => "'CMSFOLDER_USERINFO'", - 'force_update' => false, - ), - ); - $aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere); - $blRet = $aRet['blRet']; - - $this->setActionLog('SQL', $aRet['sql'], __METHOD__); - $this->setUpdateBreak(false); - - if ($this->getStepByStepMode()) { - break; - } - } - } - } - - return $blRet; - } - - /** - * @return bool - */ - public function checkModCfgSameRevision() - { - return $this->_checkModCfgSameRevision($this->sModKey); - } - - /** - * @return bool - */ - public function updateModCfgSameRevision() - { - $blRet = false; - - if ($this->checkModCfgSameRevision($this->sModKey)) { - $aRet = $this->_updateModCfgSameRevision($this->sModKey); - - $this->setActionLog('SQL', $aRet['sql'], __METHOD__); - $this->setUpdateBreak(false); - $blRet = $aRet['blRet']; - } - - return $blRet; - } -} + + * @link http://www.oxidmodule.com + */ + +class d3_googleanalytics_update extends d3install_updatebase +{ + public $sModKey = 'd3_googleanalytics'; + + public $sModName = 'Google Services Schnittstelle'; + + public $sModVersion = '3.4.0.1'; + + public $sModRevision = '242'; + + // heredoc syntax using for class members is available from PHP 5.3 up + public $sBaseConf = + "-------------------------------------------------------------------------------- +47PWGtBQVFQVEFDOXp0V0VxUG1nRHZzUUpHYmlxTlVDRzNWay9yTHExYytvbXZiN0oxc0JBY3liMTRlO +FdDTGk3K3ExU2RSUUFaL1c2U1huUkt4ckpmWmtpNERmNnk4dVpXaFJ2N0NIMjlDSFhRSnpwY0ZnRWdjT +ERSZTRObXczSjBCY2VUREtrbUs4ZDhQUXEwN3pTemo1eHBEcG9ieDhzL1lSUjBZZlFXQXNUVXNteUZNc +FN2aUExeEVsSU1IK0l4NFY2eEl6LzBZSlFjSkNIWEFXeG1JNGd6SXorK0FDc2xHblZEVmxNaEQ1dnROd +U5jbUNKaUszK3JlOEt0YTNlL0k4QU9KUVNjSGNweDJBeDF4NGQ1T2tWbWJ2TDBSeWNsRXJCNEtBNzlOb +FZKZXVRN1RMRWpHeUF6eGlCeXdIUHRnMlZzRDN3SEZnRUdIY05SUFZNcjRBPT0= +--------------------------------------------------------------------------------"; + + public $sRequirements = ''; + + public $sBaseValue = 'TyUzQTglM0ElMjJzdGRDbGFzcyUyMiUzQTMwJTNBJTdCcyUzQTIxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FUeXBlJTIyJTNCcyUzQTklM0ElMjJ1bml2ZXJzYWwlMjIlM0JzJTNBMTklM0ElMjJkM19jZmdfbW9kX19zRDNHQUlkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19ibEQzR0FBbm9ueW1pemVJUCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0EyNyUzQSUyMmQzX2NmZ19tb2RfX2lEM0dBU2FtcGxlUmF0ZSUyMiUzQnMlM0EzJTNBJTIyMTAwJTIyJTNCcyUzQTM1JTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVHJhY2tQYWdlTG9hZFRpbWUlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzYlM0ElMjJkM19jZmdfbW9kX19pRDNHQVNpdGVTcGVlZFNhbXBsZVJhdGUlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VSZW1hcmtldGluZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNlbmRFQ29tbWVyY2UlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjYlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FVc2VOZXR0byUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQUFsbG93RG9tYWluTGlua2VyJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMwJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXREb21haW5OYW1lJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENvb2tpZVBhdGglMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENsaWVudEluZm8lMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzIlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXREZXRlY3RGbGFzaCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMiUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldERldGVjdFRpdGxlJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBVXNlQ3VzdG9tVmFycyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENhbXBhaWduVHJhY2slMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzAlM0ElMjJkM19jZmdfbW9kX19ibEQzR0FTZXRDYW1wTm9LZXklMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjklM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBJZEtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTmFtZUtleSUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMzJTNBJTIyZDNfY2ZnX21vZF9fc0QzR0FTZXRDYW1wTWVkaXVtS2V5JTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVNldENhbXBTb3VyY2VLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzMSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcFRlcm1LZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzNCUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBU2V0Q2FtcENvbnRlbnRLZXklMjIlM0JzJTNBMCUzQSUyMiUyMiUzQnMlM0EzOSUzQSUyMmQzX2NmZ19tb2RfX2JsRDNHQVNldENvbnZlcnNpb25UcmFja2luZyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX3NEM0dBQWRXb3JkQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19zRDNHQUFkV29yZENvbnZlcnNpb25MYWJlbCUyMiUzQnMlM0EwJTNBJTIyJTIyJTNCcyUzQTMyJTNBJTIyZDNfY2ZnX21vZF9fYmxEM0dBU2V0UmVtYXJrZXRpbmclMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBNDAlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbklkJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0JzJTNBNDMlM0ElMjJkM19jZmdfbW9kX19zRDNHQVJlbWFya2V0aW5nQ29udmVyc2lvbkxhYmVsJTIyJTNCcyUzQTAlM0ElMjIlMjIlM0IlN0Q='; + + protected $_aUpdateMethods = array( + array( + 'check' => 'checkModCfgItemExist', + 'do' => 'updateModCfgItemExist' + ), + array( + 'check' => 'checkFields', + 'do' => 'fixFields' + ), + array( + 'check' => 'checkContentGANoticeItemExist', + 'do' => 'updateContentGANoticeItemExist' + ), + array( + 'check' => 'checkModCfgSameRevision', + 'do' => 'updateModCfgSameRevision' + ), + ); + + public $aFields = array( + 'D3_GALOCATOR' => array( + 'sTableName' => 'oxorderarticles', + 'sFieldName' => 'D3_GALOCATOR', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => '', + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + ); + + protected $_aRefreshMetaModuleIds = array('d3_googleanalytics'); + + /** + * @return bool + */ + public function checkModCfgItemExist() + { + $blRet = false; + foreach ($this->getShopList() as $oShop) { + /** @var $oShop oxshop */ + $aWhere = array( + 'oxmodid' => $this->sModKey, + 'oxnewrevision' => $this->sModRevision, + 'oxshopid' => $oShop->getId(), + ); + + $blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere); + + if ($blRet) { + return $blRet; + } + } + + return $blRet; + } + + /** + * @return bool + */ + public function updateModCfgItemExist() + { + $blRet = false; + + if ($this->checkModCfgItemExist()) { + foreach ($this->getShopList() as $oShop) { + /** @var $oShop oxshop */ + $aWhere = array( + 'oxmodid' => $this->sModKey, + 'oxshopid' => $oShop->getId(), + 'oxnewrevision' => $this->sModRevision, + ); + + if ($this->_checkTableItemNotExist('d3_cfg_mod', $aWhere)) { + // update don't use this property + unset($aWhere['oxnewrevision']); + + $aInsertFields = array( + 'OXID' => array( + 'content' => "md5('" . $this->sModKey . " " . $oShop->getId() . "')", + 'force_update' => false, + 'use_quote' => false, + ), + 'OXSHOPID' => array( + 'content' => $oShop->getId(), + 'force_update' => false, + 'use_quote' => true, + ), + 'OXMODID' => array( + 'content' => $this->sModKey, + 'force_update' => true, + 'use_quote' => true, + ), + 'OXNAME' => array( + 'content' => $this->sModName, + 'force_update' => true, + 'use_quote' => true, + ), + 'OXACTIVE' => array( + 'content' => "0", + 'force_update' => false, + 'use_quote' => false, + ), + 'OXBASECONFIG' => array( + 'content' => $this->sBaseConf, + 'force_update' => true, + 'use_quote' => true, + ), + 'OXINSTALLDATE' => array( + 'content' => "NOW()", + 'force_update' => true, + 'use_quote' => false, + ), + 'OXVERSION' => array( + 'content' => $this->sModVersion, + 'force_update' => true, + 'use_quote' => true, + ), + 'OXSHOPVERSION' => array( + 'content' => oxRegistry::getConfig()->getEdition(), + 'force_update' => true, + 'use_quote' => true, + ), + 'OXREQUIREMENTS' => array( + 'content' => $this->sRequirements, + 'force_update' => true, + 'use_quote' => true, + ), + 'OXVALUE' => array( + 'content' => $this->sBaseValue, + 'force_update' => false, + 'use_quote' => true, + ), + 'OXNEWREVISION' => array( + 'content' => $this->sModRevision, + 'force_update' => true, + 'use_quote' => true, + ), + ); + $aRet = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhere); + $blRet = $aRet['blRet']; + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + $this->setUpdateBreak(false); + + if ($this->getStepByStepMode()) { + break; + } + } + } + } + + return $blRet; + } + + /** + * @return bool + */ + public function checkContentGANoticeItemExist() + { + $blRet = false; + foreach ($this->getShopList() as $oShop) { + /** @var $oShop oxshop */ + $aWhere = array( + 'oxloadid' => 'Analytics_Security_Informations', + 'oxshopid' => $oShop->getId(), + ); + + $blRet = $this->_checkTableItemNotExist('oxcontents', $aWhere); + + if ($blRet) { + return $blRet; + } + } + + return $blRet; + } + + /** + * @return bool + */ + public function updateContentGANoticeItemExist() + { + $blRet = false; + + if ($this->checkContentGANoticeItemExist()) { + foreach ($this->getShopList() as $oShop) { + /** @var $oShop oxshop */ + $aWhere = array( + 'oxloadid' => 'Analytics_Security_Informations', + 'oxshopid' => $oShop->getId(), + ); + + if ($this->_checkTableItemNotExist('oxcontents', $aWhere)) { + $aInsertFields = array( + 'OXID' => array( + 'content' => "md5(RAND())", + 'force_update' => false, + ), + 'OXLOADID' => array( + 'content' => "'Analytics_Security_Informations'", + 'force_update' => true, + ), + 'OXSHOPID' => array( + 'content' => "'" . $oShop->getId() . "'", + 'force_update' => true, + ), + 'OXSNIPPET' => array( + 'content' => "'1'", + 'force_update' => false, + ), + 'OXTYPE' => array( + 'content' => "'0'", + 'force_update' => false, + ), + 'OXACTIVE' => array( + 'content' => "'1'", + 'force_update' => false, + ), + 'OXACTIVE_1' => array( + 'content' => "'1'", + 'force_update' => false, + ), + 'OXPOSITION' => array( + 'content' => "''", + 'force_update' => false, + ), + 'OXTITLE' => array( + 'content' => "'Analytics Datenschutz Information'", + 'force_update' => false, + ), + 'OXCONTENT' => array( + 'content' => "'

Diese Website benutzt Google Analytics, einen Webanalysedienst der Google\r\n\r\nInc. ("Google"). Google Analytics verwendet sog. "Cookies", Textdateien, die auf\r\n\r\nIhrem Computer gespeichert werden und die eine Analyse der Benutzung der Website\r\n\r\ndurch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre\r\n\r\nBenutzung dieser Website (einschließlich Ihrer IP-Adresse, die jedoch mit der Methode _anonymizeIp() anonymisiert wird, so dass Sie nicht mehr einem Anschluss\r\n\r\nzugeordnet werden kann) wird an einen Server von Google in den USA\r\n\r\nübertragen und dort gespeichert. Google wird diese Informationen benutzen, um\r\n\r\nIhre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten für\r\n\r\ndie Websitebetreiber zusammenzustellen und um weitere mit der Websitenutzung und\r\n\r\nder Internetnutzung verbundene Dienstleistungen zu erbringen. Auch wird Google\r\n\r\ndiese Informationen gegebenenfalls an Dritte übertragen, sofern dies gesetzlich\r\n\r\nvorgeschrieben oder soweit Dritte diese Daten im Auftrag von Google verarbeiten.\r\n\r\nGoogle wird in keinem Fall Ihre IP-Adresse mit anderen Daten von Google in\r\n\r\nVerbindung bringen. Sie können die Installation der Cookies durch eine\r\n\r\nentsprechende Einstellung Ihrer Browser Software verhindern; wir weisen Sie\r\n\r\njedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche\r\n\r\nFunktionen dieser Website vollumfänglich nutzen können. Durch die Nutzung dieser\r\n\r\nWebsite erklären Sie sich mit der Bearbeitung der über Sie erhobenen Daten durch\r\n\r\nGoogle in der zuvor beschriebenen Art und Weise und zu dem zuvor benannten Zweck\r\n\r\neinverstanden.

\r\n

Sie können der Erhebung der\r\n\r\nDaten durch Google-Analytics mit Wirkung für die Zukunft widersprechen, indem\r\n\r\nsie ein Deaktivierungs-Add-on (http://tools.google.com/dlpage/gaoptout?hl=de)\r\n\r\nfür Ihren Browser installieren.

'", + 'force_update' => false, + ), + 'OXCATID' => array( + 'content' => "''", + 'force_update' => false, + ), + 'OXFOLDER' => array( + 'content' => "'CMSFOLDER_USERINFO'", + 'force_update' => false, + ), + ); + $aRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere); + $blRet = $aRet['blRet']; + + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + $this->setUpdateBreak(false); + + if ($this->getStepByStepMode()) { + break; + } + } + } + } + + return $blRet; + } + + /** + * @return bool + */ + public function checkModCfgSameRevision() + { + return $this->_checkModCfgSameRevision($this->sModKey); + } + + /** + * @return bool + */ + public function updateModCfgSameRevision() + { + $blRet = false; + + if ($this->checkModCfgSameRevision($this->sModKey)) { + $aRet = $this->_updateModCfgSameRevision($this->sModKey); + + $this->setActionLog('SQL', $aRet['sql'], __METHOD__); + $this->setUpdateBreak(false); + $blRet = $aRet['blRet']; + } + + return $blRet; + } +} diff --git a/setup+doku/Precheck/d3precheck.php b/setup+doku/Precheck/d3precheck.php index d9329d3..9c084d7 100644 --- a/setup+doku/Precheck/d3precheck.php +++ b/setup+doku/Precheck/d3precheck.php @@ -43,7 +43,7 @@ class requConfig public $sModId = 'd3_googleanalytics'; - public $sModVersion = '3.4.0.0'; + public $sModVersion = '3.4.0.1'; /********************** check configuration section ************************/ diff --git a/setup+doku/changelog.txt b/setup+doku/changelog.txt index bd5fd6c..016013a 100644 --- a/setup+doku/changelog.txt +++ b/setup+doku/changelog.txt @@ -1,110 +1,113 @@ -=> 3.4.0.0 -- Remarketing (via Analytics) eingefügt -- Remarketing-Liste für Startseite eingefügt -- Template-Blöcke eingefügt -- Titel der Konfigurationsseiten angepasst -- Staffelpreisübergaben korrigiert (#3679) -- Steuerberechnung korrigiert -- Scriptsyntax angepasst - -=> 3.3.2.0 -- fix: Optionen im Admin können nicht deaktivert werden - - "Zertifizierter Händler" im Shop aktivieren - - zusätzliche Daten aus Google Shopping übertragen -- fix: Zertifizierte Händler, „locale“ Eintrag auch ohne - aktive Option "zusätzliche Daten aus Google Shopping übertragen" -- fix: Kampagnencode wurde nicht übertragen -- Link "Hilfe starten" korrigieren -- Aktualisierung der Modulinstallationsanleitung / Vorabprüfung (d3precheck) -- freigegeben bis PHP 5.6 - -=> 3.3.1.0 -- Lieferzeitangabe kann nun für lagernde und nicht lagernde Artikel getrennt angegeben werden -- Domainliste bei Verwendung mehrerer Shop-Domains korrigiert -- Schalter für Absprungratenermittlung integriert -- "Zertifizierte Händler"-Variablen werden nur gezeigt, wenn "Zertifizierter Händler" aktiv ist -- JS-Fehler bei unkonfigurierter Absprung-Zeit korrigiert - -=> 3.3.0.1 -- Kompatibilität zu Egate Media PayPal verbessert - -=> 3.3.0.0 -- Google Zertifizierte Händler eingefügt -- Hilfetexte erweitert -- Integration ins Mobile-Theme -- Optimierung der Transaktionsübergaben -- getrackte Absprungrate optimiert -- Konfigurationsvariablen korrigiert -- Fehler bei "toBasket" auf Detailseite ohne Kategorieangabe korrigiert - -=> 3.2.1.0 -- neue Option "Opt Out anzeigen lassen" - -=> 3.2.0.0 -- Tracking für gekaufte Artikel enthält Daten zur Kategorie / Seite, aus der die Artikel zuerst in den Warenkorb gelegt wurden -- Bugfix: Artikeltitel werden escaped, sofern Quotes enthalten sind -- AutoLinker-URL enthält auch abweichende SSL-URLs - -=> 3.1.0.2 -- Bugfix: deaktiviertes Modul kann benötigtes Objekt nicht laden -- Bugfix: Seiten ohne Klassenangaben (z.B. 404-Seiten) versuchen Artikellisten für Remarketing zu laden - -=> 3.1.0.1 -- Universal-Trackingcode für Multi-Domain-Nutzung angepasst - -=> 3.1.0.0 -- Universal-Analytics Tracking-Code implementiert -- zusätzliche Steuerungsparameter eingefügt -- Trichtererfassung vereinfacht -- konfigurierbarerer AdWords Conversion-Trackingcode integriert -- Remarketing-Tags integriert - -=> 3.0.0.3 -- Precheck angepasst -- Templates für 4.8.0 / 5.1.0 hinzugefügt - -=> 3.0.0.2 -- automatische Installation angepasst - -=> 3.0.0.1 -- Umstellung auf teilautomatische Installation -- Übergabe der Steuer - -=> 3.0.0.0 -- Umstellung auf Struktur des OXID 4.7 / 5.0 -- benutzerdefinierte Variablen um "Neukunde" ergänzt -- Trackingcode in verschoben -- optionales Logging integriert - -=> 2.4.1 -- Templates für OXID 4.6.4 kompatibel - -=> 2.4.0 -- Remarketing-Option eingefügt -- Metadaten vervollständigt -- Syntaxfehler im JS-Code entfernt - -=> 2.3.0 -- Templates für OXID 4.5.11 und 4.6.2 kompatibel -- weitere Beispiele für benutzerdefinierte Variablen eingefügt - -=> 2.2.3 -- Templates für OXID 4.6 eingefügt -- Metadaten eingefügt -- Templates für OXID 4.5.9 kompatibel - -=> 2.2.2 -- Templates für OXID 4.5.8 kompatibel -- Syntaxfehler im JS-Code entfernt - -=> 2.2.1 -- Templates für OXID 4.5.3 bis 4.5.6 kompatibel -- Syntaxfehler im JS-Code entfernt - -=> 2.2.0 -- Kampagnen können unabhängig von deren Code deaktiviert werden -- Ladezeit-Log hinzugefügt -- Preise werden in Shophauptwährung übertragen -- Templates für OXID 4.5.1 kompatibel - -... +=> 3.4.0.1 +- #5078: ecomm_totalvalue darf nicht in Apostrophen stehen + +=> 3.4.0.0 +- Remarketing (via Analytics) eingefügt +- Remarketing-Liste für Startseite eingefügt +- Template-Blöcke eingefügt +- Titel der Konfigurationsseiten angepasst +- Staffelpreisübergaben korrigiert (#3679) +- Steuerberechnung korrigiert +- Scriptsyntax angepasst + +=> 3.3.2.0 +- fix: Optionen im Admin können nicht deaktivert werden + - "Zertifizierter Händler" im Shop aktivieren + - zusätzliche Daten aus Google Shopping übertragen +- fix: Zertifizierte Händler, „locale“ Eintrag auch ohne + aktive Option "zusätzliche Daten aus Google Shopping übertragen" +- fix: Kampagnencode wurde nicht übertragen +- Link "Hilfe starten" korrigieren +- Aktualisierung der Modulinstallationsanleitung / Vorabprüfung (d3precheck) +- freigegeben bis PHP 5.6 + +=> 3.3.1.0 +- Lieferzeitangabe kann nun für lagernde und nicht lagernde Artikel getrennt angegeben werden +- Domainliste bei Verwendung mehrerer Shop-Domains korrigiert +- Schalter für Absprungratenermittlung integriert +- "Zertifizierte Händler"-Variablen werden nur gezeigt, wenn "Zertifizierter Händler" aktiv ist +- JS-Fehler bei unkonfigurierter Absprung-Zeit korrigiert + +=> 3.3.0.1 +- Kompatibilität zu Egate Media PayPal verbessert + +=> 3.3.0.0 +- Google Zertifizierte Händler eingefügt +- Hilfetexte erweitert +- Integration ins Mobile-Theme +- Optimierung der Transaktionsübergaben +- getrackte Absprungrate optimiert +- Konfigurationsvariablen korrigiert +- Fehler bei "toBasket" auf Detailseite ohne Kategorieangabe korrigiert + +=> 3.2.1.0 +- neue Option "Opt Out anzeigen lassen" + +=> 3.2.0.0 +- Tracking für gekaufte Artikel enthält Daten zur Kategorie / Seite, aus der die Artikel zuerst in den Warenkorb gelegt wurden +- Bugfix: Artikeltitel werden escaped, sofern Quotes enthalten sind +- AutoLinker-URL enthält auch abweichende SSL-URLs + +=> 3.1.0.2 +- Bugfix: deaktiviertes Modul kann benötigtes Objekt nicht laden +- Bugfix: Seiten ohne Klassenangaben (z.B. 404-Seiten) versuchen Artikellisten für Remarketing zu laden + +=> 3.1.0.1 +- Universal-Trackingcode für Multi-Domain-Nutzung angepasst + +=> 3.1.0.0 +- Universal-Analytics Tracking-Code implementiert +- zusätzliche Steuerungsparameter eingefügt +- Trichtererfassung vereinfacht +- konfigurierbarerer AdWords Conversion-Trackingcode integriert +- Remarketing-Tags integriert + +=> 3.0.0.3 +- Precheck angepasst +- Templates für 4.8.0 / 5.1.0 hinzugefügt + +=> 3.0.0.2 +- automatische Installation angepasst + +=> 3.0.0.1 +- Umstellung auf teilautomatische Installation +- Übergabe der Steuer + +=> 3.0.0.0 +- Umstellung auf Struktur des OXID 4.7 / 5.0 +- benutzerdefinierte Variablen um "Neukunde" ergänzt +- Trackingcode in verschoben +- optionales Logging integriert + +=> 2.4.1 +- Templates für OXID 4.6.4 kompatibel + +=> 2.4.0 +- Remarketing-Option eingefügt +- Metadaten vervollständigt +- Syntaxfehler im JS-Code entfernt + +=> 2.3.0 +- Templates für OXID 4.5.11 und 4.6.2 kompatibel +- weitere Beispiele für benutzerdefinierte Variablen eingefügt + +=> 2.2.3 +- Templates für OXID 4.6 eingefügt +- Metadaten eingefügt +- Templates für OXID 4.5.9 kompatibel + +=> 2.2.2 +- Templates für OXID 4.5.8 kompatibel +- Syntaxfehler im JS-Code entfernt + +=> 2.2.1 +- Templates für OXID 4.5.3 bis 4.5.6 kompatibel +- Syntaxfehler im JS-Code entfernt + +=> 2.2.0 +- Kampagnen können unabhängig von deren Code deaktiviert werden +- Ladezeit-Log hinzugefügt +- Preise werden in Shophauptwährung übertragen +- Templates für OXID 4.5.1 kompatibel + +...