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

This commit is contained in:
Daniel Seifert 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ü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üfen',
'D3_GEOIP_SET_IP_CHECKIP_NOTSET' => 'IP nicht zugewiesen oder Land nicht aktiv',
'D3_GENERAL_GEOIP_SAVE' => 'Speichern',
'D3_GEOIP_SELSHOP' => 'zuständiger Shop',
'D3_GEOIP_SELLANG' => 'vorgewählte Sprache',
'D3_GEOIP_SELCUR' => 'vorgewählte Währung',
'D3_GEOIP_CUSTSELSHOP' => ' - vom Kunden gewählter Shop - ',
'D3_GEOIP_CUSTSELLANG' => ' - vom Kunden gewählte Sprache - ',
'D3_GEOIP_CUSTSELCUR' => ' - vom Kunden gewä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ä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ü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üfen',
'D3_GEOIP_SET_IP_CHECKIP_NOTSET' => 'IP nicht zugewiesen oder Land nicht aktiv',
'D3_GENERAL_GEOIP_SAVE' => 'Speichern',
'D3_GEOIP_SELSHOP' => 'zuständiger Shop',
'D3_GEOIP_SELLANG' => 'vorgewählte Sprache',
'D3_GEOIP_SELCUR' => 'vorgewählte Währung',
'D3_GEOIP_CUSTSELSHOP' => ' - vom Kunden gewählter Shop - ',
'D3_GEOIP_CUSTSELLANG' => ' - vom Kunden gewählte Sprache - ',
'D3_GEOIP_CUSTSELCUR' => ' - vom Kunden gewä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ä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 © 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 © 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 © 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 © 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ührte Aufträge nach definierten Regeln weiter.<br>Aktiviere Sie die Moduleinträge bitte immer und steuern Sie die Modulaktivität ausschließ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,
`D3ENDIPNUM` 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';
`D3ISO` char(2) NOT NULL,
`D3COUNTRYNAME` varchar(50) NOT NULL
) ENGINE=MyISAM COMMENT='GeoIP';

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ße 23 *
* 09380, Thalheim *
* *
* Tel.: 03721-268090 *
* *
* http://www.shopmodule.com *
* info@shopmodule.com *
* *
* Achtung: Für Fehlermeldungen und Supportanfragen bitte ausschließ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ß
speziell die PHP-Dateien im Binär-Modus übertragen werden. Behalten Sie die Verzeichnisstruktur bei!
2) Modul aktivieren ü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ß das Modul an die
bestehende Erweiterung gehä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önnen Sie die Datenbank mit der aktuellen Fassung beider Versionen updaten. Solang sich an der Struktur der Daten
nichts ändert, können diese mit diesem Shopmodul verwendet werden.
Nä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 über Editor von Anführungszeichen befreien, aufladen und ü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