Merge remote-tracking branch 'origin/rel_3.x' into rel_4.x
# Conflicts: # copy_this/modules/d3/d3_googleanalytics/metadata.php # copy_this/modules/d3/d3_googleanalytics/setup/d3_googleanalytics_update.php # copy_this/modules/d3/d3_googleanalytics/views/tpl/widget/inc/d3ga_universal_remarketing.tpl # setup+doku/Precheck/d3precheck.php # setup+doku/changelog.txt
This commit is contained in:
Binary file not shown.
Binary file not shown.
@ -29,4 +29,19 @@ class d3_cfg_googleanalytics extends D3\ModCfg\Application\Controller\Admin\d3_c
|
||||
$this->addTplParam('sMainClass', 'd3_cfg_googleanalytics_main');
|
||||
return parent::render();
|
||||
}
|
||||
|
||||
public function getAdditionalHeadContent()
|
||||
{
|
||||
$oViewConf = oxRegistry::getConfig()->getActiveView()->getViewConfig();
|
||||
$sScriptUrl = $oViewConf->getModuleUrl('d3_googleanalytics', 'out/src/d3_googleanalytics_test.js');
|
||||
|
||||
return parent::getAdditionalHeadContent().'
|
||||
<script src="'.$sScriptUrl.'"></script>
|
||||
<script type="text/javascript">
|
||||
if(null === document.getElementById("SePiRENuJOBWx")){
|
||||
alert("'.oxRegistry::getLang()->translateString('D3_GOOGLEANALYTICS_ADBLOCKER', null, true).'");
|
||||
}
|
||||
</script>
|
||||
';
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,10 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
||||
'details' => 'product',
|
||||
'oxwarticledetails' => 'product',
|
||||
'basket' => 'cart',
|
||||
'order' => 'purchase',
|
||||
'user' => 'cart',
|
||||
'payment' => 'cart',
|
||||
'order' => 'cart',
|
||||
'thankyou' => 'purchase',
|
||||
);
|
||||
|
||||
/**
|
||||
@ -302,19 +305,29 @@ class d3_oxcmp_utils_googleanalytics extends d3_oxcmp_utils_googleanalytics_pare
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates the type of page that the tag is on. Valid values:
|
||||
*
|
||||
* home - Used on the home page or landing page of your site.
|
||||
* searchresults - Used on pages where the results of a user's search are displayed.
|
||||
* category - Used on pages that list multiple items within a category, for example a page showing all shoes in a given style.
|
||||
* product - Used on individual product pages.
|
||||
* cart - Used on the cart/basket/checkout page.
|
||||
* purchase - Used on the page shown once a user has purchased (and so converted), for example a "Thank You" or confirmation page.
|
||||
* other - Used where the page does not fit into the other types of page, for example a "Contact Us" or "About Us" page.
|
||||
*
|
||||
* @link https://developers.google.com/adwords-remarketing-tag/parameters#retail-sites
|
||||
* @return string
|
||||
*/
|
||||
public function d3GetGAPageType()
|
||||
{
|
||||
$oCurrentView = oxRegistry::getConfig()->getActiveView();
|
||||
|
||||
if (is_array($this->aD3GAPageTypes) &&
|
||||
isset($this->aD3GAPageTypes[strtolower($oCurrentView->getClassName())])
|
||||
) {
|
||||
return $this->aD3GAPageTypes[strtolower($oCurrentView->getClassName())];
|
||||
$key = strtolower($oCurrentView->getClassName());
|
||||
if (array_key_exists($key, $this->aD3GAPageTypes)) {
|
||||
return $this->aD3GAPageTypes[$key];
|
||||
};
|
||||
|
||||
return 'Siteview';
|
||||
return 'other';
|
||||
}
|
||||
|
||||
/**
|
||||
|
9
copy_this/modules/d3/d3_googleanalytics/out/src/d3_googleanalytics_test.js
vendored
Normal file
9
copy_this/modules/d3/d3_googleanalytics/out/src/d3_googleanalytics_test.js
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
if (null === document.body) {
|
||||
// add body tag, if it's missing because framesets
|
||||
var b=document.createElement('body');
|
||||
document.getElementsByTagName('html')[0].appendChild(b);
|
||||
}
|
||||
var e=document.createElement('div');
|
||||
e.id='SePiRENuJOBWx';
|
||||
e.style.display='none';
|
||||
document.body.appendChild(e);
|
@ -1,331 +1,331 @@
|
||||
<?php
|
||||
|
||||
use D3\ModCfg\Application\Model\Install\d3install_updatebase;
|
||||
|
||||
/**
|
||||
* This Software is the property of Data Development and is protected
|
||||
* by copyright law - it is NOT Freeware.
|
||||
*
|
||||
* Any unauthorized use of this software without a valid license
|
||||
* is a violation of the license agreement and will be prosecuted by
|
||||
* civil and criminal law.
|
||||
*
|
||||
* http://www.shopmodule.com
|
||||
*
|
||||
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||
* @link http://www.oxidmodule.com
|
||||
*/
|
||||
|
||||
class d3_googleanalytics_update extends d3install_updatebase
|
||||
{
|
||||
public $sModKey = 'd3_googleanalytics';
|
||||
|
||||
public $sModName = 'Google Services Schnittstelle';
|
||||
|
||||
public $sModVersion = '4.0.0.0';
|
||||
|
||||
public $sModRevision = '243';
|
||||
|
||||
// heredoc syntax using for class members is available from PHP 5.3 up
|
||||
public $sBaseConf = <<<KEY
|
||||
--------------------------------------------------------------------------------
|
||||
3b2v2==UkRnWmZRNldtbEprOUd1YnFzNTltbmFxQnhhVW5OVTArUklIYzlyMFRDRmZXckYzaXZMWEhpY
|
||||
lRaOW05M0xBUlBUbncvaXpQWFBkNEJETWd1blZpK1pZYmMxaFJRdnRER2dkSVpGK0VDcmxXT1prUUxGV
|
||||
m1EZEtBakpVK0FZR1U5UGZoaER0YXF0YXFSLzJ3ODcvcUdyRk5rcVhGck9yT0x0SlVUQmZGS3NJRTZIV
|
||||
EphRjNzMlVSLzYrZUx6L2s1OXdhOWFBRGFPaEdpWmdqcmR2QnczV1V2OVEyQ0FVWFFtMXhSUWhqZXJjM
|
||||
lhUUm11Y2VsTG9jRkRHNHJsMEpkZzlweEM4VTc3ay91RTkveUZIMEliN0RHWU1WTHZibERkaGZJbERnb
|
||||
GhDdTJnNEVzS1VMSm92NVJqZXI4azZKcm9qYStwTXZERnB2Nnk2cWZMYWVrelR3PT0=
|
||||
--------------------------------------------------------------------------------
|
||||
KEY;
|
||||
|
||||
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' => "'<p>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<72>glichen. Die durch den Cookie erzeugten Informationen <20>ber Ihre\r\n\r\nBenutzung dieser Website (einschlie<69>lich Ihrer IP-Adresse<span style=\"color: #800000\">, die jedoch mit der Methode _anonymizeIp() anonymisiert wird, so dass Sie nicht mehr einem Anschluss\r\n\r\nzugeordnet werden kann</span>) wird an einen Server von Google in den USA\r\n\r\n<EFBFBD>bertragen und dort gespeichert. Google wird diese Informationen benutzen, um\r\n\r\nIhre Nutzung der Website auszuwerten, um Reports <20>ber die Websiteaktivit<69>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 <20>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<6D>nglich nutzen k<>nnen. Durch die Nutzung dieser\r\n\r\nWebsite erkl<6B>ren Sie sich mit der Bearbeitung der <20>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.</p>\r\n<p><span style=\"color: #800000\">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 (<a href=\"http://tools.google.com/dlpage/gaoptout?hl=de\" title=\"\">http://tools.google.com/dlpage/gaoptout?hl=de</a>)\r\n\r\nf<EFBFBD>r Ihren Browser installieren.</span></p>'",
|
||||
'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;
|
||||
}
|
||||
}
|
||||
<?php
|
||||
|
||||
use D3\ModCfg\Application\Model\Install\d3install_updatebase;
|
||||
|
||||
/**
|
||||
* This Software is the property of Data Development and is protected
|
||||
* by copyright law - it is NOT Freeware.
|
||||
*
|
||||
* Any unauthorized use of this software without a valid license
|
||||
* is a violation of the license agreement and will be prosecuted by
|
||||
* civil and criminal law.
|
||||
*
|
||||
* http://www.shopmodule.com
|
||||
*
|
||||
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||
* @link http://www.oxidmodule.com
|
||||
*/
|
||||
|
||||
class d3_googleanalytics_update extends d3install_updatebase
|
||||
{
|
||||
public $sModKey = 'd3_googleanalytics';
|
||||
|
||||
public $sModName = 'Google Services Schnittstelle';
|
||||
|
||||
public $sModVersion = '4.0.0.0';
|
||||
|
||||
public $sModRevision = '243';
|
||||
|
||||
// heredoc syntax using for class members is available from PHP 5.3 up
|
||||
public $sBaseConf = <<<KEY
|
||||
--------------------------------------------------------------------------------
|
||||
3b2v2==UkRnWmZRNldtbEprOUd1YnFzNTltbmFxQnhhVW5OVTArUklIYzlyMFRDRmZXckYzaXZMWEhpY
|
||||
lRaOW05M0xBUlBUbncvaXpQWFBkNEJETWd1blZpK1pZYmMxaFJRdnRER2dkSVpGK0VDcmxXT1prUUxGV
|
||||
m1EZEtBakpVK0FZR1U5UGZoaER0YXF0YXFSLzJ3ODcvcUdyRk5rcVhGck9yT0x0SlVUQmZGS3NJRTZIV
|
||||
EphRjNzMlVSLzYrZUx6L2s1OXdhOWFBRGFPaEdpWmdqcmR2QnczV1V2OVEyQ0FVWFFtMXhSUWhqZXJjM
|
||||
lhUUm11Y2VsTG9jRkRHNHJsMEpkZzlweEM4VTc3ay91RTkveUZIMEliN0RHWU1WTHZibERkaGZJbERnb
|
||||
GhDdTJnNEVzS1VMSm92NVJqZXI4azZKcm9qYStwTXZERnB2Nnk2cWZMYWVrelR3PT0=
|
||||
--------------------------------------------------------------------------------
|
||||
KEY;
|
||||
|
||||
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' => "'<p>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<72>glichen. Die durch den Cookie erzeugten Informationen <20>ber Ihre\r\n\r\nBenutzung dieser Website (einschlie<69>lich Ihrer IP-Adresse<span style=\"color: #800000\">, die jedoch mit der Methode _anonymizeIp() anonymisiert wird, so dass Sie nicht mehr einem Anschluss\r\n\r\nzugeordnet werden kann</span>) wird an einen Server von Google in den USA\r\n\r\n<EFBFBD>bertragen und dort gespeichert. Google wird diese Informationen benutzen, um\r\n\r\nIhre Nutzung der Website auszuwerten, um Reports <20>ber die Websiteaktivit<69>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 <20>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<6D>nglich nutzen k<>nnen. Durch die Nutzung dieser\r\n\r\nWebsite erkl<6B>ren Sie sich mit der Bearbeitung der <20>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.</p>\r\n<p><span style=\"color: #800000\">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 (<a href=\"http://tools.google.com/dlpage/gaoptout?hl=de\" title=\"\">http://tools.google.com/dlpage/gaoptout?hl=de</a>)\r\n\r\nf<EFBFBD>r Ihren Browser installieren.</span></p>'",
|
||||
'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;
|
||||
}
|
||||
}
|
||||
|
@ -408,6 +408,9 @@ $aLang = array(
|
||||
'Sie in der <a href="https://www.google.de/search?q=Analytics+_opt+out+script" target="gahelp">Google-Suche'.
|
||||
'</a>.</p>',
|
||||
|
||||
'D3_GOOGLEANALYTICS_ADBLOCKER' => 'AdBlocker entdeckt - Bitte deaktivieren Sie diesen f<>r diese Seite, da sonst '.
|
||||
'Teile des Admin-Bereichs nicht richtig geladen werden k<>nnen.',
|
||||
|
||||
// Erweiterung des Links in der Fussnote "Hilfe Starten"
|
||||
'D3_GOOGLEANALYTICS_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Google-Analytics/',
|
||||
);
|
||||
|
@ -408,6 +408,9 @@ $aLang = array(
|
||||
'Sie in der <a href="https://www.google.de/search?q=Analytics+_opt+out+script" target="gahelp">Google-Suche'.
|
||||
'</a>.</p>',
|
||||
|
||||
'D3_GOOGLEANALYTICS_ADBLOCKER' => 'AdBlocker detected - Please deactivate it for this page, because otherwise '.
|
||||
'parts of the admin area can not be loaded correctly.',
|
||||
|
||||
// Erweiterung des Links in der Fussnote "Hilfe Starten"
|
||||
'D3_GOOGLEANALYTICS_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Google-Analytics/',
|
||||
);
|
||||
|
@ -81,19 +81,14 @@
|
||||
[{if $oD3GASettings->getValue('blD3GATrackPageLoadTime')}]
|
||||
[{block name="d3ga_trackpageloadtime"}]
|
||||
var perfData = window.performance.timing;
|
||||
var pageLoadTime = perfData.domComplete - perfData.navigationStart;
|
||||
var loadTime = "";
|
||||
var pageLoadTime =
|
||||
Math.round(
|
||||
(
|
||||
(perfData.domComplete > 0 ? perfData.domComplete : perfData.responseEnd) - perfData.navigationStart
|
||||
) / 1000
|
||||
);
|
||||
|
||||
if (pageLoadTime < 1000) { loadTime = "0-1 seconds"; }
|
||||
else if (pageLoadTime < 2000) { loadTime = "1-2 seconds"; }
|
||||
else if (pageLoadTime < 3000) { loadTime = "2-3 seconds"; }
|
||||
else if (pageLoadTime < 4000) { loadTime = "3-4 seconds"; }
|
||||
else if (pageLoadTime < 5000) { loadTime = "4-5 seconds"; }
|
||||
else if (pageLoadTime < 6000) { loadTime = "5-6 seconds"; }
|
||||
else if (pageLoadTime < 10000) { loadTime = "6-10 seconds"; }
|
||||
else { loadTime = "10+ seconds"; }
|
||||
|
||||
ga('set', 'metric1', loadTime);
|
||||
ga('set', 'metric1', pageLoadTime);
|
||||
[{*ga('send', 'event', 'Page Load Time', loadTime, {'nonInteraction': true});*}]
|
||||
[{/block}]
|
||||
[{/if}]
|
||||
|
@ -13,7 +13,7 @@
|
||||
var google_tag_params = {
|
||||
ecomm_prodid: [{$sD3GARemarketingProdId}],
|
||||
ecomm_pagetype: '[{$sD3GARemarketingPageType}]',
|
||||
ecomm_totalvalue: '[{$sD3GARemarketingPrice}]'
|
||||
ecomm_totalvalue: [{$sD3GARemarketingPrice}]
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,113 +1,116 @@
|
||||
=> 4.0.0.0
|
||||
Oxid V6 Release
|
||||
|
||||
=> 3.4.0.0
|
||||
- Remarketing (via Analytics) eingef<65>gt
|
||||
- Remarketing-Liste f<>r Startseite eingef<65>gt
|
||||
- Template-Bl<42>cke eingef<65>gt
|
||||
- Titel der Konfigurationsseiten angepasst
|
||||
- Staffelpreis<69>bergaben korrigiert (#3679)
|
||||
- Steuerberechnung korrigiert
|
||||
- Scriptsyntax angepasst
|
||||
|
||||
=> 3.3.2.0
|
||||
- fix: Optionen im Admin k<EFBFBD>nnen nicht deaktivert werden
|
||||
- "Zertifizierter H<>ndler" im Shop aktivieren
|
||||
- zus<75>tzliche Daten aus Google Shopping <20>bertragen
|
||||
- fix: Zertifizierte H<>ndler, <20>locale<6C> Eintrag auch ohne
|
||||
aktive Option "zus<75>tzliche Daten aus Google Shopping <20>bertragen"
|
||||
- fix: Kampagnencode wurde nicht <20>bertragen
|
||||
- Link "Hilfe starten" korrigieren
|
||||
- Aktualisierung der Modulinstallationsanleitung / Vorabpr<70>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<EFBFBD>t zu Egate Media PayPal verbessert
|
||||
|
||||
=> 3.3.0.0
|
||||
- Google Zertifizierte H<>ndler eingef<65>gt
|
||||
- Hilfetexte erweitert
|
||||
- Integration ins Mobile-Theme
|
||||
- Optimierung der Transaktions<6E>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<74>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<74>lt auch abweichende SSL-URLs
|
||||
|
||||
=> 3.1.0.2
|
||||
- Bugfix: deaktiviertes Modul kann ben<65>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<75>tzliche Steuerungsparameter eingef<65>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<65>gt
|
||||
|
||||
=> 3.0.0.2
|
||||
- automatische Installation angepasst
|
||||
|
||||
=> 3.0.0.1
|
||||
- Umstellung auf teilautomatische Installation
|
||||
- <20>bergabe der Steuer
|
||||
|
||||
=> 3.0.0.0
|
||||
- Umstellung auf Struktur des OXID 4.7 / 5.0
|
||||
- benutzerdefinierte Variablen um "Neukunde" erg<72>nzt
|
||||
- Trackingcode in <head> verschoben
|
||||
- optionales Logging integriert
|
||||
|
||||
=> 2.4.1
|
||||
- Templates f<>r OXID 4.6.4 kompatibel
|
||||
|
||||
=> 2.4.0
|
||||
- Remarketing-Option eingef<65>gt
|
||||
- Metadaten vervollst<73>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<65>gt
|
||||
|
||||
=> 2.2.3
|
||||
- Templates f<>r OXID 4.6 eingef<65>gt
|
||||
- Metadaten eingef<65>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<62>ngig von deren Code deaktiviert werden
|
||||
- Ladezeit-Log hinzugef<65>gt
|
||||
- Preise werden in Shophauptw<74>hrung <20>bertragen
|
||||
- Templates f<>r OXID 4.5.1 kompatibel
|
||||
|
||||
...
|
||||
=> 3.4.0.0
|
||||
- Remarketing (via Analytics) eingef<65>gt
|
||||
- Remarketing-Liste f<>r Startseite eingef<65>gt
|
||||
- Template-Bl<42>cke eingef<65>gt
|
||||
- Titel der Konfigurationsseiten angepasst
|
||||
- Staffelpreis<EFBFBD>bergaben korrigiert (#3679)
|
||||
- Steuerberechnung korrigiert
|
||||
- Scriptsyntax angepasst
|
||||
|
||||
=> 3.4.0.1
|
||||
- #5078: ecomm_totalvalue darf nicht in Apostrophen stehen
|
||||
- #4814: Remarketing: Werte f<>r ecomm_pagetype anpassen
|
||||
- #4509: changed_full entfernen
|
||||
- AdBlock-Checker in Admin integriert, da dieser die Darstellung des Adminbereichs blockieren kann
|
||||
|
||||
=> 3.3.2.0
|
||||
- fix: Optionen im Admin k<>nnen nicht deaktivert werden
|
||||
- "Zertifizierter H<>ndler" im Shop aktivieren
|
||||
- zus<75>tzliche Daten aus Google Shopping <20>bertragen
|
||||
- fix: Zertifizierte H<>ndler, <20>locale<6C> Eintrag auch ohne
|
||||
aktive Option "zus<75>tzliche Daten aus Google Shopping <20>bertragen"
|
||||
- fix: Kampagnencode wurde nicht <20>bertragen
|
||||
- Link "Hilfe starten" korrigieren
|
||||
- Aktualisierung der Modulinstallationsanleitung / Vorabpr<70>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<EFBFBD>t zu Egate Media PayPal verbessert
|
||||
|
||||
=> 3.3.0.0
|
||||
- Google Zertifizierte H<>ndler eingef<65>gt
|
||||
- Hilfetexte erweitert
|
||||
- Integration ins Mobile-Theme
|
||||
- Optimierung der Transaktions<6E>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<74>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<74>lt auch abweichende SSL-URLs
|
||||
|
||||
=> 3.1.0.2
|
||||
- Bugfix: deaktiviertes Modul kann ben<65>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<EFBFBD>r Multi-Domain-Nutzung angepasst
|
||||
|
||||
=> 3.1.0.0
|
||||
- Universal-Analytics Tracking-Code implementiert
|
||||
- zus<EFBFBD>tzliche Steuerungsparameter eingef<65>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<65>gt
|
||||
|
||||
=> 3.0.0.2
|
||||
- automatische Installation angepasst
|
||||
|
||||
=> 3.0.0.1
|
||||
- Umstellung auf teilautomatische Installation
|
||||
- <EFBFBD>bergabe der Steuer
|
||||
|
||||
=> 3.0.0.0
|
||||
- Umstellung auf Struktur des OXID 4.7 / 5.0
|
||||
- benutzerdefinierte Variablen um "Neukunde" erg<72>nzt
|
||||
- Trackingcode in <head> verschoben
|
||||
- optionales Logging integriert
|
||||
|
||||
=> 2.4.1
|
||||
- Templates f<>r OXID 4.6.4 kompatibel
|
||||
|
||||
=> 2.4.0
|
||||
- Remarketing-Option eingef<65>gt
|
||||
- Metadaten vervollst<73>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<65>gt
|
||||
|
||||
=> 2.2.3
|
||||
- Templates f<>r OXID 4.6 eingef<65>gt
|
||||
- Metadaten eingef<65>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<62>ngig von deren Code deaktiviert werden
|
||||
- Ladezeit-Log hinzugef<65>gt
|
||||
- Preise werden in Shophauptw<74>hrung <20>bertragen
|
||||
- Templates f<>r OXID 4.5.1 kompatibel
|
||||
|
||||
...
|
||||
|
Reference in New Issue
Block a user