2013-04-22 11:38:57 +02:00
|
|
|
|
<?php
|
|
|
|
|
/**
|
|
|
|
|
* 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 <EFBFBD> D<EFBFBD> Data Development, Thomas Dartsch
|
|
|
|
|
* @author D<EFBFBD> Data Development - Daniel Seifert <ds@shopmodule.com>
|
|
|
|
|
* @link http://www.oxidmodule.com
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
class d3geoip_update extends d3install_updatebase
|
|
|
|
|
{
|
|
|
|
|
public $sModKey = 'd3_geoip';
|
|
|
|
|
public $sModName = 'GeoIP';
|
2015-12-21 15:08:08 +01:00
|
|
|
|
public $sModVersion = '3.0.1.0';
|
|
|
|
|
public $sModRevision = '63';
|
|
|
|
|
public $sBaseConf = '5FibjlIQlRvbWMzY29mVi85RXFxbkc5bFI3R24rNkd5Y0lEcXJFOGhtaGExRVcyaEF6a281cVhRUXFMU
|
|
|
|
|
0d6dnNDbCtLRVdObFh3bnVEdUNRTFJrVlE5VGtsRkF3Tyt4TU1Pd290WDliOTQ2SUE5Skk0eTcxTGdlT
|
|
|
|
|
XZna0dhS2ZOekJUSC94ZUd5YmxXZzRXcG5QSWcvZnFJa1l0N1MrdWRZaFU1VG5nUGFwNEF1WTh6azNja
|
|
|
|
|
Gs3SmtzQ05SVjROSGdSZ2N0S3Q1TTV1RGlCSU5RZnh1dGVNNVd6bTBzMU1FdHFiNytJQldBRjRTNmx3U
|
|
|
|
|
VVlRkhrRzYxYUtpaWNBOUUrLzZ2YjN5SDM1cllVMTIrYUFPRnRYcFpibHVBQytEQVFnNFV0RWpFZXAwd
|
|
|
|
|
FE9';
|
2013-04-22 11:38:57 +02:00
|
|
|
|
public $sRequirements = '';
|
|
|
|
|
public $sBaseValue = '';
|
|
|
|
|
|
|
|
|
|
protected $_aUpdateMethods = array(
|
|
|
|
|
array('check' => 'checkGeoIpTableExist',
|
|
|
|
|
'do' => 'updateGeoIpTableExist'),
|
|
|
|
|
array('check' => 'checkGeoIpItems',
|
|
|
|
|
'do' => 'updateGeoIpItems'),
|
|
|
|
|
array('check' => 'checkModCfgItemExist',
|
|
|
|
|
'do' => 'updateModCfgItemExist'),
|
2013-04-22 11:48:59 +02:00
|
|
|
|
array('check' => 'checkGeoIpFields',
|
|
|
|
|
'do' => 'fixGeoIpFields'),
|
2013-04-22 11:40:11 +02:00
|
|
|
|
array('check' => 'checkIndizes',
|
|
|
|
|
'do' => 'fixIndizes'),
|
2015-07-21 21:12:55 +02:00
|
|
|
|
array('check' => 'hasUnregisteredFiles',
|
|
|
|
|
'do' => 'showUnregisteredFiles'),
|
2015-12-21 14:28:34 +01:00
|
|
|
|
array('check' => 'checkRegisteredComponent',
|
|
|
|
|
'do' => 'registerComponent'),
|
2013-04-22 11:38:57 +02:00
|
|
|
|
array('check' => 'checkModCfgSameRevision',
|
|
|
|
|
'do' => 'updateModCfgSameRevision'),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// Standardwerte f<>r checkMultiLangTables() und fixRegisterMultiLangTables()
|
|
|
|
|
public $aMultiLangTables = array();
|
|
|
|
|
|
|
|
|
|
public $aFields = array(
|
|
|
|
|
'D3GEOIPSHOP' => array(
|
|
|
|
|
'sTableName' => 'oxcountry',
|
|
|
|
|
'sFieldName' => 'D3GEOIPSHOP',
|
|
|
|
|
'sType' => 'VARCHAR(10)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sDefault' => 'oxbaseshop',
|
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3GEOIPLANG' => array(
|
|
|
|
|
'sTableName' => 'oxcountry',
|
|
|
|
|
'sFieldName' => 'D3GEOIPLANG',
|
|
|
|
|
'sType' => 'TINYINT(2)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sDefault' => '-1',
|
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3GEOIPCUR' => array(
|
|
|
|
|
'sTableName' => 'oxcountry',
|
|
|
|
|
'sFieldName' => 'D3GEOIPCUR',
|
|
|
|
|
'sType' => 'TINYINT(2)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sDefault' => '-1',
|
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3GEOIPURL' => array(
|
|
|
|
|
'sTableName' => 'oxcountry',
|
|
|
|
|
'sFieldName' => 'D3GEOIPURL',
|
|
|
|
|
'sType' => 'VARCHAR(255)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
|
|
|
|
'sDefault' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3STARTIP' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sFieldName' => 'D3STARTIP',
|
2013-04-22 11:48:59 +02:00
|
|
|
|
'sType' => 'VARCHAR(39)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
|
|
|
|
'sDefault' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3ENDIP' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sFieldName' => 'D3ENDIP',
|
2013-04-22 11:48:59 +02:00
|
|
|
|
'sType' => 'VARCHAR(39)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
|
|
|
|
'sDefault' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3STARTIPNUM' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sFieldName' => 'D3STARTIPNUM',
|
2013-04-22 11:48:59 +02:00
|
|
|
|
'sType' => 'DECIMAL(38,0)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
|
|
|
|
'sDefault' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3ENDIPNUM' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sFieldName' => 'D3ENDIPNUM',
|
2013-04-22 11:48:59 +02:00
|
|
|
|
'sType' => 'DECIMAL(38,0)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
|
|
|
|
'sDefault' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3ISO' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sFieldName' => 'D3ISO',
|
|
|
|
|
'sType' => 'CHAR(2)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
|
|
|
|
'sDefault' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
'D3COUNTRYNAME' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sFieldName' => 'D3COUNTRYNAME',
|
|
|
|
|
'sType' => 'VARCHAR(50)',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blNull' => false,
|
|
|
|
|
'sDefault' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
'sComment' => '',
|
|
|
|
|
'sExtra' => '',
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'blMultilang' => false,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
public $aIndizes = array(
|
2013-04-22 11:40:11 +02:00
|
|
|
|
'IPNUM' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sType' => 'INDEX',
|
|
|
|
|
'sName' => 'IPNUM',
|
|
|
|
|
'aFields' => array(
|
|
|
|
|
'D3STARTIPNUM' => 'D3STARTIPNUM',
|
|
|
|
|
'D3ENDIPNUM' => 'D3ENDIPNUM',
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
'D3ISO' => array(
|
|
|
|
|
'sTableName' => 'd3geoip',
|
|
|
|
|
'sType' => 'INDEX',
|
|
|
|
|
'sName' => 'D3ISO',
|
|
|
|
|
'aFields' => array(
|
|
|
|
|
'D3ISO' => 'D3ISO',
|
|
|
|
|
),
|
|
|
|
|
),
|
2013-04-22 11:38:57 +02:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function checkGeoIpTableExist()
|
|
|
|
|
{
|
2015-07-21 21:12:55 +02:00
|
|
|
|
return $this->_checkTableNotExist('d3geoip');
|
2013-04-22 11:38:57 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function updateGeoIpTableExist()
|
|
|
|
|
{
|
2015-07-21 21:12:55 +02:00
|
|
|
|
$blRet = false;
|
|
|
|
|
if ($this->checkGeoIpTableExist()) {
|
|
|
|
|
$blRet = $this->_addTable2('d3geoip', $this->aFields, $this->aIndizes, 'GeoIP', 'MyISAM');
|
2013-04-22 11:38:57 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $blRet;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function checkGeoIpItems()
|
|
|
|
|
{
|
|
|
|
|
/** @var $oShop oxshop */
|
|
|
|
|
$aWhere = array(
|
|
|
|
|
'D3ISO' => 'DE',
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$blRet = $this->_checkTableItemNotExist('d3geoip', $aWhere);
|
|
|
|
|
|
|
|
|
|
return $blRet;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function updateGeoIpItems()
|
|
|
|
|
{
|
|
|
|
|
return $this->_confirmMessage('D3_GEOIP_UPDATE_ITEMINSTALL');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function checkModCfgItemExist()
|
|
|
|
|
{
|
2015-07-21 21:12:55 +02:00
|
|
|
|
$blRet = false;
|
|
|
|
|
foreach ($this->getShopList() as $oShop) {
|
2013-04-22 11:38:57 +02:00
|
|
|
|
/** @var $oShop oxshop */
|
|
|
|
|
$aWhere = array(
|
|
|
|
|
'oxmodid' => $this->sModKey,
|
|
|
|
|
'oxnewrevision' => $this->sModRevision,
|
|
|
|
|
'oxshopid' => $oShop->getId(),
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere);
|
|
|
|
|
|
2015-07-21 21:12:55 +02:00
|
|
|
|
if ($blRet) {
|
2013-04-22 11:38:57 +02:00
|
|
|
|
return $blRet;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $blRet;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function updateModCfgItemExist()
|
|
|
|
|
{
|
2015-07-21 21:12:55 +02:00
|
|
|
|
$blRet = false;
|
2013-04-22 11:38:57 +02:00
|
|
|
|
|
2015-07-21 21:12:55 +02:00
|
|
|
|
if ($this->checkModCfgItemExist()) {
|
|
|
|
|
foreach ($this->getShopList() as $oShop) {
|
2013-04-22 11:38:57 +02:00
|
|
|
|
/** @var $oShop oxshop */
|
|
|
|
|
$aWhere = array(
|
|
|
|
|
'oxmodid' => $this->sModKey,
|
|
|
|
|
'oxshopid' => $oShop->getId(),
|
2013-10-25 21:44:17 +02:00
|
|
|
|
'oxnewrevision' => $this->sModRevision,
|
2013-04-22 11:38:57 +02:00
|
|
|
|
);
|
|
|
|
|
|
2015-07-21 21:12:55 +02:00
|
|
|
|
if ($this->_checkTableItemNotExist('d3_cfg_mod', $aWhere)) {
|
2013-10-25 21:44:17 +02:00
|
|
|
|
// update don't use this property
|
|
|
|
|
unset($aWhere['oxnewrevision']);
|
|
|
|
|
|
2013-04-22 11:48:59 +02:00
|
|
|
|
$aInsertFields = array(
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXID',
|
|
|
|
|
'content' => "md5('" . $this->sModKey . " " . $oShop->getId() . " de')",
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => false,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXSHOPID',
|
|
|
|
|
'content' => $oShop->getId(),
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXMODID',
|
|
|
|
|
'content' => $this->sModKey,
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXNAME',
|
|
|
|
|
'content' => $this->sModName,
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXACTIVE',
|
|
|
|
|
'content' => "0",
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => false,
|
|
|
|
|
'use_quote' => false,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXBASECONFIG',
|
|
|
|
|
'content' => $this->sBaseConf,
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXSERIAL',
|
|
|
|
|
'content' => "",
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => false,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXINSTALLDATE',
|
|
|
|
|
'content' => "NOW()",
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => false,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXVERSION',
|
|
|
|
|
'content' => $this->sModVersion,
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXSHOPVERSION',
|
|
|
|
|
'content' => oxRegistry::getConfig()->getEdition(),
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array (
|
|
|
|
|
'fieldname' => 'OXREQUIREMENTS',
|
|
|
|
|
'content' => $this->sRequirements,
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array(
|
|
|
|
|
'fieldname' => 'OXVALUE',
|
|
|
|
|
'content' => $this->sBaseValue,
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => false,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
),
|
|
|
|
|
array(
|
|
|
|
|
'fieldname' => 'OXNEWREVISION',
|
|
|
|
|
'content' => $this->sModRevision,
|
2015-07-21 21:12:55 +02:00
|
|
|
|
'force_update' => true,
|
|
|
|
|
'use_quote' => true,
|
|
|
|
|
'use_multilang' => false,
|
2013-04-22 11:48:59 +02:00
|
|
|
|
)
|
|
|
|
|
);
|
2015-07-21 21:12:55 +02:00
|
|
|
|
$blRet = $this->_updateTableItem2('d3_cfg_mod', $aInsertFields, $aWhere);
|
2013-04-22 11:48:59 +02:00
|
|
|
|
|
2015-07-21 21:12:55 +02:00
|
|
|
|
if ($this->getStepByStepMode()) {
|
2013-04-22 11:48:59 +02:00
|
|
|
|
break;
|
|
|
|
|
}
|
2013-04-22 11:38:57 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return $blRet;
|
|
|
|
|
}
|
2013-04-22 11:48:59 +02:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* change default value for shop id in EE
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function checkGeoIpFields()
|
|
|
|
|
{
|
|
|
|
|
/** @var $oShop oxshop */
|
2015-07-21 21:12:55 +02:00
|
|
|
|
$oShop = $this->getShopList()->current();
|
2013-04-22 11:48:59 +02:00
|
|
|
|
$this->aFields['D3GEOIPSHOP']['sDefault'] = $oShop->getId();
|
|
|
|
|
|
|
|
|
|
return $this->checkFields();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* change default value for shop id in EE
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function fixGeoIpFields()
|
|
|
|
|
{
|
|
|
|
|
/** @var $oShop oxshop */
|
2015-07-21 21:12:55 +02:00
|
|
|
|
$oShop = $this->getShopList()->current();
|
2013-04-22 11:48:59 +02:00
|
|
|
|
$this->aFields['D3GEOIPSHOP']['sDefault'] = $oShop->getId();
|
|
|
|
|
|
|
|
|
|
return $this->fixFields();
|
|
|
|
|
}
|
2015-07-21 21:12:55 +02:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function hasUnregisteredFiles()
|
|
|
|
|
{
|
|
|
|
|
return $this->_hasUnregisteredFiles('d3geoip', array('d3FileRegister'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function showUnregisteredFiles()
|
|
|
|
|
{
|
|
|
|
|
return $this->_showUnregisteredFiles('d3geoip', array('d3FileRegister'));
|
|
|
|
|
}
|
2015-12-21 14:28:34 +01:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function checkRegisteredComponent()
|
|
|
|
|
{
|
|
|
|
|
$sVarName = 'aUserComponentNames';
|
|
|
|
|
$sModuleId = '';
|
|
|
|
|
/** @var $oShop oxshop */
|
|
|
|
|
foreach ($this->getShopListByActiveModule('d3geoip') as $oShop) {
|
|
|
|
|
/** @var array $aUserComponents */
|
|
|
|
|
$aUserComponents = oxRegistry::getConfig()->getShopConfVar($sVarName, $oShop->getId(), $sModuleId);
|
|
|
|
|
|
|
|
|
|
if (false == $aUserComponents
|
|
|
|
|
|| false == $aUserComponents['d3cmp_geoip']
|
|
|
|
|
) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function registerComponent()
|
|
|
|
|
{
|
|
|
|
|
$blRet = true;
|
|
|
|
|
$sVarName = 'aUserComponentNames';
|
|
|
|
|
$sModuleId = '';
|
|
|
|
|
|
|
|
|
|
/** @var $oShop oxshop */
|
|
|
|
|
foreach ($this->getShopList() as $oShop) {
|
|
|
|
|
$aUserComponents = oxRegistry::getConfig()->getShopConfVar($sVarName, $oShop->getId(), $sModuleId);
|
|
|
|
|
if (false == $aUserComponents) {
|
|
|
|
|
$aUserComponents = array();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (false == $aUserComponents['d3cmp_geoip']) {
|
|
|
|
|
$blDontUseCache = 1;
|
|
|
|
|
$aUserComponents['d3cmp_geoip'] = $blDontUseCache;
|
|
|
|
|
$this->fixOxconfigVariable($sVarName, $oShop->getId(), '', $aUserComponents, 'arr');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $blRet;
|
|
|
|
|
}
|
2015-07-21 21:12:55 +02:00
|
|
|
|
}
|