GeoIP/copy_this/modules/d3/d3geoip/components/d3cmp_geoip.php
DanielSeifert c6264dfcc9 avoid unset currency on first call,
fix unselectable currencies and languages, if country shop is set to user choice
2016-02-25 16:47:32 +00:00

66 lines
1.9 KiB
PHP

<?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 © D³ Data Development, Thomas Dartsch
* @author D³ Data Development - Daniel Seifert <ds@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3cmp_geoip extends oxView
{
/**
* Marking object as component
*
* @var bool
*/
protected $_blIsComponent = true;
private $_sModId = 'd3_geoip';
/**
* @return null
*/
public function init()
{
if (d3_cfg_mod::get($this->_sModId)->isActive()) {
if (d3_cfg_mod::get($this->_sModId)->hasDebugMode()) {
/** @var $oGeoIp d3geoip */
$oGeoIp = oxNew('d3geoip');
echo $oGeoIp->getIP();
}
/** @var $oLocation d3geoip */
$oLocation = oxNew('d3geoip');
$oLocation->setCountryCurrency();
$oLocation->setCountryLanguage();
if (!isset($oBasket)) {
$oBasket = $this->getSession()->getBasket();
}
// call component again, if curr is registered before we changed it
// reason: own component can added after default components only
if ($oLocation->hasNotSetCurrency($oBasket->getBasketCurrency())) {
/** @var oxUBase $oActView */
$oActView = oxRegistry::getConfig()->getActiveView();
$aComponents = $oActView->getComponents();
/** @var oxcmp_cur $oCurCmp */
$oCurCmp = $aComponents['oxcmp_cur'];
$oCurCmp->init();
}
// language isn't registered, we don't need an additional check
}
parent::init();
}
}