add redirect url, modcfg, options, test and debug modes, documentation etc.

This commit is contained in:
2012-01-31 22:21:28 +00:00
parent 9f5a70d89e
commit 0fa7393436
33 changed files with 1304 additions and 2010 deletions

27
.gitattributes vendored
View File

@ -1,12 +1,26 @@
* text=auto !eol
changed_full/EE/EE420-EE456/out/admin/de/d3_geoip_lang.php -text
changed_full/EE/EE420-EE456/out/admin/tpl/d3_cfg_geoipset_main.tpl -text
changed_full/EE/EE420-EE456/out/admin/tpl/d3_country_geoip.tpl -text
changed_full/PE/PE420-PE456/out/admin/de/d3_geoip_lang.php -text
changed_full/PE/PE420-PE456/out/admin/tpl/d3_cfg_geoipset_main.tpl -text
changed_full/PE/PE420-PE456/out/admin/tpl/d3_country_geoip.tpl -text
copy_this/admin/d3_cfg_geoipset.php -text
copy_this/admin/d3_cfg_geoipset_licence.php -text
copy_this/admin/d3_cfg_geoipset_list.php -text
copy_this/admin/d3_cfg_geoipset_main.php -text
copy_this/admin/d3_country_geoip.php -text
copy_this/core/d3geoip.php -text
copy_this/modules/d3_geoip/menu.xml -text
copy_this/modules/d3_geoip/metadata.php -text
copy_this/modules/d3_geoip/picture.png -text
copy_this/modules/d3_geoip/views/d3_oxcmp_cur_geoip.php -text
copy_this/modules/d3_geoip/views/d3_oxcmp_lang_geoip.php -text
copy_this/out/admin/de/d3_geoip_lang.php -text
copy_this/out/admin/tpl/d3_country_geoip.tpl -text
setup+doku/IPNum-Berechnung.xls -text
setup+doku/EE/install.sql -text
setup+doku/EE/update.sql -text
setup+doku/Installation.pdf -text
setup+doku/PE/install.sql -text
setup+doku/PE/update.sql -text
setup+doku/geoip-Data_2011-10-13.sql -text
setup+doku/geoip-Struktur.sql -text
setup+doku/geoip_data_parts/1.sql -text
@ -17,8 +31,7 @@ setup+doku/geoip_data_parts/5.sql -text
setup+doku/geoip_data_parts/6.sql -text
setup+doku/geoip_data_parts/7.sql -text
setup+doku/geoip_data_parts/8.sql -text
setup+doku/install.sql -text
setup+doku/install.txt -text
setup+doku/licence.txt -text
setup+doku/update.sql -text
setup+doku/update.txt -text
sources/GeoIP-Installation.docx -text
sources/IPNum-Berechnung.xls -text
sources/ToDo.txt -text

View File

@ -0,0 +1,60 @@
<?php
/**
* This Software is the property of OXID eSales and is protected
* by copyright law - it is NOT Freeware.
*
* Any unauthorized use of this software without a valid license key
* is a violation of the license agreement and will be prosecuted by
* civil and criminal law.
*
* @link http://www.oxid-esales.com
* @package lang
* @copyright (C) OXID eSales AG 2003-2009
* @version OXID eShop EE
* $Id: lang.php 23594 2009-10-26 13:19:30Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'd3mxd3modules' => 'D<> Module',
'd3mxgeoip' => 'GeoIP',
'd3mxgeoip_settings' => 'Einstellungen',
'd3tbclgeoip_settings_main' => 'Grundeinstellungen',
'tbclcountry_geoip' => 'GeoIP-Kundenumleitungen',
'D3_GEOIP_TRANSL' => 'GeoIP-Kundenumleitungen',
'D3_GEOIP_SET_DEBUG_DESC' => 'Mit aktiviertem Debug-Modus wird im Frontend die aktuelle IP-Adresse des Shopbesuchers gezeigt. Beachten Sie, dass Umleitungen, die auf Weiterleitungen basieren, dann nicht ausgef<65>hrt werden k<>nnen.',
'D3_GEOIP_SET_OPTIONS' => 'Optionen',
'D3_GEOIP_SET_OPTIONS_CHANGESHOP' => 'Mandant wechseln, wenn eingestellt (nur EE)',
'D3_GEOIP_SET_OPTIONS_CHANGECURR' => 'W<>hrung wechseln, wenn eingestellt',
'D3_GEOIP_SET_OPTIONS_CHANGELANG' => 'Sprache wechseln, wenn eingestellt',
'D3_GEOIP_SET_OPTIONS_CHANGEURL' => 'URL wechseln, wenn eingestellt',
'D3_GEOIP_SET_IP' => 'IP-Einstellungen',
'D3_GEOIP_SET_IP_TESTIP' => 'statt Kunden-IP immer diese IP-Adresse verwenden',
'D3_GEOIP_SET_IP_CHECKIP' => 'diese IP-Adresse pr<70>fen',
'D3_GEOIP_SET_IP_CHECKIP_NOTSET' => 'IP nicht zugewiesen oder Land nicht aktiv',
'D3_GENERAL_GEOIP_SAVE' => 'Speichern',
'D3_GEOIP_SELSHOP' => 'zust<73>ndiger Shop',
'D3_GEOIP_SELLANG' => 'vorgew<65>hlte Sprache',
'D3_GEOIP_SELCUR' => 'vorgew<65>hlte W<>hrung',
'D3_GEOIP_CUSTSELSHOP' => ' - vom Kunden gew<65>hlter Shop - ',
'D3_GEOIP_CUSTSELLANG' => ' - vom Kunden gew<65>hlte Sprache - ',
'D3_GEOIP_CUSTSELCUR' => ' - vom Kunden gew<65>hlte W<>hrung - ',
'D3_GEOIP_OR' => 'oder',
'D3_GEOIP_DISABLED' => '(deaktiviert)',
'D3_GEOIP_SELURL' => 'zu wechselnde URL',
'D3_GEOIP_SELURL_DESC' => 'Sobald im URL-Feld eine Eingabe vorhanden ist, wird bei passenden Kunden versucht, zur hinterlegten URL zu wechseln. M<>chten Sie den Mandanten, die W<>hrung und / oder die Sprache einstellen, entfernen Sie die URL.<br><br>Aktivieren / deaktivieren Sie den URL-Wechsel zus<75>tzlich in den Modul-Grundeinstellungen.',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -0,0 +1,311 @@
[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}]
<link rel="stylesheet" type="text/css" href="[{$oViewConf->getResourceUrl() }]d3_mod_cfg.css">
<script type="text/javascript">
<!--
[{ if $updatelist == 1}]
UpdateList('[{ $oxid }]');
[{ /if}]
function UpdateList( sID)
{
var oSearch = parent.list.document.getElementById("search");
oSearch.oxid.value=sID;
oSearch.fnc.value='';
oSearch.submit();
}
function EditThis( sID)
{
var oTransfer = document.getElementById("transfer");
oTransfer.oxid.value=sID;
oTransfer.cl.value='';
oTransfer.submit();
var oSearch = parent.list.document.getElementById("search");
oSearch.actedit.value = 0;
oSearch.oxid.value=sID;
oSearch.submit();
}
function _groupExp(el) {
var _cur = el.parentNode;
if (_cur.className == "exp") _cur.className = "";
else _cur.className = "exp";
}
var sOldSettingElem = '';
function showFormatSettings(sElemId, visible, blUseOldElem)
{
if (blUseOldElem && sOldSettingElem) {
document.getElementById(sOldSettingElem).style.display = 'none';
sOldSettingElem = sElemId;
} else if (blUseOldElem) {
document.getElementById('settings_global').style.display = 'none';
document.getElementById('settingstxt_global').style.display = 'none';
sOldSettingElem = sElemId;
}
if (visible == true)
document.getElementById(sElemId).style.display = 'block';
else
document.getElementById(sElemId).style.display = 'none';
}
-->
</script>
<style type="text/css">
<!--
.questbox{
background-color: #07f;
color: white;
float: right;
position: relative;
display: block;
padding: 1px 4px;
font-weight: bold;
z-index: 98;
cursor: help;
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 10px;
line-height: 12px;
}
.helptextbox{
background-color: white;
color: black;
border: 1px solid black;
position: absolute;
overflow: hidden;
padding: 5px;
margin-top: 15px;
width: 300px;
z-index: 99;
}
fieldset{
border: 1px inset black;
background-color: #F0F0F0;
}
legend{
font-weight: bold;
}
dl dt{
font-weight: normal;
width: 55%;
}
.ext_edittext {
padding: 2px;
}
td.edittext {
white-space: normal;
}
-->
</style>
[{ if $readonly}]
[{assign var="readonly" value="readonly disabled"}]
[{else}]
[{assign var="readonly" value=""}]
[{/if}]
<form name="transfer" id="transfer" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="actshop" value="[{ $shop->id }]">
<input type="hidden" name="editlanguage" value="[{ $editlanguage }]">
</form>
<form name="myedit" id="myedit" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="fnc" value="save">
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="editval[d3_cfg_mod__oxid]" value="[{ $oxid }]">
<table border="0" width="98%">
<tr>
<td valign="top" class="edittext">
<table style="width: 100%">
<tr>
<td style="width:50%; border-right: 1px solid #999;">
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class="edittext ext_edittext">
[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULEACTIVE"}]
</td>
<td class="edittext ext_edittext">
<input type="hidden" name="editval[d3_cfg_mod__oxactive]" value='0'>
<input class="edittext ext_edittext" type="checkbox" name="editval[d3_cfg_mod__oxactive]" value='1' [{if $edit->d3_cfg_mod__oxactive->value == 1}]checked[{/if}]>
[{oxinputhelp ident="D3_CFG_MOD_GENERAL_MODULEACTIVE_DESC"}]
</td>
</tr>
<tr>
<td class="edittext ext_edittext">
</td>
<td class="edittext ext_edittext">
</td>
</tr>
<tr>
<td class="edittext ext_edittext">
[{if $edit->getValue('blDebugmodeGlobal') == 1}]<span style="font-weight: bold; color: #CD0210;">[{/if}][{oxmultilang ident="D3_CFG_MOD_GENERAL_DEBUGACTIVE"}][{if $edit->getValue('blDebugmodeGlobal') == 1}]</span>[{/if}]&nbsp;
</td>
<td class="edittext ext_edittext">
<input type="hidden" name="value[blDebugmodeGlobal]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blDebugmodeGlobal]" value='1' [{if $edit->getValue('blDebugmodeGlobal') == 1}]checked[{/if}]>
[{oxinputhelp ident="D3_GEOIP_SET_DEBUG_DESC"}]
</td>
</tr>
</table>
</td>
<td>
[{assign var="blD3HasLog" value=$oView->checkD3Log() }]
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="edittext ext_edittext" style="width: 100%;">
[{if $blD3HasLog}]
[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING"}]
[{/if}]
</td>
<td class="edittext ext_edittext" align="left">
[{if $blD3HasLog}]
<select name="editval[d3_cfg_mod__oxismodulelog]" class="edittext">
<option value="0" [{if $edit->d3_cfg_mod__oxismodulelog->value == 0}]selected[{/if}]>[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING_NONE"}]</option>
<option value="1" [{if $edit->d3_cfg_mod__oxismodulelog->value == 1}]selected[{/if}]>[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING_ALL"}]</option>
<option value="2" [{if $edit->d3_cfg_mod__oxismodulelog->value == 2}]selected[{/if}]>[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING_ERRORS"}]</option>
</select>
[{/if}]
</td>
</tr>
<tr>
<td class="edittext ext_edittext" style="width: 100%;">
&nbsp;
</td>
<td class="edittext ext_edittext" align="left">
&nbsp;
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<b>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS"}]
</b>
</a>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGESHOP"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeShop]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeShop]" value='1' [{if $edit->getValue('blChangeShop') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGESHOP_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGECURR"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeCurr]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeCurr]" value='1' [{if $edit->getValue('blChangeCurr') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGECURR_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGELANG"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeLang]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeLang]" value='1' [{if $edit->getValue('blChangeLang') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGELANG_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGEURL"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeURL]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeURL]" value='1' [{if $edit->getValue('blChangeURL') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGEURL_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
</div>
</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<b>
[{oxmultilang ident="D3_GEOIP_SET_IP"}]
</b>
</a>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_IP_TESTIP"}]
<input type="hidden" name="value[blUseTestIp]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blUseTestIp]" value='1' [{if $edit->getValue('blUseTestIp') == 1}]checked[{/if}]>
</dt>
<dd>
<input type="text" maxlength="15" size="17" name="value[sTestIp]" value="[{$edit->getValue('sTestIp')}]">
[{ oxinputhelp ident="D3_GEOIP_SET_IP_TESTIP_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_IP_CHECKIP"}]
</dt>
<dd>
<input type="text" maxlength="15" size="17" name="value[sCheckIp]" value="[{$edit->getValue('sCheckIp')}]">
[{ oxinputhelp ident="D3_GEOIP_SET_IP_CHECKIP_DESC" }]
[{if $edit->getValue('sCheckIp')}]
[{$oView->getIpCountry($edit->getValue('sCheckIp'))}]
[{/if}]
</dd>
<div class="spacer"></div>
</dl>
</div>
</div>
<table width="100%">
<tr>
<td class="edittext ext_edittext" align="left">
<span class="d3modcfg_btn icon status_ok">
<input type="submit" name="save" value="[{ oxmultilang ident="D3_GENERAL_GEOIP_SAVE" }]">
<div></div>
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
[{include file="bottomitem.tpl"}]

View File

@ -0,0 +1,120 @@
[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}]
<script type="text/javascript">
<!--
window.onload = function ()
{
[{ if $updatelist == 1}]
top.oxid.admin.updateList('[{ $oxid }]');
[{ /if}]
var oField = top.oxid.admin.getLockTarget();
oField.onchange = oField.onkeyup = oField.onmouseout = top.oxid.admin.unlockSave;
}
//-->
</script>
[{ if $readonly }]
[{assign var="readonly" value="readonly disabled"}]
[{else}]
[{assign var="readonly" value=""}]
[{/if}]
<form name="transfer" id="transfer" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="oxidCopy" value="[{ $oxid }]">
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="language" value="[{ $actlang }]">
</form>
<form name="myedit" id="myedit" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="fnc" value="">
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="voxid" value="[{ $oxid }]">
<input type="hidden" name="oxparentid" value="[{ $oxparentid }]">
<input type="hidden" name="editval[oxcountry__oxid]" value="[{ $oxid }]">
<input type="hidden" name="language" value="[{ $actlang }]">
<table cellspacing="0" cellpadding="0" border="0" width="98%">
<tr>
<td valign="top" class="edittext" style="width: 45%">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="edittext" width="120">
[{oxmultilang ident="D3_GEOIP_SELSHOP"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoipshop]" class="edittext" onchange="document.getElementById('myedit').fnc.value = 'saveshop'; document.getElementById('myedit').submit();" [{if !$oView->getModCfgValue('blChangeShop')}]disabled[{/if}]>
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELSHOP"}]</option>
[{foreach from=$oView->getShopList() item=shop}]
<option value="[{$shop->oxshops__oxid->value}]" [{if $edit->oxcountry__d3geoipshop->value == $shop->oxshops__oxid->value}]selected[{/if}]>[{$shop->oxshops__oxname->value}]</option>
[{/foreach}]
</SELECT>[{if !$oView->getModCfgValue('blChangeShop')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
</td>
</tr>
<tr>
<td class="edittext">
[{oxmultilang ident="D3_GEOIP_SELLANG"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoiplang]" class="edittext" [{if !$oView->getModCfgValue('blChangeLang')}]disabled[{/if}]>
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELLANG"}]</option>
[{foreach from=$oView->getLangList() item=lang}]
<option value="[{$lang->id}]" [{if $edit->oxcountry__d3geoiplang->value == $lang->id}]selected[{/if}]>[{$lang->name}]</option>
[{/foreach}]
</SELECT>[{if !$oView->getModCfgValue('blChangeLang')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
</td>
</tr>
<tr>
<td class="edittext">
[{oxmultilang ident="D3_GEOIP_SELCUR"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoipcur]" class="edittext" [{if !$oView->getModCfgValue('blChangeCurr')}]disabled[{/if}]>
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELCUR"}]</option>
[{foreach from=$oView->getCurList() item=cur}]
<option value="[{$cur->id}]" [{if $edit->oxcountry__d3geoipcur->value == $cur->id}]selected[{/if}]>[{$cur->name}] ([{$cur->sign}])</option>
[{/foreach}]
</SELECT>[{if !$oView->getModCfgValue('blChangeCurr')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
</td>
</tr>
<tr>
<td class="edittext"><br><br>
</td>
<td class="edittext"><br><br>
<input type="submit" class="edittext" id="oLockButton" name="saveArticle" value="[{ oxmultilang ident="GENERAL_SAVE" }]" onClick="Javascript:document.myedit.fnc.value='save'"" [{ $readonly }] [{ if !$edit->oxcountry__oxtitle->value && !$oxparentid }]disabled[{/if}]><br>
</td>
</tr>
</table>
</td>
<td valign="top" class="edittext" align="left" width="10%">
[{oxmultilang ident="D3_GEOIP_OR"}]
</td>
<!-- Anfang rechte Seite -->
<td valign="top" class="edittext" align="left" width="45%">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="edittext" width="120">
[{oxmultilang ident="D3_GEOIP_SELURL"}]:
</td>
<td class="edittext">
<input type="text" maxlength="255" size="50" name="editval[oxcountry__d3geoipurl]" value="[{$edit->oxcountry__d3geoipurl->value}]" [{if !$oView->getModCfgValue('blChangeURL')}]disabled[{/if}]> [{if !$oView->getModCfgValue('blChangeURL')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
[{oxinputhelp ident="D3_GEOIP_SELURL_DESC"}]
</td>
</tr>
</table>
</td>
<!-- Ende rechte Seite -->
</tr>
</table>
</form>
[{include file="bottomnaviitem.tpl"}]
[{include file="bottomitem.tpl"}]

View File

@ -0,0 +1,60 @@
<?php
/**
* This Software is the property of OXID eSales and is protected
* by copyright law - it is NOT Freeware.
*
* Any unauthorized use of this software without a valid license key
* is a violation of the license agreement and will be prosecuted by
* civil and criminal law.
*
* @link http://www.oxid-esales.com
* @package lang
* @copyright (C) OXID eSales AG 2003-2009
* @version OXID eShop EE
* $Id: lang.php 23594 2009-10-26 13:19:30Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'd3mxd3modules' => 'D<> Module',
'd3mxgeoip' => 'GeoIP',
'd3mxgeoip_settings' => 'Einstellungen',
'd3tbclgeoip_settings_main' => 'Grundeinstellungen',
'tbclcountry_geoip' => 'GeoIP-Kundenumleitungen',
'D3_GEOIP_TRANSL' => 'GeoIP-Kundenumleitungen',
'D3_GEOIP_SET_DEBUG_DESC' => 'Mit aktiviertem Debug-Modus wird im Frontend die aktuelle IP-Adresse des Shopbesuchers gezeigt. Beachten Sie, dass Umleitungen, die auf Weiterleitungen basieren, dann nicht ausgef<65>hrt werden k<>nnen.',
'D3_GEOIP_SET_OPTIONS' => 'Optionen',
'D3_GEOIP_SET_OPTIONS_CHANGESHOP' => 'Mandant wechseln, wenn eingestellt (nur EE)',
'D3_GEOIP_SET_OPTIONS_CHANGECURR' => 'W<>hrung wechseln, wenn eingestellt',
'D3_GEOIP_SET_OPTIONS_CHANGELANG' => 'Sprache wechseln, wenn eingestellt',
'D3_GEOIP_SET_OPTIONS_CHANGEURL' => 'URL wechseln, wenn eingestellt',
'D3_GEOIP_SET_IP' => 'IP-Einstellungen',
'D3_GEOIP_SET_IP_TESTIP' => 'statt Kunden-IP immer diese IP-Adresse verwenden',
'D3_GEOIP_SET_IP_CHECKIP' => 'diese IP-Adresse pr<70>fen',
'D3_GEOIP_SET_IP_CHECKIP_NOTSET' => 'IP nicht zugewiesen oder Land nicht aktiv',
'D3_GENERAL_GEOIP_SAVE' => 'Speichern',
'D3_GEOIP_SELSHOP' => 'zust<73>ndiger Shop',
'D3_GEOIP_SELLANG' => 'vorgew<65>hlte Sprache',
'D3_GEOIP_SELCUR' => 'vorgew<65>hlte W<>hrung',
'D3_GEOIP_CUSTSELSHOP' => ' - vom Kunden gew<65>hlter Shop - ',
'D3_GEOIP_CUSTSELLANG' => ' - vom Kunden gew<65>hlte Sprache - ',
'D3_GEOIP_CUSTSELCUR' => ' - vom Kunden gew<65>hlte W<>hrung - ',
'D3_GEOIP_OR' => 'oder',
'D3_GEOIP_DISABLED' => '(deaktiviert)',
'D3_GEOIP_SELURL' => 'zu wechselnde URL',
'D3_GEOIP_SELURL_DESC' => 'Sobald im URL-Feld eine Eingabe vorhanden ist, wird bei passenden Kunden versucht, zur hinterlegten URL zu wechseln. M<>chten Sie den Mandanten, die W<>hrung und / oder die Sprache einstellen, entfernen Sie die URL.<br><br>Aktivieren / deaktivieren Sie den URL-Wechsel zus<75>tzlich in den Modul-Grundeinstellungen.',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -0,0 +1,311 @@
[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}]
<link rel="stylesheet" type="text/css" href="[{$oViewConf->getResourceUrl() }]d3_mod_cfg.css">
<script type="text/javascript">
<!--
[{ if $updatelist == 1}]
UpdateList('[{ $oxid }]');
[{ /if}]
function UpdateList( sID)
{
var oSearch = parent.list.document.getElementById("search");
oSearch.oxid.value=sID;
oSearch.fnc.value='';
oSearch.submit();
}
function EditThis( sID)
{
var oTransfer = document.getElementById("transfer");
oTransfer.oxid.value=sID;
oTransfer.cl.value='';
oTransfer.submit();
var oSearch = parent.list.document.getElementById("search");
oSearch.actedit.value = 0;
oSearch.oxid.value=sID;
oSearch.submit();
}
function _groupExp(el) {
var _cur = el.parentNode;
if (_cur.className == "exp") _cur.className = "";
else _cur.className = "exp";
}
var sOldSettingElem = '';
function showFormatSettings(sElemId, visible, blUseOldElem)
{
if (blUseOldElem && sOldSettingElem) {
document.getElementById(sOldSettingElem).style.display = 'none';
sOldSettingElem = sElemId;
} else if (blUseOldElem) {
document.getElementById('settings_global').style.display = 'none';
document.getElementById('settingstxt_global').style.display = 'none';
sOldSettingElem = sElemId;
}
if (visible == true)
document.getElementById(sElemId).style.display = 'block';
else
document.getElementById(sElemId).style.display = 'none';
}
-->
</script>
<style type="text/css">
<!--
.questbox{
background-color: #07f;
color: white;
float: right;
position: relative;
display: block;
padding: 1px 4px;
font-weight: bold;
z-index: 98;
cursor: help;
font-family: Verdana,Arial,Helvetica,sans-serif;
font-size: 10px;
line-height: 12px;
}
.helptextbox{
background-color: white;
color: black;
border: 1px solid black;
position: absolute;
overflow: hidden;
padding: 5px;
margin-top: 15px;
width: 300px;
z-index: 99;
}
fieldset{
border: 1px inset black;
background-color: #F0F0F0;
}
legend{
font-weight: bold;
}
dl dt{
font-weight: normal;
width: 55%;
}
.ext_edittext {
padding: 2px;
}
td.edittext {
white-space: normal;
}
-->
</style>
[{ if $readonly}]
[{assign var="readonly" value="readonly disabled"}]
[{else}]
[{assign var="readonly" value=""}]
[{/if}]
<form name="transfer" id="transfer" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="actshop" value="[{ $shop->id }]">
<input type="hidden" name="editlanguage" value="[{ $editlanguage }]">
</form>
<form name="myedit" id="myedit" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="fnc" value="save">
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="editval[d3_cfg_mod__oxid]" value="[{ $oxid }]">
<table border="0" width="98%">
<tr>
<td valign="top" class="edittext">
<table style="width: 100%">
<tr>
<td style="width:50%; border-right: 1px solid #999;">
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class="edittext ext_edittext">
[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULEACTIVE"}]
</td>
<td class="edittext ext_edittext">
<input type="hidden" name="editval[d3_cfg_mod__oxactive]" value='0'>
<input class="edittext ext_edittext" type="checkbox" name="editval[d3_cfg_mod__oxactive]" value='1' [{if $edit->d3_cfg_mod__oxactive->value == 1}]checked[{/if}]>
[{oxinputhelp ident="D3_CFG_MOD_GENERAL_MODULEACTIVE_DESC"}]
</td>
</tr>
<tr>
<td class="edittext ext_edittext">
</td>
<td class="edittext ext_edittext">
</td>
</tr>
<tr>
<td class="edittext ext_edittext">
[{if $edit->getValue('blDebugmodeGlobal') == 1}]<span style="font-weight: bold; color: #CD0210;">[{/if}][{oxmultilang ident="D3_CFG_MOD_GENERAL_DEBUGACTIVE"}][{if $edit->getValue('blDebugmodeGlobal') == 1}]</span>[{/if}]&nbsp;
</td>
<td class="edittext ext_edittext">
<input type="hidden" name="value[blDebugmodeGlobal]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blDebugmodeGlobal]" value='1' [{if $edit->getValue('blDebugmodeGlobal') == 1}]checked[{/if}]>
[{oxinputhelp ident="D3_GEOIP_SET_DEBUG_DESC"}]
</td>
</tr>
</table>
</td>
<td>
[{assign var="blD3HasLog" value=$oView->checkD3Log() }]
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="edittext ext_edittext" style="width: 100%;">
[{if $blD3HasLog}]
[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING"}]
[{/if}]
</td>
<td class="edittext ext_edittext" align="left">
[{if $blD3HasLog}]
<select name="editval[d3_cfg_mod__oxismodulelog]" class="edittext">
<option value="0" [{if $edit->d3_cfg_mod__oxismodulelog->value == 0}]selected[{/if}]>[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING_NONE"}]</option>
<option value="1" [{if $edit->d3_cfg_mod__oxismodulelog->value == 1}]selected[{/if}]>[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING_ALL"}]</option>
<option value="2" [{if $edit->d3_cfg_mod__oxismodulelog->value == 2}]selected[{/if}]>[{oxmultilang ident="D3_CFG_MOD_GENERAL_MODULELOGGING_ERRORS"}]</option>
</select>
[{/if}]
</td>
</tr>
<tr>
<td class="edittext ext_edittext" style="width: 100%;">
&nbsp;
</td>
<td class="edittext ext_edittext" align="left">
&nbsp;
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<b>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS"}]
</b>
</a>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGESHOP"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeShop]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeShop]" value='1' [{if $edit->getValue('blChangeShop') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGESHOP_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGECURR"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeCurr]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeCurr]" value='1' [{if $edit->getValue('blChangeCurr') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGECURR_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGELANG"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeLang]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeLang]" value='1' [{if $edit->getValue('blChangeLang') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGELANG_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_OPTIONS_CHANGEURL"}]
</dt>
<dd>
<input type="hidden" name="value[blChangeURL]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blChangeURL]" value='1' [{if $edit->getValue('blChangeURL') == 1}]checked[{/if}]>
[{ oxinputhelp ident="D3_GEOIP_SET_OPTIONS_CHANGEURL_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
</div>
</div>
<div class="groupExp">
<div class="">
<a class="rc" onclick="_groupExp(this); return false;" href="#">
<b>
[{oxmultilang ident="D3_GEOIP_SET_IP"}]
</b>
</a>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_IP_TESTIP"}]
<input type="hidden" name="value[blUseTestIp]" value="0">
<input class="edittext ext_edittext" type="checkbox" name="value[blUseTestIp]" value='1' [{if $edit->getValue('blUseTestIp') == 1}]checked[{/if}]>
</dt>
<dd>
<input type="text" maxlength="15" size="17" name="value[sTestIp]" value="[{$edit->getValue('sTestIp')}]">
[{ oxinputhelp ident="D3_GEOIP_SET_IP_TESTIP_DESC" }]
</dd>
<div class="spacer"></div>
</dl>
<dl>
<dt>
[{oxmultilang ident="D3_GEOIP_SET_IP_CHECKIP"}]
</dt>
<dd>
<input type="text" maxlength="15" size="17" name="value[sCheckIp]" value="[{$edit->getValue('sCheckIp')}]">
[{ oxinputhelp ident="D3_GEOIP_SET_IP_CHECKIP_DESC" }]
[{if $edit->getValue('sCheckIp')}]
[{$oView->getIpCountry($edit->getValue('sCheckIp'))}]
[{/if}]
</dd>
<div class="spacer"></div>
</dl>
</div>
</div>
<table width="100%">
<tr>
<td class="edittext ext_edittext" align="left">
<span class="d3modcfg_btn icon status_ok">
<input type="submit" name="save" value="[{ oxmultilang ident="D3_GENERAL_GEOIP_SAVE" }]">
<div></div>
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
[{include file="bottomitem.tpl"}]

View File

@ -0,0 +1,120 @@
[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}]
<script type="text/javascript">
<!--
window.onload = function ()
{
[{ if $updatelist == 1}]
top.oxid.admin.updateList('[{ $oxid }]');
[{ /if}]
var oField = top.oxid.admin.getLockTarget();
oField.onchange = oField.onkeyup = oField.onmouseout = top.oxid.admin.unlockSave;
}
//-->
</script>
[{ if $readonly }]
[{assign var="readonly" value="readonly disabled"}]
[{else}]
[{assign var="readonly" value=""}]
[{/if}]
<form name="transfer" id="transfer" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="oxidCopy" value="[{ $oxid }]">
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="language" value="[{ $actlang }]">
</form>
<form name="myedit" id="myedit" action="[{ $oViewConf->getSelfLink() }]" method="post">
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="[{$oViewConf->getActiveClassName()}]">
<input type="hidden" name="fnc" value="">
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="voxid" value="[{ $oxid }]">
<input type="hidden" name="oxparentid" value="[{ $oxparentid }]">
<input type="hidden" name="editval[oxcountry__oxid]" value="[{ $oxid }]">
<input type="hidden" name="language" value="[{ $actlang }]">
<table cellspacing="0" cellpadding="0" border="0" width="98%">
<tr>
<td valign="top" class="edittext" style="width: 45%">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="edittext" width="120">
[{oxmultilang ident="D3_GEOIP_SELSHOP"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoipshop]" class="edittext" onchange="document.getElementById('myedit').fnc.value = 'saveshop'; document.getElementById('myedit').submit();" [{if !$oView->getModCfgValue('blChangeShop')}]disabled[{/if}]>
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELSHOP"}]</option>
[{foreach from=$oView->getShopList() item=shop}]
<option value="[{$shop->oxshops__oxid->value}]" [{if $edit->oxcountry__d3geoipshop->value == $shop->oxshops__oxid->value}]selected[{/if}]>[{$shop->oxshops__oxname->value}]</option>
[{/foreach}]
</SELECT>[{if !$oView->getModCfgValue('blChangeShop')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
</td>
</tr>
<tr>
<td class="edittext">
[{oxmultilang ident="D3_GEOIP_SELLANG"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoiplang]" class="edittext" [{if !$oView->getModCfgValue('blChangeLang')}]disabled[{/if}]>
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELLANG"}]</option>
[{foreach from=$oView->getLangList() item=lang}]
<option value="[{$lang->id}]" [{if $edit->oxcountry__d3geoiplang->value == $lang->id}]selected[{/if}]>[{$lang->name}]</option>
[{/foreach}]
</SELECT>[{if !$oView->getModCfgValue('blChangeLang')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
</td>
</tr>
<tr>
<td class="edittext">
[{oxmultilang ident="D3_GEOIP_SELCUR"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoipcur]" class="edittext" [{if !$oView->getModCfgValue('blChangeCurr')}]disabled[{/if}]>
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELCUR"}]</option>
[{foreach from=$oView->getCurList() item=cur}]
<option value="[{$cur->id}]" [{if $edit->oxcountry__d3geoipcur->value == $cur->id}]selected[{/if}]>[{$cur->name}] ([{$cur->sign}])</option>
[{/foreach}]
</SELECT>[{if !$oView->getModCfgValue('blChangeCurr')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
</td>
</tr>
<tr>
<td class="edittext"><br><br>
</td>
<td class="edittext"><br><br>
<input type="submit" class="edittext" id="oLockButton" name="saveArticle" value="[{ oxmultilang ident="GENERAL_SAVE" }]" onClick="Javascript:document.myedit.fnc.value='save'"" [{ $readonly }] [{ if !$edit->oxcountry__oxtitle->value && !$oxparentid }]disabled[{/if}]><br>
</td>
</tr>
</table>
</td>
<td valign="top" class="edittext" align="left" width="10%">
[{oxmultilang ident="D3_GEOIP_OR"}]
</td>
<!-- Anfang rechte Seite -->
<td valign="top" class="edittext" align="left" width="45%">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="edittext" width="120">
[{oxmultilang ident="D3_GEOIP_SELURL"}]:
</td>
<td class="edittext">
<input type="text" maxlength="255" size="50" name="editval[oxcountry__d3geoipurl]" value="[{$edit->oxcountry__d3geoipurl->value}]" [{if !$oView->getModCfgValue('blChangeURL')}]disabled[{/if}]> [{if !$oView->getModCfgValue('blChangeURL')}] [{oxmultilang ident="D3_GEOIP_DISABLED"}][{/if}]
[{oxinputhelp ident="D3_GEOIP_SELURL_DESC"}]
</td>
</tr>
</table>
</td>
<!-- Ende rechte Seite -->
</tr>
</table>
</form>
[{include file="bottomnaviitem.tpl"}]
[{include file="bottomitem.tpl"}]

View File

@ -0,0 +1,29 @@
<?php
// @copyright <20> D<> Data Development
//
// 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 key
// is a violation of the license agreement and will be prosecuted by
// civil and criminal law.
//
// http://www.shopmodule.com
// AUTOR Daniel Seifert <ds@shopmodule.com>
class d3_cfg_geoipset extends d3_cfg_mod_
{
public function render()
{
$this->_aViewData['sListClass'] = 'd3_cfg_geoipset_list';
$this->_aViewData['sMainClass'] = 'd3_cfg_geoipset_main';
$this->_hasListItems = false;
return parent::render();
}
}

View File

@ -0,0 +1,29 @@
<?php
// @copyright <20> D<> Data Development
//
// 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 key
// is a violation of the license agreement and will be prosecuted by
// civil and criminal law.
//
// http://www.shopmodule.com
// AUTOR Daniel Seifert <ds@shopmodule.com>
class d3_cfg_geoipset_licence extends d3_cfg_mod_licence
{
protected $_sModId = 'd3_geoip';
protected $_hasLicence = false;
protected $_hasUpdate = false;
protected $_hasNewsletterForm = false;
protected $_sMenuItemTitle = 'd3mxgeoip';
protected $_sMenuSubItemTitle = 'd3mxgeoip_settings';
}

View File

@ -0,0 +1,36 @@
<?php
// @copyright <20> D<> Data Development
//
// 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 key
// is a violation of the license agreement and will be prosecuted by
// civil and criminal law.
//
// http://www.shopmodule.com
// AUTOR Daniel Seifert <ds@shopmodule.com>
class d3_cfg_geoipset_list extends d3_cfg_mod_list
{
// enables language depended configuration
protected $_blD3ShowLangSwitch = false;
protected $_sMenuItemTitle = 'd3mxgeoip';
protected $_sMenuSubItemTitle = 'd3mxgeoip_settings';
public function render()
{
$sRet = parent::render();
// default page number 1
$this->_aViewData['oxid'] = 1;
$this->_aViewData["default_edit"] = "d3_cfg_geoipset_main";
$this->_aViewData["updatemain"] = $this->_blUpdateMain;
return $sRet;
}
}

View File

@ -0,0 +1,34 @@
<?php
// @copyright <20> D<> Data Development
//
// 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 key
// is a violation of the license agreement and will be prosecuted by
// civil and criminal law.
//
// http://www.shopmodule.com
// AUTOR Daniel Seifert <ds@shopmodule.com>
class d3_cfg_geoipset_main extends d3_cfg_mod_main
{
protected $_sModId = 'd3_geoip';
protected $_sThisTemplate = "d3_cfg_geoipset_main.tpl";
public function getIpCountry($sIP)
{
$oD3GeoIP = oxNew('d3geoip');
$oCountry = $oD3GeoIP->getUserLocationCountryObject($sIP);
if ($oCountry->getId())
$sTitle = $oCountry->getFieldData('oxtitle');
else
$sTitle = oxLang::getInstance()->translateString('D3_GEOIP_SET_IP_CHECKIP_NOTSET');
return $sTitle;
}
}

View File

@ -1,13 +1,19 @@
<?
<?php
class d3_country_geoip extends oxAdminView
{
protected $_sDefSort = 'sort';
protected $_sThisTemplate = 'd3_country_geoip.tpl';
private $_oSet;
private $_sModId = 'd3_geoip';
public function render()
{
$this->_oSet = d3_cfg_mod::get($this->_sModId);
$myConfig = $this->getConfig();
if ( !$myConfig->getConfigParam( 'blAllowSharedEdit' ) )
@ -65,10 +71,16 @@ class d3_country_geoip extends oxAdminView
$this->oShopList->selectString($sSelect);
$this->getLangList();
$this->getLangList();
return $ret;
}
public function getModCfgValue($sIdent)
{
$this->_oSet = d3_cfg_mod::get($this->_sModId);
return $this->_oSet->getValue($sIdent);
}
public function saveshop()
{

View File

@ -8,6 +8,8 @@ class d3GeoIP extends oxI18n
* @var string
*/
protected $_sClassName = 'd3geoip';
private $_sModId = 'd3_geoip';
/**
* Class constructor, initiates parent constructor (parent::oxI18n()).
@ -20,26 +22,38 @@ class d3GeoIP extends oxI18n
$this->init('d3geoip');
}
public function getUserLocationCountryObject()
public function getUserLocationCountryObject($sIP = false)
{
if (!$this->oCountry)
{
$sIP = $_SERVER['REMOTE_ADDR'];
// $sIP = '62.4.77.32'; // Deutschland
// $sIP = '62.4.77.48'; // Deutschland
// $sIP = '41.188.100.127'; // Mauretanien
// $sIP = '4.18.40.144'; // US
if (!$sIP)
$sIP = $this->getIP();
$iIPNum = $this->_getNumIp($sIP);
$sISOAlpha = $this->LoadByIPNum($iIPNum);
$this->oCountry = $this->getCountryObject($sISOAlpha);
if (!$sISOAlpha)
{
$this->_getLog()->setLog('error', __CLASS__, __FUNCTION__, __LINE__, 'get ISO by IP failed', $sIP);
$this->oCountry = oxNew('oxcountry');
}
else
{
$this->_getLog()->setLog('info', __CLASS__, __FUNCTION__, __LINE__, 'get ISO by IP', $sIP." => ".$sISOAlpha);
$this->oCountry = $this->getCountryObject($sISOAlpha);
}
}
return $this->oCountry;
}
public function getIP()
{
if ($this->_getConfig()->getValue('blUseTestIp') && $this->_getConfig()->getValue('sTestIp'))
return $this->_getConfig()->getValue('sTestIp');
else
return $_SERVER['REMOTE_ADDR'];
}
protected function _getNumIp($sIP)
{
@ -80,33 +94,43 @@ class d3GeoIP extends oxI18n
public function setCountryLanguage()
{
$oCountry = $this->getUserLocationCountryObject();
$this->performURLSwitch();
$this->performShopSwitch();
if (!$this->_getConfig()->getFieldData('oxactive') || !$this->_getConfig()->getValue('blChangeLang'))
return;
$oCountry = $this->getUserLocationCountryObject();
if (!$this->isAdmin() && oxUtils::getInstance()->isSearchEngine() === false && $this->getSession()->getVar('d3isSetLang') === null && $oCountry->getId() && $oCountry->getFieldData('d3geoiplang') > -1)
{
$this->_getLog()->setLog('info', __CLASS__, __FUNCTION__, __LINE__, 'set language', $this->getIP().' => '.$oCountry->getFieldData('d3geoiplang'));
oxLang::getInstance()->setTplLanguage((int) $oCountry->getFieldData('d3geoiplang'));
oxLang::getInstance()->setBaseLanguage((int) $oCountry->getFieldData('d3geoiplang'));
$this->getSession()->setVar('d3isSetLang', true);
}
}
public function setCountryCurrency()
{
if (!$this->_getConfig()->getFieldData('oxactive') || !$this->_getConfig()->getValue('blChangeCurr'))
return;
$oCountry = $this->getUserLocationCountryObject();
if (!$this->isAdmin() && oxUtils::getInstance()->isSearchEngine() === false && !$this->getSession()->getVar('d3isSetCurr') && $oCountry->getId() && $oCountry->getFieldData('d3geoipcur') > -1)
{
$this->_getLog()->setLog('info', __CLASS__, __FUNCTION__, __LINE__, 'set currency', $this->getIP().' => '.$oCountry->getFieldData('d3geoipcur'));
$this->getConfig()->setActShopCurrency((int) $oCountry->getFieldData('d3geoipcur'));
$this->getSession()->setVar('d3isSetCurr', true);
}
}
public function performShopSwitch()
{
if (!$this->_getConfig()->getFieldData('oxactive') || !$this->_getConfig()->getValue('blChangeShop'))
return;
$oCountry = $this->getUserLocationCountryObject();
$iNewShop = $oCountry->getFieldData('d3geoipshop');
@ -115,25 +139,44 @@ class d3GeoIP extends oxI18n
if (!$this->isAdmin() && oxUtils::getInstance()->isSearchEngine() === false && $oCountry->getId() && $this->getConfig()->isMall() && $iNewShop > -1 && $iNewShop != $this->getConfig()->getShopId())
{
$oNewConf = new oxConfig();
$oNewConf->setShopId($iNewShop);
$oNewConf->init();
$oNewConf = new oxConfig();
$oNewConf->setShopId($iNewShop);
$oNewConf->init();
$this->getConfig()->onShopChange();
$this->getConfig()->onShopChange();
if (!$this->getSession()->getVar('d3isSetLang') && $oCountry->getFieldData('d3geoiplang') > -1)
$sLangId = $oCountry->getFieldData('d3geoiplang');
else
$sLangId = '';
if (!$this->getSession()->getVar('d3isSetLang') && $oCountry->getFieldData('d3geoiplang') > -1)
$sLangId = $oCountry->getFieldData('d3geoiplang');
else
$sLangId = '';
header("Location: ".$oNewConf->getShopHomeUrl($sLangId));
exit();
$this->_getLog()->setLog('info', __CLASS__, __FUNCTION__, __LINE__, 'change shop', $this->getIP().' => '.$oNewConf->getShopHomeUrl($sLangId));
header("Location: ".$oNewConf->getShopHomeUrl($sLangId));
exit();
}
}
public function performURLSwitch()
{
if (!$this->_getConfig()->getFieldData('oxactive') || !$this->_getConfig()->getValue('blChangeURL'))
return;
$oCountry = $this->getUserLocationCountryObject();
if (!$this->isAdmin() && oxUtils::getInstance()->isSearchEngine() === false && $oCountry->getId() && $oCountry->getFieldData('d3geoipurl') && strlen(trim($oCountry->getFieldData('d3geoipurl'))) > 0)
{
$sNewUrl = $oCountry->getFieldData('d3geoipurl');
$this->_getLog()->setLog('info', __CLASS__, __FUNCTION__, __LINE__, 'change url', $this->getIP().' => '.$oCountry->getFieldData('d3geoipurl'));
header("Location: ".$sNewUrl);
exit();
}
}
public function getShopUrls()
{
$oShoplist = oxNew( 'oxshoplist' );
$oShoplist->getList();
$aShopUrls = array();
@ -143,4 +186,17 @@ class d3GeoIP extends oxI18n
return $aShopUrls;
}
protected function _getConfig()
{
return d3_cfg_mod::get($this->_sModId);
}
protected function _getLog()
{
if (!$this->oD3Log)
$this->oD3Log = $this->_getConfig()->getLogInstance();
return $this->oD3Log;
}
}

View File

@ -7,4 +7,12 @@
</SUBMENU>
</MAINMENU>
</OXMENU>
<OXMENU id="d3mxd3modules">
<MAINMENU id="d3mxgeoip">
<SUBMENU id="d3mxgeoip_settings" cl="d3_cfg_geoipset" list="d3_cfg_geoipset_list">
<TAB id="d3tbclgeoip_settings_main" cl="d3_cfg_geoipset_main" />
<TAB id="d3tbcl_licence" cl="d3_cfg_geoipset_licence" />
</SUBMENU>
</MAINMENU>
</OXMENU>
</OX>

View File

@ -0,0 +1,15 @@
<?php
/**
* Module information
*/
$aModule = array(
'id' => 'd3ordermanager',
'title' => 'D<> Auftragsmanager Pro / Order Manager Pro',
'description' => 'F<>hrt ausgef<65>hrte Auftr<74>ge nach definierten Regeln weiter.<br>Aktiviere Sie die Moduleintr<74>ge bitte immer und steuern Sie die Modulaktivit<69>t ausschlie<69>lich im Adminbereich des Moduls.',
'thumbnail' => 'picture.png',
'version' => '1.0.0',
'author' => 'D<> Data Development',
'extend' => array(
'oxemail' => 'd3ordermanager/core/d3_oxemail_ordermanager'
)
);

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -1,12 +1,18 @@
<?
<?php
class d3_oxcmp_cur_geoip extends d3_oxcmp_cur_geoip_parent
{
private $_sModId = 'd3_geoip';
public function init()
{
$oLocation = &oxNew('d3geoip');
if (d3_cfg_mod::get($this->_sModId)->getValue('blDebugmodeGlobal'))
{
$oGeoIp = oxNew('d3geoip');
echo $oGeoIp->getIP();
}
$oLocation = oxNew('d3geoip');
//$oLocation->setUserCountry();
$oLocation->setCountryCurrency();

View File

@ -1,10 +1,10 @@
<?
<?php
class d3_oxcmp_lang_geoip extends d3_oxcmp_lang_geoip_parent
{
public function init()
{
$oLocation = &oxNew('d3geoip');
$oLocation = oxNew('d3geoip');
//$oLocation->setUserCountry();
$oLocation->setCountryLanguage();

File diff suppressed because it is too large Load Diff

View File

@ -1,110 +0,0 @@
[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}]
<script type="text/javascript">
<!--
window.onload = function ()
{
[{ if $updatelist == 1}]
top.oxid.admin.updateList('[{ $oxid }]');
[{ /if}]
var oField = top.oxid.admin.getLockTarget();
oField.onchange = oField.onkeyup = oField.onmouseout = top.oxid.admin.unlockSave;
}
//-->
</script>
[{ if $readonly }]
[{assign var="readonly" value="readonly disabled"}]
[{else}]
[{assign var="readonly" value=""}]
[{/if}]
<form name="transfer" id="transfer" action="[{ $shop->selflink }]" method="post">
[{ $shop->hiddensid }]
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="oxidCopy" value="[{ $oxid }]">
<input type="hidden" name="cl" value="country_main">
<input type="hidden" name="language" value="[{ $actlang }]">
</form>
<form name="myedit" id="myedit" action="[{ $shop->selflink }]" method="post">
[{ $shop->hiddensid }]
<input type="hidden" name="cl" value="d3_country_geoip">
<input type="hidden" name="fnc" value="">
<input type="hidden" name="oxid" value="[{ $oxid }]">
<input type="hidden" name="voxid" value="[{ $oxid }]">
<input type="hidden" name="oxparentid" value="[{ $oxparentid }]">
<input type="hidden" name="editval[oxcountry__oxid]" value="[{ $oxid }]">
<input type="hidden" name="language" value="[{ $actlang }]">
<table cellspacing="0" cellpadding="0" border="0" width="98%">
<tr>
<td valign="top" class="edittext">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="edittext" width="120">
[{oxmultilang ident="D3_GEOIP_SELSHOP"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoipshop]" class="edittext" onchange="document.getElementById('myedit').fnc.value = 'saveshop'; document.getElementById('myedit').submit();">
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELSHOP"}]</option>
[{foreach from=$oView->getShopList() item=shop}]
<option value="[{$shop->oxshops__oxid->value}]" [{if $edit->oxcountry__d3geoipshop->value == $shop->oxshops__oxid->value}]selected[{/if}]>[{$shop->oxshops__oxname->value}]</option>
[{/foreach}]
</SELECT>
</td>
</tr>
<tr>
<td class="edittext">
[{oxmultilang ident="D3_GEOIP_SELLANG"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoiplang]" class="edittext">
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELLANG"}]</option>
[{foreach from=$oView->getLangList() item=lang}]
<option value="[{$lang->id}]" [{if $edit->oxcountry__d3geoiplang->value == $lang->id}]selected[{/if}]>[{$lang->name}]</option>
[{/foreach}]
</SELECT>
</td>
</tr>
<tr>
<td class="edittext">
[{oxmultilang ident="D3_GEOIP_SELCUR"}]:
</td>
<td class="edittext">
<SELECT name="editval[oxcountry__d3geoipcur]" class="edittext">
<option value="-1">[{oxmultilang ident="D3_GEOIP_CUSTSELCUR"}]</option>
[{foreach from=$oView->getCurList() item=cur}]
<option value="[{$cur->id}]" [{if $edit->oxcountry__d3geoipcur->value == $cur->id}]selected[{/if}]>[{$cur->name}] ([{$cur->sign}])</option>
[{/foreach}]
</SELECT>
</td>
</tr>
<tr>
<td class="edittext"><br><br>
</td>
<td class="edittext"><br><br>
<input type="submit" class="edittext" id="oLockButton" name="saveArticle" value="[{ oxmultilang ident="GENERAL_SAVE" }]" onClick="Javascript:document.myedit.fnc.value='save'"" [{ $readonly }] [{ if !$edit->oxcountry__oxtitle->value && !$oxparentid }]disabled[{/if}]><br>
</td>
</tr>
</table>
</td>
<!-- Anfang rechte Seite -->
<td valign="top" class="edittext" align="left" width="55%">
</td>
<!-- Ende rechte Seite -->
</tr>
</table>
</form>
[{include file="bottomnaviitem.tpl"}]
[{include file="bottomitem.tpl"}]

11
setup+doku/EE/install.sql Normal file
View File

@ -0,0 +1,11 @@
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 1, 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'EE4', 0, '', '', '', '', 14, 14);
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 2, 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'EE4', 0, '', '', '', '', 14, 14);
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 3, 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'EE4', 0, '', '', '', '', 14, 14);
ALTER TABLE `oxcountry` ADD `D3GEOIPSHOP` VARCHAR( 10 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPLANG` TINYINT( 2 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPCUR` TINYINT( 2 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPURL` VARCHAR( 255 ) NOT NULL;

12
setup+doku/EE/update.sql Normal file
View File

@ -0,0 +1,12 @@
# ==== 1.0 EE4 => 1.1 EE4 ====
ALTER TABLE `d3geoip` CHANGE `D3STARTIPNUM` `D3STARTIPNUM` INT( 10 ) UNSIGNED NOT NULL ,
CHANGE `D3ENDIPNUM` `D3ENDIPNUM` INT( 10 ) UNSIGNED NOT NULL
# ==== 1.1 EE4 => 2.0.0 EE4 ====
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 1, 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'EE4', 0, '', '', '', '', 14, 14);
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 2, 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'EE4', 0, '', '', '', '', 14, 14);
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 3, 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'EE4', 0, '', '', '', '', 14, 14);
ALTER TABLE `oxcountry` ADD `D3GEOIPURL` VARCHAR( 255 ) NOT NULL;

BIN
setup+doku/Installation.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,7 @@
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 'oxbaseshop', 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'PE4', 0, '', '', '', '', 14, 14);
ALTER TABLE `oxcountry` ADD `D3GEOIPSHOP` VARCHAR( 10 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPLANG` TINYINT( 2 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPCUR` TINYINT( 2 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPURL` VARCHAR( 255 ) NOT NULL;

8
setup+doku/PE/update.sql Normal file
View File

@ -0,0 +1,8 @@
# ==== 1.0 PE4 => 1.1 PE4 ====
ALTER TABLE `d3geoip` CHANGE `D3STARTIPNUM` `D3STARTIPNUM` INT( 10 ) UNSIGNED NOT NULL ,
CHANGE `D3ENDIPNUM` `D3ENDIPNUM` INT( 10 ) UNSIGNED NOT NULL
# ==== 1.1 PE4 => 2.0.0 PE4 ====
INSERT INTO `d3_cfg_mod` (`OXID`, `OXSHOPID`, `OXMODID`, `OXNAME`, `OXACTIVE`, `OXSERIAL`, `OXINSTALLDATE`, `OXVERSION`, `OXSHOPVERSION`, `OXISMODULELOG`, `OXREQUIREMENTS`, `OXVALUE`, `OXVALUE_1`, `OXVALUE_2`, `OXREVISION`, `OXNEWREVISION`) VALUES
(MD5(RAND()), 'oxbaseshop', 'd3_geoip', 'GeoIP', 1, '', NOW(), '2.0.0', 'PE4', 0, '', '', '', '', 14, 14);
ALTER TABLE `oxcountry` ADD `D3GEOIPURL` VARCHAR( 255 ) NOT NULL;

View File

@ -1,44 +1,12 @@
-- phpMyAdmin SQL Dump
-- version 2.8.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 13. Oktober 2011 um 11:02
-- Server Version: 5.0.51
-- PHP-Version: 5.2.5
--
--
-- --------------------------------------------------------
--
-- Tabellenstruktur f<>r Tabelle `d3geoip`
--
CREATE TABLE `d3geoip` (
`D3STARTIP` char(15) collate latin1_general_ci NOT NULL,
`D3ENDIP` char(15) collate latin1_general_ci NOT NULL,
`D3STARTIP` char(15) NOT NULL,
`D3ENDIP` char(15) NOT NULL,
`D3STARTIPNUM` int(10) unsigned NOT NULL,
`D3ISO` char(2) collate latin1_general_ci NOT NULL,
`D3COUNTRYNAME` varchar(50) collate latin1_general_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='GeoIP';
`D3ENDIPNUM` int(10) unsigned NOT NULL,
`D3ISO` char(2) NOT NULL,

View File

@ -1,3 +0,0 @@
ALTER TABLE `oxcountry` ADD `D3GEOIPSHOP` VARCHAR( 10 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPLANG` TINYINT( 2 ) NOT NULL DEFAULT '-1',
ADD `D3GEOIPCUR` TINYINT( 2 ) NOT NULL DEFAULT '-1';

View File

@ -1,72 +0,0 @@
********************************************************************************************
* *
* Modul "GeoIP-Kundenleitsystem" f<>r OXID eSales Version EE 4.2.0 *
* Version 1.0 (30.10.2009) *
* Datenbasis: MaxMind GeoLite Country, Version Oktober 2011
* (C) D<> Data Development *
* Bearbeiter: DS *
* *
********************************************************************************************
* *
* Bei Fragen, Kritiken bzw. Probleme erreichen Sie uns wie folgt: *
* *
* D<> Data Development *
* Herr Thomas Dartsch *
* Stollberger Stra<72>e 23 *
* 09380, Thalheim *
* *
* Tel.: 03721-268090 *
* *
* http://www.shopmodule.com *
* info@shopmodule.com *
* *
* Achtung: F<>r Fehlermeldungen und Supportanfragen bitte ausschlie<69>lich folgende *
* Emailadresse nutzen: support@shopmodule.com *
* *
********************************************************************************************
Voraussetzung: OXID eShop Version ab EE 4.2.0
Installation:
-------------
1) Kopieren Sie bitte die im Verzeichnis "copy_this" liegenden Dateien in den Shop. Achten Sie darauf, da<64>
speziell die PHP-Dateien im Bin<69>r-Modus <20>bertragen werden. Behalten Sie die Verzeichnisstruktur bei!
2) Modul aktivieren <20>ber Admin -> Stammdaten -> Grundeinstellungen -> System -> Textfeld "Module"
Hier Folgendes eintragen:
oxcmp_cur => d3_geoip/views/d3_oxcmp_cur_geoip
oxcmp_lang => d3_geoip/views/d3_oxcmp_lang_geoip
Achtung: Wenn in Ihrem Shop bereits die genannten Klassen per Modul erweitert wurde, mu<6D> das Modul an die
bestehende Erweiterung geh<65>ngt werden.
Beispiel:
oxcmp_lang => anderes_oxcmp_lang_Modul&d3_geoip/views/d3_oxcmp_lang_geoip
3) Liegt dem Modul eine Datei "install.sql" bei, f<>hren Sie diese bitte im Adminbereich unter "Service => Tools" aus.
4) F<>hren Sie an der selben Stelle bitte auch die Datei "geoip.sql" aus.
5) F<>gen Sie ind ei config.inc.php folgende Variable:
$this->blForceSessionStart = true;
6) Leeren Sie bitte unbedingt das Verzeichnis /tmp im Shop.
7) Im Adminbereich unter "Stammdaten -> L<>nder -> GeoIP-Kundenumleitungen" k<>nnen Sie nun einstellen, welche Kunden
an welche Stelle umgeleitet werden sollen.
Wir w<>nschen Ihnen mit Ihrem neuen Modul viel Erfolg.
==================== Anmerkung zur Datenbasis ==============================
Dieses Modul verwendet als Datenbasis die GeoIP-Daten der Firma MaxMind. In der Standard-Installation wird die
im Kopfbereich dieses Dokuments genannte Version installiert.
Nach dem aktuellen Stand gibt MaxMind eine Genauigkeit von 99,5 % f<>r die Lite-Version vor. MaxMind bietet gegen
Entgelt auch eine genauere Version an, die zum Beispiel die Unterscheidung der AOL-User verstehen soll. Bei Bedarf
k<EFBFBD>nnen Sie die Datenbank mit der aktuellen Fassung beider Versionen updaten. Solang sich an der Struktur der Daten
nichts <20>ndert, k<>nnen diese mit diesem Shopmodul verwendet werden.
N<EFBFBD>here Informationen zu den Produkten der Firma MaxMind finden Sie auf deren Homepage unter www.maxmind.com

View File

@ -1,4 +0,0 @@
# =========== 1.0 => 1.1 ==============
ALTER TABLE `d3geoip` CHANGE `D3STARTIPNUM` `D3STARTIPNUM` INT( 10 ) UNSIGNED NOT NULL ,
CHANGE `D3ENDIPNUM` `D3ENDIPNUM` INT( 10 ) UNSIGNED NOT NULL

View File

@ -1,3 +0,0 @@
CSV-Datei <20>ber Editor von Anf<6E>hrungszeichen befreien, aufladen und <20>ber Konsole in geleerte Tabelle schreiben:
LOAD DATA LOCAL INFILE 'filename' INTO TABLE 'tablename' FIELDS TERMINATED BY ',';

Binary file not shown.

0
sources/ToDo.txt Normal file
View File