4.7.X implementation

This commit is contained in:
Daniel Seifert 2013-09-03 10:33:05 +00:00
parent 5d1cb68d97
commit 0b4d102217
33 changed files with 1414 additions and 1226 deletions

28
.gitattributes vendored
View File

@ -1,31 +1,15 @@
* text=auto !eol
changed_full/420-448/out/basic/de/d3_usersonline_lang.php -text
changed_full/420-448/out/basic/tpl/_left.tpl -text
changed_full/420-448/out/basic/tpl/inc/d3usersonline.tpl -text
changed_full/450/out/azure/de/d3_usersonline_lang.php -text
changed_full/450/out/azure/tpl/inc/d3usersonline.tpl -text
changed_full/450/out/azure/tpl/layout/sidebar.tpl -text
changed_full/450/out/basic/de/d3_usersonline_lang.php -text
changed_full/450/out/basic/tpl/_left.tpl -text
changed_full/450/out/basic/tpl/inc/d3usersonline.tpl -text
changed_full/451-453/out/azure/de/d3_usersonline_lang.php -text
changed_full/451-453/out/azure/tpl/inc/d3usersonline.tpl -text
changed_full/451-453/out/azure/tpl/layout/sidebar.tpl -text
changed_full/451-453/out/basic/de/d3_usersonline_lang.php -text
changed_full/451-453/out/basic/tpl/_left.tpl -text
changed_full/451-453/out/basic/tpl/inc/d3usersonline.tpl -text
changed_full/461/out/admin/de/d3_usersonline_lang.php -text
changed_full/461/out/azure/tpl/inc/d3usersonline.tpl -text
changed_full/461/out/azure/tpl/layout/sidebar.tpl -text
changed_full/461/out/basic/tpl/_left.tpl -text
changed_full/461/out/basic/tpl/inc/d3usersonline.tpl -text
changed_full/461/out/de/d3_usersonline_lang.php -text
changed_full/EE500-/modules/d3/d3usersonline/views/blocks/layout/d3usersonline_sidebar.tpl -text
changed_full/PE470-/modules/d3/d3usersonline/views/blocks/layout/d3usersonline_sidebar.tpl -text
copy_this/modules/d3/d3usersonline/metadata.php -text
copy_this/modules/d3/d3usersonline/models/d3usersonline.php -text
copy_this/modules/d3/d3usersonline/models/d3usersonline_update.php -text
copy_this/modules/d3/d3usersonline/modules/components/d3_oxcmp_utils_usersonline.php -text
copy_this/modules/d3/d3usersonline/picture.png -text
copy_this/modules/d3/d3usersonline/translations/de/d3usersonline_lang.php -text
copy_this/modules/d3/d3usersonline/translations/en/d3usersonline_lang.php -text
setup+doku/Installation.pdf -text
setup+doku/install.sql -text
setup+doku/d3precheck.php -text
source/Re[!!-~]D3[!!-~]Users[!!-~]Online[!!-~]kit[!!-~]Oxid[!!-~]CE[!!-~]4.7.eml -text
source/UsersOnline[!!-~]v1.2.1[!!-~]CE4_Kundenversion_4.7.0.zip -text
source/UsersOnline-Installation.docx -text

View File

@ -1,34 +0,0 @@
<?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 PE
* $Id: lang.php 19866 2009-06-16 10:33:17Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERSONLINE_USERSONLINE' => 'Benutzer online',
'D3_USERSONLINE_USER' => 'Benutzer',
'D3_USERSONLINE_USERS' => 'Benutzer',
'D3_USERSONLINE_ALL' => 'gesamt',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -1,79 +0,0 @@
[{if $oView->showSearch() }]
<strong class="h2 search">[{ oxmultilang ident="INC_LEFTITEM_PRODUCTSEARCH" }]</strong>
<form action="[{ $oViewConf->getSelfActionLink() }]" method="get" name="search" class="search" id="f.search">
<p>
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="search">
<input type="text" name="searchparam" value="[{$searchparamforhtml}]" size="21" id="f.search.param" class="txt">
[{if $oView->getSearchCatTree() }]
<select id="test_searchCategorySelect" class="search_input" name="searchcnid" [{if $oViewConf->isAutoSearchOnCat() }]onchange="oxid.search('f.search','f.search.param');"[{/if}]>
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLCATEGORIES" }] </option>
[{include file="inc/category_options.tpl" tree=$oView->getSearchCatTree() sSpacer=""}]
</select>
[{/if}]
[{if $oView->getVendorlist() }]
<select id="test_searchVendorSelect" class="search_input" name="searchvendor">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLDISTRIBUTORS" }] </option>
[{foreach from=$oView->getVendorlist() item=oVendorlistentry}]
<option value="[{$oVendorlistentry->oxvendor__oxid->value}]"[{if $searchvendor == $oVendorlistentry->oxvendor__oxid->value}] selected[{/if}]>[{ $oVendorlistentry->oxvendor__oxtitle->value }][{ if $oVendorlistentry->getNrOfArticles() > 0 }] ([{$oVendorlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
[{if $oView->getManufacturerlist() }]
<select id="test_searchManufacturerSelect" class="search_input" name="searchmanufacturer">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLMANUFACTURERS" }] </option>
[{foreach from=$oView->getManufacturerlist() item=oManufacturerlistentry}]
<option value="[{$oManufacturerlistentry->oxmanufacturers__oxid->value}]"[{if $searchmanufacturer == $oManufacturerlistentry->oxmanufacturers__oxid->value}] selected[{/if}]>[{ $oManufacturerlistentry->oxmanufacturers__oxtitle->value }][{ if $oManufacturerlistentry->getNrOfArticles() > 0 }] ([{$oManufacturerlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
<span class="btn"><input id="test_searchGo" type="submit" class="btn" value="GO!"></span>
</p>
</form>
[{/if}]
[{if $oxcmp_categories }]
[{if $oView->showTopCatNavigation()}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories->getClickRoot() act=$oxcmp_categories->getClickCat() class="tree"}]
[{else}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories act=$oxcmp_categories->getClickCat() class="tree"}]
[{/if}]
[{/if}]
[{if $oView->loadVendorTree() && $oView->getVendorlist()}]
[{include file="inc/vendor_tree.tpl" tree=$oView->getVendorlist() class="tree"}]
[{/if}]
[{if $oView->loadManufacturerTree() && $oView->getManufacturerlist()}]
[{include file="inc/manufacturer_tree.tpl" tree=$oView->getManufacturerlist() class="tree"}]
[{/if}]
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
[{*** D3 Modul "UsersOnline" END ***}]
[{if $oView->showLeftBasket()}]
[{oxid_include_dynamic file="dyn/mini_basket.tpl" type="basket" testid="LeftBasket"}]
[{/if}]
[{include file="inc/infobox.tpl"}]
[{if $oxcmp_news && count($oxcmp_news) > 0}]
[{include file="inc/cmp_news.tpl"}]
[{/if}]
<strong class="h2" id="test_LeftSidePartnersHeader">[{ oxmultilang ident="INC_LEFTITEM_PARTNERANDSEAL" }]</strong>
<div class="partners">
<div class="logo">
[{include file="inc/trustedshops_item.tpl"}]
</div>
<div class="logo">
<a href="http://www.zend.com" id="link.zendSite"><img src="[{$oViewConf->getImageUrl()}]zend_logo.gif" alt=""></a>
[{oxscript add="oxid.blank('link.zendSite');"}]
</div>
</div>

View File

@ -1,43 +0,0 @@
[{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
<strong class="h2" id="test_LeftSideInfoHeader">[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</strong>
<div class="partners" style="padding-left: 10px;">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right;">
<b>[{$aUsersOnline.all }]</b>
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right;">
<b>[{$aClassUser->counter}]</b>
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
[{/if}]

View File

@ -1,34 +0,0 @@
<?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 PE
* $Id: lang.php 19866 2009-06-16 10:33:17Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERSONLINE_USERSONLINE' => 'Benutzer online',
'D3_USERSONLINE_USER' => 'Benutzer',
'D3_USERSONLINE_USERS' => 'Benutzer',
'D3_USERSONLINE_ALL' => 'gesamt',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -1,45 +0,0 @@
[{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
<div class="box">
<h3>[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</h3>
<div class="content">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right;">
<b>[{$aUsersOnline.all }]</b>
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right;">
<b>[{$aClassUser->counter}]</b>
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
</div>
[{/if}]

View File

@ -1,70 +0,0 @@
[{if $oView->isDemoShop()}]
[{ include file="widget/sidebar/adminbanner.tpl" }]
[{/if}]
[{if $oxcmp_categories }]
[{capture append="oxidBlock_sidebar" }]
[{include file="widget/sidebar/categoriestree.tpl" categories=$oxcmp_categories->getClickRoot() act=$oxcmp_categories->getClickCat() deepLevel=0}]
[{/capture}]
[{/if}]
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
[{*** D3 Modul "UsersOnline" END ***}]
[{if $oView->getClassName() eq "start" && $oView->getTop5ArticleList()}]
[{capture append="oxidBlock_sidebar" }]
[{include file="widget/product/boxproducts.tpl" _boxId="topBox" _oBoxProducts=$oView->getTop5ArticleList() _sHeaderIdent="BOX_TOPOFTHESHOP_HEADER"}]
[{/capture}]
[{/if}]
[{if $oViewConf->getShowListmania() }]
[{capture append="oxidBlock_sidebar"}]
[{include file="widget/sidebar/recommendation.tpl"}]
[{/capture}]
[{/if}]
[{if $oView->getClassName() ne "details" && $oView->getClassName() ne "tags"}]
[{if $oView->getTagCloudManager() }]
[{capture append="oxidBlock_sidebar"}]
[{include file="widget/sidebar/tags.tpl" oTagsManager=$oView->getTagCloudManager()}]
[{/capture}]
[{/if}]
[{/if}]
[{if $oxcmp_news|count }]
[{capture append="oxidBlock_sidebar"}]
[{include file="widget/sidebar/news.tpl" oNews=$oxcmp_news}]
[{/capture}]
[{/if}]
[{if $oView->isActive('FbFacepile') && $oView->isConnectedWithFb()}]
[{capture append="oxidBlock_sidebar"}]
[{include file="widget/facebook/facepile.tpl"}]
[{/capture}]
[{/if}]
[{if $oView->getClassName() eq "start"}]
[{capture append="oxidBlock_sidebar"}]
[{include file="widget/sidebar/partners.tpl" }]
[{/capture}]
[{/if}]
[{if $oView->getClassName() eq "start"}]
[{if $oViewConf->showTs("WIDGET")}]
[{capture append="oxidBlock_sidebar"}]
[{include file="widget/trustedshops/ratings.tpl" }]
[{/capture}]
[{/if}]
[{/if}]
[{if $oView->getClassName() eq "start"}]
[{capture append="oxidBlock_sidebar"}]
[{include file="widget/shoplupe/ratings.tpl" }]
[{/capture}]
[{/if}]
[{foreach from=$oxidBlock_sidebar item="_block"}]
[{$_block}]
[{/foreach}]

View File

@ -1,34 +0,0 @@
<?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 PE
* $Id: lang.php 19866 2009-06-16 10:33:17Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERSONLINE_USERSONLINE' => 'Benutzer online',
'D3_USERSONLINE_USER' => 'Benutzer',
'D3_USERSONLINE_USERS' => 'Benutzer',
'D3_USERSONLINE_ALL' => 'gesamt',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -1,79 +0,0 @@
[{if $oView->showSearch() }]
<strong class="h2 search">[{ oxmultilang ident="INC_LEFTITEM_PRODUCTSEARCH" }]</strong>
<form action="[{ $oViewConf->getSelfActionLink() }]" method="get" name="search" class="search" id="f.search">
<p>
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="search">
<input type="text" name="searchparam" value="[{$oView->getSearchParamForHtml()}]" size="21" id="f.search.param" class="txt">
[{if $oView->getSearchCatTree() }]
<select id="test_searchCategorySelect" class="search_input" name="searchcnid" [{if $oViewConf->isAutoSearchOnCat() }]onchange="oxid.search('f.search','f.search.param');"[{/if}]>
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLCATEGORIES" }] </option>
[{include file="inc/category_options.tpl" tree=$oView->getSearchCatTree() sSpacer=""}]
</select>
[{/if}]
[{if $oView->getVendorlist() }]
<select id="test_searchVendorSelect" class="search_input" name="searchvendor">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLDISTRIBUTORS" }] </option>
[{foreach from=$oView->getVendorlist() item=oVendorlistentry}]
<option value="[{$oVendorlistentry->oxvendor__oxid->value}]"[{if $oView->getSearchVendor() == $oVendorlistentry->oxvendor__oxid->value}] selected[{/if}]>[{ $oVendorlistentry->oxvendor__oxtitle->value }][{ if $oVendorlistentry->getNrOfArticles() > 0 }] ([{$oVendorlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
[{if $oView->getManufacturerlist() }]
<select id="test_searchManufacturerSelect" class="search_input" name="searchmanufacturer">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLMANUFACTURERS" }] </option>
[{foreach from=$oView->getManufacturerlist() item=oManufacturerlistentry}]
<option value="[{$oManufacturerlistentry->oxmanufacturers__oxid->value}]"[{if $oView->getSearchManufacturer() == $oManufacturerlistentry->oxmanufacturers__oxid->value}] selected[{/if}]>[{ $oManufacturerlistentry->oxmanufacturers__oxtitle->value }][{ if $oManufacturerlistentry->getNrOfArticles() > 0 }] ([{$oManufacturerlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
<span class="btn"><input id="test_searchGo" type="submit" class="btn" value="GO!"></span>
</p>
</form>
[{/if}]
[{if $oxcmp_categories }]
[{if $oView->showTopCatNavigation()}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories->getClickRoot() act=$oxcmp_categories->getClickCat() class="tree"}]
[{else}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories act=$oxcmp_categories->getClickCat() class="tree"}]
[{/if}]
[{/if}]
[{if $oView->loadVendorTree() && $oView->getVendorlist()}]
[{include file="inc/vendor_tree.tpl" tree=$oView->getVendorlist() class="tree"}]
[{/if}]
[{if $oView->loadManufacturerTree() && $oView->getManufacturerlist()}]
[{include file="inc/manufacturer_tree.tpl" tree=$oView->getManufacturerlist() class="tree"}]
[{/if}]
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
[{*** D3 Modul "UsersOnline" END ***}]
[{if $oView->showLeftBasket()}]
[{oxid_include_dynamic file="dyn/mini_basket.tpl" type="basket" testid="LeftBasket"}]
[{/if}]
[{include file="inc/infobox.tpl"}]
[{if $oxcmp_news && count($oxcmp_news) > 0}]
[{include file="inc/cmp_news.tpl"}]
[{/if}]
<strong class="h2" id="test_LeftSidePartnersHeader">[{ oxmultilang ident="INC_LEFTITEM_PARTNERANDSEAL" }]</strong>
<div class="partners">
<div class="logo">
[{include file="inc/trustedshops_item.tpl"}]
</div>
<div class="logo">
<a href="http://www.zend.com" id="link.zendSite"><img src="[{$oViewConf->getImageUrl()}]zend_logo.gif" alt=""></a>
[{oxscript add="oxid.blank('link.zendSite');"}]
</div>
</div>

View File

@ -1,43 +0,0 @@
[{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
<strong class="h2" id="test_LeftSideInfoHeader">[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</strong>
<div class="partners" style="padding-left: 10px;">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right;">
<b>[{$aUsersOnline.all }]</b>
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right;">
<b>[{$aClassUser->counter}]</b>
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
[{/if}]

View File

@ -1,34 +0,0 @@
<?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 PE
* $Id: lang.php 19866 2009-06-16 10:33:17Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERSONLINE_USERSONLINE' => 'Benutzer online',
'D3_USERSONLINE_USER' => 'Benutzer',
'D3_USERSONLINE_USERS' => 'Benutzer',
'D3_USERSONLINE_ALL' => 'gesamt',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -1,45 +0,0 @@
[{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
<div class="box">
<h3>[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</h3>
<div class="content">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right;">
<b>[{$aUsersOnline.all }]</b>
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right;">
<b>[{$aClassUser->counter}]</b>
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
</div>
[{/if}]

View File

@ -1,74 +0,0 @@
[{foreach from=$oxidBlock_sidebar item="_block"}]
[{$_block}]
[{/foreach}]
[{block name="sidebar"}]
[{block name="sidebar_adminbanner"}]
[{if $oView->isDemoShop()}]
[{ include file="widget/sidebar/adminbanner.tpl" }]
[{/if}]
[{/block}]
[{block name="sidebar_categoriestree"}]
[{if $oxcmp_categories }]
[{include file="widget/sidebar/categoriestree.tpl" categories=$oxcmp_categories->getClickRoot() act=$oxcmp_categories->getClickCat() deepLevel=0}]
[{/if}]
[{/block}]
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
{{*** D3 Modul "UsersOnline" END ***}]
[{block name="sidebar_trustedshopsratings"}]
[{if $oView->getClassName() eq "start"}]
[{if $oViewConf->showTs("WIDGET")}]
[{include file="widget/trustedshops/ratings.tpl" }]
[{/if}]
[{/if}]
[{/block}]
[{block name="sidebar_partners"}]
[{if $oView->getClassName() eq "start"}]
[{include file="widget/sidebar/partners.tpl" }]
[{/if}]
[{/block}]
[{block name="sidebar_boxproducts"}]
[{if $oView->getClassName() eq "start" && $oView->getTop5ArticleList()}]
[{include file="widget/product/boxproducts.tpl" _boxId="topBox" _oBoxProducts=$oView->getTop5ArticleList() _sHeaderIdent="BOX_TOPOFTHESHOP_HEADER"}]
[{/if}]
[{/block}]
[{block name="sidebar_recommendation"}]
[{if $oViewConf->getShowListmania() }]
[{include file="widget/sidebar/recommendation.tpl"}]
[{/if}]
[{/block}]
[{block name="sidebar_tags"}]
[{if $oView->showTags() && $oView->getClassName() ne "details" && $oView->getClassName() ne "alist" && $oView->getClassName() ne "tags"}]
[{if $oView->getTagCloudManager() }]
[{include file="widget/sidebar/tags.tpl" oTagsManager=$oView->getTagCloudManager()}]
[{/if}]
[{/if}]
[{/block}]
[{block name="sidebar_news"}]
[{if $oxcmp_news|count }]
[{include file="widget/sidebar/news.tpl" oNews=$oxcmp_news}]
[{/if}]
[{/block}]
[{block name="sidebar_facebookfacepile"}]
[{if $oView->isActive('FbFacepile') && $oView->isConnectedWithFb()}]
[{include file="widget/facebook/facepile.tpl"}]
[{/if}]
[{/block}]
[{block name="sidebar_shopluperatings"}]
[{if $oView->getClassName() eq "start"}]
[{include file="widget/shoplupe/ratings.tpl" }]
[{/if}]
[{/block}]
[{/block}]

View File

@ -1,34 +0,0 @@
<?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 PE
* $Id: lang.php 19866 2009-06-16 10:33:17Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERSONLINE_USERSONLINE' => 'Benutzer online',
'D3_USERSONLINE_USER' => 'Benutzer',
'D3_USERSONLINE_USERS' => 'Benutzer',
'D3_USERSONLINE_ALL' => 'gesamt',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -1,79 +0,0 @@
[{if $oView->showSearch() }]
<strong class="h2 search">[{ oxmultilang ident="INC_LEFTITEM_PRODUCTSEARCH" }]</strong>
<form action="[{ $oViewConf->getSelfActionLink() }]" method="get" name="search" class="search" id="f.search">
<p>
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="search">
<input type="text" name="searchparam" value="[{$oView->getSearchParamForHtml()}]" size="21" id="f.search.param" class="txt">
[{if $oView->getSearchCatTree() }]
<select id="test_searchCategorySelect" class="search_input" name="searchcnid" [{if $oViewConf->isAutoSearchOnCat() }]onchange="oxid.search('f.search','f.search.param');"[{/if}]>
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLCATEGORIES" }] </option>
[{include file="inc/category_options.tpl" tree=$oView->getSearchCatTree() sSpacer=""}]
</select>
[{/if}]
[{if $oView->getVendorlist() }]
<select id="test_searchVendorSelect" class="search_input" name="searchvendor">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLDISTRIBUTORS" }] </option>
[{foreach from=$oView->getVendorlist() item=oVendorlistentry}]
<option value="[{$oVendorlistentry->oxvendor__oxid->value}]"[{if $oView->getSearchVendor() == $oVendorlistentry->oxvendor__oxid->value}] selected[{/if}]>[{ $oVendorlistentry->oxvendor__oxtitle->value }][{ if $oVendorlistentry->getNrOfArticles() > 0 }] ([{$oVendorlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
[{if $oView->getManufacturerlist() }]
<select id="test_searchManufacturerSelect" class="search_input" name="searchmanufacturer">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLMANUFACTURERS" }] </option>
[{foreach from=$oView->getManufacturerlist() item=oManufacturerlistentry}]
<option value="[{$oManufacturerlistentry->oxmanufacturers__oxid->value}]"[{if $oView->getSearchManufacturer() == $oManufacturerlistentry->oxmanufacturers__oxid->value}] selected[{/if}]>[{ $oManufacturerlistentry->oxmanufacturers__oxtitle->value }][{ if $oManufacturerlistentry->getNrOfArticles() > 0 }] ([{$oManufacturerlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
<span class="btn"><input id="test_searchGo" type="submit" class="btn" value="GO!"></span>
</p>
</form>
[{/if}]
[{if $oxcmp_categories }]
[{if $oView->showTopCatNavigation()}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories->getClickRoot() act=$oxcmp_categories->getClickCat() class="tree"}]
[{else}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories act=$oxcmp_categories->getClickCat() class="tree"}]
[{/if}]
[{/if}]
[{if $oView->loadVendorTree() && $oView->getVendorlist()}]
[{include file="inc/vendor_tree.tpl" tree=$oView->getVendorlist() class="tree"}]
[{/if}]
[{if $oView->loadManufacturerTree() && $oView->getManufacturerlist()}]
[{include file="inc/manufacturer_tree.tpl" tree=$oView->getManufacturerlist() class="tree"}]
[{/if}]
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
[{*** D3 Modul "UsersOnline" END ***}]
[{if $oView->showLeftBasket()}]
[{oxid_include_dynamic file="dyn/mini_basket.tpl" type="basket" testid="LeftBasket"}]
[{/if}]
[{include file="inc/infobox.tpl"}]
[{if $oxcmp_news && count($oxcmp_news) > 0}]
[{include file="inc/cmp_news.tpl"}]
[{/if}]
<strong class="h2" id="test_LeftSidePartnersHeader">[{ oxmultilang ident="INC_LEFTITEM_PARTNERANDSEAL" }]</strong>
<div class="partners">
<div class="logo">
[{include file="inc/trustedshops_item.tpl"}]
</div>
<div class="logo">
<a href="http://www.zend.com" id="link.zendSite"><img src="[{$oViewConf->getImageUrl()}]zend_logo.gif" alt=""></a>
[{oxscript add="oxid.blank('link.zendSite');"}]
</div>
</div>

View File

@ -1,43 +0,0 @@
[{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
<strong class="h2" id="test_LeftSideInfoHeader">[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</strong>
<div class="partners" style="padding-left: 10px;">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right;">
<b>[{$aUsersOnline.all }]</b>
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right;">
<b>[{$aClassUser->counter}]</b>
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
[{/if}]

View File

@ -1,31 +0,0 @@
<?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 PE
* $Id: lang.php 19866 2009-06-16 10:33:17Z alfonsas $
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERONLINE_METADATA_TITLE' => 'D³ User Online',
'D3_USERONLINE_METADATA_DESC' => 'Lassen Sie sich anonym im Shop anzeigen, wie viele Benutzer zur Zeit Ihren Shop besuchen und welche Seiten angezeigt werden. Das Modul speichert nicht die IP-Adresse oder sonstige Daten des Nutzers. Damit genügen Sie auch dem deutschen Recht.',
);
/*
[{ oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE' }]
*/

View File

@ -1,45 +0,0 @@
[{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
<div class="box">
<h3>[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</h3>
<div class="content">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right;">
<b>[{$aUsersOnline.all }]</b>
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right;">
<b>[{$aClassUser->counter}]</b>
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
</div>
[{/if}]

View File

@ -1,74 +0,0 @@
[{foreach from=$oxidBlock_sidebar item="_block"}]
[{$_block}]
[{/foreach}]
[{block name="sidebar"}]
[{block name="sidebar_adminbanner"}]
[{if $oView->isDemoShop()}]
[{ include file="widget/sidebar/adminbanner.tpl" }]
[{/if}]
[{/block}]
[{block name="sidebar_categoriestree"}]
[{if $oxcmp_categories }]
[{include file="widget/sidebar/categoriestree.tpl" categories=$oxcmp_categories->getClickRoot() act=$oxcmp_categories->getClickCat() deepLevel=0}]
[{/if}]
[{/block}]
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
[{*** D3 Modul "UsersOnline" END ***}]
[{block name="sidebar_trustedshopsratings"}]
[{if $oView->getClassName() eq "start"}]
[{if $oViewConf->showTs("WIDGET")}]
[{include file="widget/trustedshops/ratings.tpl" }]
[{/if}]
[{/if}]
[{/block}]
[{block name="sidebar_partners"}]
[{if $oView->getClassName() eq "start"}]
[{include file="widget/sidebar/partners.tpl" }]
[{/if}]
[{/block}]
[{block name="sidebar_boxproducts"}]
[{if $oView->getClassName() eq "start" && $oView->getTop5ArticleList()}]
[{include file="widget/product/boxproducts.tpl" _boxId="topBox" _oBoxProducts=$oView->getTop5ArticleList() _sHeaderIdent="BOX_TOPOFTHESHOP_HEADER"}]
[{/if}]
[{/block}]
[{block name="sidebar_recommendation"}]
[{if $oViewConf->getShowListmania() }]
[{include file="widget/sidebar/recommendation.tpl"}]
[{/if}]
[{/block}]
[{block name="sidebar_tags"}]
[{if $oView->showTags() && $oView->getClassName() ne "details" && $oView->getClassName() ne "alist" && $oView->getClassName() ne "tags"}]
[{if $oView->getTagCloudManager() }]
[{include file="widget/sidebar/tags.tpl" oTagsManager=$oView->getTagCloudManager()}]
[{/if}]
[{/if}]
[{/block}]
[{block name="sidebar_news"}]
[{if $oxcmp_news|count }]
[{include file="widget/sidebar/news.tpl" oNews=$oxcmp_news}]
[{/if}]
[{/block}]
[{block name="sidebar_facebookfacepile"}]
[{if $oView->isActive('FbFacepile') && $oView->isConnectedWithFb()}]
[{include file="widget/facebook/facepile.tpl"}]
[{/if}]
[{/block}]
[{block name="sidebar_shopluperatings"}]
[{if $oView->getClassName() eq "start"}]
[{include file="widget/shoplupe/ratings.tpl" }]
[{/if}]
[{/block}]
[{/block}]

View File

@ -1,79 +0,0 @@
[{if $oView->showSearch() }]
<strong class="h2 search">[{ oxmultilang ident="INC_LEFTITEM_PRODUCTSEARCH" }]</strong>
<form action="[{ $oViewConf->getSelfActionLink() }]" method="get" name="search" class="search" id="f.search">
<p>
[{ $oViewConf->getHiddenSid() }]
<input type="hidden" name="cl" value="search">
<input type="text" name="searchparam" value="[{$oView->getSearchParamForHtml()}]" size="21" id="f.search.param" class="txt">
[{if $oView->getSearchCatTree() }]
<select id="test_searchCategorySelect" class="search_input" name="searchcnid" [{if $oViewConf->isAutoSearchOnCat() }]onchange="oxid.search('f.search','f.search.param');"[{/if}]>
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLCATEGORIES" }] </option>
[{include file="inc/category_options.tpl" tree=$oView->getSearchCatTree() sSpacer=""}]
</select>
[{/if}]
[{if $oView->getVendorlist() }]
<select id="test_searchVendorSelect" class="search_input" name="searchvendor">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLDISTRIBUTORS" }] </option>
[{foreach from=$oView->getVendorlist() item=oVendorlistentry}]
<option value="[{$oVendorlistentry->oxvendor__oxid->value}]"[{if $oView->getSearchVendor() == $oVendorlistentry->oxvendor__oxid->value}] selected[{/if}]>[{ $oVendorlistentry->oxvendor__oxtitle->value }][{ if $oVendorlistentry->getNrOfArticles() > 0 }] ([{$oVendorlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
[{if $oView->getManufacturerlist() }]
<select id="test_searchManufacturerSelect" class="search_input" name="searchmanufacturer">
<option value=""> [{ oxmultilang ident="INC_SEARCHLEFTITEM_ALLMANUFACTURERS" }] </option>
[{foreach from=$oView->getManufacturerlist() item=oManufacturerlistentry}]
<option value="[{$oManufacturerlistentry->oxmanufacturers__oxid->value}]"[{if $oView->getSearchManufacturer() == $oManufacturerlistentry->oxmanufacturers__oxid->value}] selected[{/if}]>[{ $oManufacturerlistentry->oxmanufacturers__oxtitle->value }][{ if $oManufacturerlistentry->getNrOfArticles() > 0 }] ([{$oManufacturerlistentry->getNrOfArticles()}])[{/if}]</option>
[{/foreach}]
</select>
[{/if}]
<span class="btn"><input id="test_searchGo" type="submit" class="btn" value="GO!"></span>
</p>
</form>
[{/if}]
[{if $oxcmp_categories }]
[{if $oView->showTopCatNavigation()}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories->getClickRoot() act=$oxcmp_categories->getClickCat() class="tree"}]
[{else}]
[{include file="inc/category_tree.tpl" tree=$oxcmp_categories act=$oxcmp_categories->getClickCat() class="tree"}]
[{/if}]
[{/if}]
[{if $oView->loadVendorTree() && $oView->getVendorlist()}]
[{include file="inc/vendor_tree.tpl" tree=$oView->getVendorlist() class="tree"}]
[{/if}]
[{if $oView->loadManufacturerTree() && $oView->getManufacturerlist()}]
[{include file="inc/manufacturer_tree.tpl" tree=$oView->getManufacturerlist() class="tree"}]
[{/if}]
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
[{*** D3 Modul "UsersOnline" END ***}]
[{if $oView->showLeftBasket()}]
[{oxid_include_dynamic file="dyn/mini_basket.tpl" type="basket" testid="LeftBasket"}]
[{/if}]
[{include file="inc/infobox.tpl"}]
[{if $oxcmp_news && count($oxcmp_news) > 0}]
[{include file="inc/cmp_news.tpl"}]
[{/if}]
<strong class="h2" id="test_LeftSidePartnersHeader">[{ oxmultilang ident="INC_LEFTITEM_PARTNERANDSEAL" }]</strong>
<div class="partners">
<div class="logo">
[{include file="inc/trustedshops_item.tpl"}]
</div>
<div class="logo">
<a href="http://www.zend.com" id="link.zendSite"><img src="[{$oViewConf->getImageUrl()}]zend_logo.gif" alt=""></a>
[{oxscript add="oxid.blank('link.zendSite');"}]
</div>
</div>

View File

@ -1,43 +0,0 @@
[{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
<strong class="h2" id="test_LeftSideInfoHeader">[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</strong>
<div class="partners" style="padding-left: 10px;">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right;">
<b>[{$aUsersOnline.all }]</b>
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right;">
<b>[{$aClassUser->counter}]</b>
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
[{/if}]

View File

@ -0,0 +1,49 @@
[{d3modcfgcheck modid="d3usersonline"}]
[{if $oxcmp_user && $oxcmp_user->getFieldData('oxrights') == 'malladmin'}]
<div class="box">
<h3>[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</h3>
<div class="content">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right; font-weight: bold;">
[{$aUsersOnline.all}]&nbsp;
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right; font-weight: bold;">
[{$aClassUser->counter}]&nbsp;
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
</div>
[{/if}]
[{/d3modcfgcheck}]
[{$smarty.block.parent}]

View File

@ -0,0 +1,49 @@
[{d3modcfgcheck modid="d3usersonline"}]
[{if $oxcmp_user && $oxcmp_user->getFieldData('oxrights') == 'malladmin'}]
<div class="box">
<h3>[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]</h3>
<div class="content">
<table style="border-style: none; width: 100%;">
<tr>
<td style="border-bottom: 1px solid silver;">
[{oxmultilang ident="D3_USERSONLINE_ALL"}]
</td>
<td style="border-bottom: 1px solid silver; text-align: right; font-weight: bold;">
[{$aUsersOnline.all}]&nbsp;
</td>
<td style="border-bottom: 1px solid silver; text-align: left;">
[{if $aUsersOnline.all == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{foreach from=$aUsersOnline.classes item="aClassUser"}]
<tr>
<td>
[{if $aClassUser->classname}]
[{$aClassUser->classname|ucfirst}]:
[{else}]
undefined:
[{/if}]
</td>
<td style="text-align: right; font-weight: bold;">
[{$aClassUser->counter}]&nbsp;
</td>
<td style="text-align: left;">
[{if $aClassUser->counter == 1}]
[{oxmultilang ident="D3_USERSONLINE_USER"}]
[{else}]
[{oxmultilang ident="D3_USERSONLINE_USERS"}]
[{/if}]
</td>
</tr>
[{/foreach}]
</table>
</div>
</div>
[{/if}]
[{/d3modcfgcheck}]
[{$smarty.block.parent}]

View File

@ -1,18 +1,58 @@
<?php
/**
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
/**
* Metadata version
*/
$sMetadataVersion = '1.1';
/**
* Module information
*/
$sMetadataVersion = '1.0';
$aModule = array(
'id' => 'd3useronline',
'title' => oxLang::getInstance()->translateString('D3_USERONLINE_METADATA_TITLE'),
'description' => oxLang::getInstance()->translateString('D3_USERONLINE_METADATA_DESC'),
'thumbnail' => 'picture.png',
'version' => '1.2.1',
'author' => oxLang::getInstance()->translateString('D3_MOD_LIB_METADATA_AUTHOR'),
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',
'id' => 'd3usersonline',
'title' =>
(class_exists('d3utils') ? d3utils::getInstance()->getD3Logo() : 'D&sup3;') . ' Users Online',
'description' => array(
'de' => 'Lassen Sie sich anonym im Shop anzeigen, wie viele Benutzer zur Zeit Ihren Shop besuchen und welche Seiten angezeigt werden. Das Modul speichert nicht die IP-Adresse oder sonstige Daten des Nutzers. Damit genügen Sie auch dem deutschen Recht.',
'en' => '',
),
'thumbnail' => 'picture.png',
'version' => '2.0.0.0',
'author' => 'D&sup3; Data Development (Inh.: Thomas Dartsch)',
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',
'extend' => array(
'oxcmp_utils' => 'd3usersonline/views/d3_oxcmp_utils_usersonline'
'oxcmp_utils' => 'd3/d3usersonline/modules/components/d3_oxcmp_utils_usersonline',
),
'files' => array(
'd3usersonline' => 'd3/d3usersonline/models/d3usersonline.php',
'd3usersonline_update' => 'd3/d3usersonline/models/d3usersonline_update.php',
),
'templates' => array(
//'d3_cfg_extsearch_main.tpl' => 'd3/d3_extsearch/views/admin/tpl/d3_cfg_extsearch_main.tpl',
),
'events' => array(
'onActivate' => 'd3install::checkUpdateStart',
),
'blocks' => array(
array('template' => 'layout/sidebar.tpl', 'block' => 'sidebar_categoriestree',
'file' => 'views/blocks/layout/d3usersonline_sidebar.tpl'),
)
);

View File

@ -13,77 +13,188 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Aggrosoft, Data Development
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3usersonline extends oxI18n
class d3usersonline extends oxbase
{
/**
* Object core table name
*
* @var string
*/
protected $_sCoreTbl = 'd3usersonline';
/**
* Current class name
*
* @var string
*/
protected $_sClassName = 'd3usersonline';
public function __construct($aParams = null)
protected $_remoteAddr = null;
protected $_httpClientIp = null;
protected $_httpXForwardedFor = null;
protected $_httpXForwarded = null;
protected $_httpForwardedFor = null;
protected $_httpForwarded = null;
protected $_httpVia = null;
protected $_httpXComingFrom = null;
protected $_httpComingFrom = null;
/**
* constructor
*/
public function __construct()
{
parent::__construct();
$this->init( 'd3usersonline' );
}
/**
* @param $iExpTime
*/
public function clearOldItems($iExpTime)
{
startProfile(__METHOD__);
$exptime = time() - $iExpTime;
oxDb::getDb()->Execute("delete from ".$this->getViewName()." where timevisit < $exptime");
stopProfile(__METHOD__);
}
public function getActUserItem($sUserIPHash)
{
$sSelect = "select count(*) from ".$this->getViewName()." where visitor= ".oxDb::getDb()->quote($sUserIPHash);
return oxDb::getDb()->getOne( $sSelect );
}
/**
* @return array
*/
public function getUserCount()
{
$sSelect = "select count(*) counter, oxclass from ".$this->getViewName()." GROUP BY oxclass ORDER BY counter desc";
startProfile(__METHOD__);
$rs = oxDb::getDb(2)->Execute($sSelect);
$sSelect = "select count(oxid) AS counter, oxclass from ".$this->getViewName()." GROUP BY oxclass ORDER BY counter desc";
$aRecords = oxDb::getDb(oxDb::FETCH_MODE_ASSOC)->getArray($sSelect);
$iAllCounter = 0;
$aUserClasses = array();
if ($rs != false && $rs->RecordCount() > 0)
if ($aRecords && is_array($aRecords) && count($aRecords))
{
while (!$rs->EOF)
foreach ($aRecords as $aRecord)
{
$aRecord = array_change_key_case($aRecord, CASE_UPPER);
$oTmp = new stdClass;
$oTmp->classname = $rs->fields['oxclass'];
$oTmp->counter = $rs->fields['counter'];
$iAllCounter += $rs->fields['counter'];
$oTmp->classname = $aRecord['OXCLASS'];
$oTmp->counter = $aRecord['COUNTER'];
$iAllCounter += $aRecord['COUNTER'];
$aUserClasses['classes'][] = $oTmp;
$rs->moveNext();
}
}
$aUserClasses['all'] = $iAllCounter;
stopProfile(__METHOD__);
return $aUserClasses;
}
public function setActTimeVisit($sUserIpHash)
public function setActTimeVisit()
{
oxDb::getDb()->Execute("update ".$this->getViewName()." set timevisit= ".oxDb::getDb()->quote(time()).", oxclass = ".oxDb::getDb()->quote($this->getConfig()->getActiveView()->getClassName())." where visitor= ".oxDb::getDb()->quote($sUserIpHash));
startProfile(__METHOD__);
$this->setId($this->_getIPHash());
$aValues = array(
'timevisit' => time(),
'oxclass' => oxRegistry::getConfig()->getActiveView()->getClassName()
);
$this->assign($aValues);
$this->save();
stopProfile(__METHOD__);
}
public function insertActUser($sUserIpHash)
/**
* @return string
*/
protected function _getIPHash()
{
oxDb::getDb()->Execute("insert into ".$this->getViewName()." (visitor,timevisit,oxclass) values (".oxDb::getDb()->quote($sUserIpHash).", ".oxDb::getDb()->quote(time()).", ".oxDb::getDb()->quote($this->getConfig()->getActiveView()->getClassName()).")");
return md5($this->_getTrueIP());
}
/**
* @return null|string
*/
protected function _getTrueIP()
{
$sDirectIp = '';
$this->_getIpData('_remoteAddr', 'REMOTE_ADDR');
$this->_getIpData('_httpClientIp', 'HTTP_CLIENT_IP');
$this->_getIpData('_httpXForwardedFor', 'HTTP_X_FORWARDED_FOR');
$this->_getIpData('_httpXForwarded', 'HTTP_X_FORWARDED');
$this->_getIpData('_httpForwardedFor', 'HTTP_FORWARDED_FOR');
$this->_getIpData('_httpForwarded', 'HTTP_FORWARDED');
$this->_getIpData('_httpVia', 'HTTP_VIA');
$this->_getIpData('_httpXComingFrom', 'HTTP_X_COMING_FROM');
$this->_getIpData('_httpComingFrom', 'HTTP_COMING_FROM');
// Gets the default ip sent by the user
if (!empty($this->_remoteAddr))
$sDirectIp = $this->_remoteAddr;
// Gets the proxy ip sent by the user
if (!empty($this->_httpXForwardedFor))
$sProxyIp = $this->_httpXForwardedFor;
else if (!empty($this->_httpXForwarded))
$sProxyIp = $this->_httpXForwarded;
else if (!empty($this->_httpForwardedFor))
$sProxyIp = $this->_httpForwardedFor;
else if (!empty($this->_httpForwarded))
$sProxyIp = $this->_httpForwarded;
else if (!empty($this->_httpVia))
$sProxyIp = $this->_httpVia;
else if (!empty($this->_httpXComingFrom))
$sProxyIp = $this->_httpXComingFrom;
else if (!empty($this->_httpComingFrom))
$sProxyIp = $this->_httpComingFrom;
// Returns the true IP if it has been found, else ...
if (empty($sProxyIp))
{
// True IP without proxy
return $sDirectIp;
}
else
{
$blIsIp = preg_match('@^([0-9]{1,3}.){3,3}[0-9]{1,3}@', $sProxyIp, $aMatches);
if ($blIsIp && (count($aMatches) > 0))
{
// True IP behind a proxy
return $aMatches[0];
}
else
{
if (empty($this->_httpClientIp))
{
// Can't define IP: there is a proxy but we don't have
// information about the true IP
return "(unbekannt) " . $sProxyIp;
}
else
{
// better than nothing
return $this->_httpClientIp;
}
}
}
}
/**
* @param $sTargetVarName
* @param $sDataName
*/
protected function _getIpData($sTargetVarName, $sDataName)
{
if (empty($this->{$sTargetVarName}))
{
if (!empty($_SERVER) && isset($_SERVER[$sDataName]))
$this->{$sTargetVarName} = $_SERVER[$sDataName];
else if (!empty($_ENV) && isset($_ENV[$sDataName]))
$this->{$sTargetVarName} = $_ENV[$sDataName];
else if (@getenv($sDataName))
$this->{$sTargetVarName} = getenv($sDataName);
}
}
}

View File

@ -0,0 +1,253 @@
<?php
/**
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3usersonline_update extends d3install_updatebase
{
public $sModKey = 'd3usersonline';
public $sModName = 'Users Online';
public $sModVersion = '2.0.0.0';
public $sModRevision = '24';
public $sBaseConf = 'qnqSkx5WGk0V0xyY0wwVWNKTE5qSy9oY3RZeXdOSHhtd1c5aW9PWEltei9aWXg2RTBoOUErUi9UcVZFb
W1RVUpWM1ZwTTBLU2plR3RxNzVXSVREQUFqd0V4cTQ5ZHVYQTYvVEFYKzdXMkE3aTM0SFgvbEZsZzlwU
VJKeTltWmVISFQ5YmY1Y0Q5aDRFRGZ4b2FoenlOb1p5Y0c2aFdnRXVmQVdTK2VubzBhc2hvUkVQbVBhV
jFJeWdqRUZOSEFnekZVZmF2eCtIcThzeDBqNU1JdWkrZG9MQlhFdUNyd3NhUzlkL05YVDAvaEhjS04vZ
2xRL0w2U2ZlOEFjTXB3aGp1UmRFS2dmVGNocXhCT2dQY0MzZkVvckVOU1BoMG5Ma053UTNhYlNtMklQZ
DQ9';
public $sRequirements = '';
public $sBaseValue = '';
protected $_aUpdateMethods = array(
array('check' => 'checkUsersOnlineTableExist',
'do' => 'updateUsersOnlineTableExist'),
array('check' => 'checkModCfgItemExist',
'do' => 'updateModCfgItemExist'),
array('check' => 'checkFields',
'do' => 'fixFields'),
array('check' => 'checkIndizes',
'do' => 'fixIndizes'),
array('check' => 'checkModCfgSameRevision',
'do' => 'updateModCfgSameRevision'),
);
public $aFields = array(
'OXID' => array(
'sTableName' => 'd3usersonline',
'sFieldName' => 'OXID',
'sType' => 'char(32)',
'blNull' => FALSE,
'sDefault' => FALSE,
'sComment' => '',
'sExtra' => '',
'blMultilang' => FALSE,
),
'TIMEVISIT' => array(
'sTableName' => 'd3usersonline',
'sFieldName' => 'TIMEVISIT',
'sType' => 'INT(11)',
'blNull' => FALSE,
'sDefault' => '0',
'sComment' => '',
'sExtra' => '',
'blMultilang' => FALSE,
),
'OXCLASS' => array(
'sTableName' => 'd3usersonline',
'sFieldName' => 'OXCLASS',
'sType' => 'VARCHAR(32)',
'blNull' => FALSE,
'sDefault' => FALSE,
'sComment' => '',
'sExtra' => '',
'blMultilang' => FALSE,
),
);
public $aIndizes = array(
'OXID' => array(
'sTableName' => 'd3usersonline',
'sType' => 'PRIMARY',
'aFields' => array(
'OXID' => 'OXID',
),
),
'OXCLASS' => array(
'sTableName' => 'd3usersonline',
'sType' => 'PRIMARY',
'sName' => 'OXCLASS',
'aFields' => array(
'OXCLASS' => 'OXCLASS',
),
),
);
protected $_aRefreshMetaModuleIds = array('d3usersonline');
/**
* @return bool TRUE, if table is missing
*/
public function checkUsersOnlineTableExist()
{
return $this->_checkTableNotExist('d3usersonline');
}
/**
* @return bool
*/
public function updateUsersOnlineTableExist()
{
$blRet = TRUE;
if ($this->checkUsersOnlineTableExist())
{
$aRet = $this->_addTable('d3usersonline', $this->aFields, $this->aIndizes, 'users online', 'MyISAM');
$blRet = $aRet['blRet'];
$this->_setActionLog('SQL', $aRet['sql'], __METHOD__);
}
return $blRet;
}
/**
* @return bool
*/
public function checkModCfgItemExist()
{
$blRet = FALSE;
foreach ($this->_getShopList() as $oShop)
{
/** @var $oShop oxshop */
$aWhere = array(
'oxmodid' => $this->sModKey,
'oxnewrevision' => $this->sModRevision,
'oxshopid' => $oShop->getId(),
);
$blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere);
if ($blRet)
{
return $blRet;
}
}
return $blRet;
}
/**
* @return bool
*/
public function updateModCfgItemExist()
{
$blRet = FALSE;
if ($this->checkModCfgItemExist())
{
foreach ($this->_getShopList() as $oShop)
{
/** @var $oShop oxshop */
$aWhere = array(
'oxmodid' => $this->sModKey,
'oxshopid' => $oShop->getId(),
'oxnewrevision' => $this->sModRevision,
);
if ($this->_checkTableItemNotExist('d3_cfg_mod', $aWhere))
{
// update don't use this property
unset($aWhere['oxnewrevision']);
$aInsertFields = array(
'OXID' => array (
'content' => "md5('" . $this->sModKey . " " . $oShop->getId() . " de')",
'force_update' => TRUE,
'use_quote' => FALSE,
),
'OXSHOPID' => array (
'content' => $oShop->getId(),
'force_update' => TRUE,
'use_quote' => TRUE,
),
'OXMODID' => array (
'content' => $this->sModKey,
'force_update' => TRUE,
'use_quote' => TRUE,
),
'OXNAME' => array (
'content' => $this->sModName,
'force_update' => TRUE,
'use_quote' => TRUE,
),
'OXACTIVE' => array (
'content' => "0",
'force_update' => FALSE,
'use_quote' => FALSE,
),
'OXBASECONFIG' => array (
'content' => $this->sBaseConf,
'force_update' => TRUE,
'use_quote' => TRUE,
),
'OXSERIAL' => array (
'content' => "",
'force_update' => FALSE,
'use_quote' => TRUE,
),
'OXINSTALLDATE' => array (
'content' => "NOW()",
'force_update' => TRUE,
'use_quote' => FALSE,
),
'OXVERSION' => array (
'content' => $this->sModVersion,
'force_update' => TRUE,
'use_quote' => TRUE,
),
'OXSHOPVERSION' => array (
'content' => oxRegistry::getConfig()->getEdition(),
'force_update' => TRUE,
'use_quote' => TRUE,
),
'OXREQUIREMENTS' => array (
'content' => $this->sRequirements,
'force_update' => TRUE,
'use_quote' => TRUE,
),
'OXVALUE' => array(
'content' => $this->sBaseValue,
'force_update' => FALSE,
'use_quote' => TRUE,
),
'OXNEWREVISION' => array(
'content' => $this->sModRevision,
'force_update' => TRUE,
'use_quote' => TRUE,
)
);
$aRet = $this->_updateTableItem('d3_cfg_mod', $aInsertFields, $aWhere);
$blRet = $aRet['blRet'];
$this->_setActionLog('SQL', $aRet['sql'], __METHOD__);
$this->_setUpdateBreak(FALSE);
}
}
}
return $blRet;
}
}

View File

@ -13,128 +13,39 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Aggrosoft, Data Development
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent
{
protected $_blIsComponent = true;
protected $_iExpTime = 600; // (in seconds)
protected $_sUserIpHash = null;
protected $_remoteAddr = null;
protected $_httpClientIp = null;
protected $_httpXForwardedFor = null;
protected $_httpXForwarded = null;
protected $_httpForwardedFor = null;
protected $_httpForwarded = null;
protected $_httpVia = null;
protected $_httpXComingFrom = null;
protected $_httpComingFrom = null;
protected $_proxyIp = null;
protected $_directIp = null;
public function init()
{
$this->blIsComponent = true;
parent::init();
}
protected $_sD3UsersOnlineModId = 'd3usersonline';
/**
* @return string
*/
public function render()
{
$ret = parent::render();
$sRet = parent::render();
//WE ARE NOT ALLOWED TO STORE THE REAL IP
$this->_sUserIpHash = md5($this->_getTrueIP());
$this->utime = time();
$oUserOnline = oxNew('d3usersonline');
$oUserOnline->clearOldItems($this->_iExpTime);
$iUserExist = $oUserOnline->getActUserItem($this->_sUserIpHash);
if ($iUserExist > 0) {
$oUserOnline->setActTimeVisit($this->_sUserIpHash);
} else {
$oUserOnline->insertActUser($this->_sUserIpHash);
}
$this->getParent()->addTplParam('aUsersOnline', $oUserOnline->getUserCount());
return $ret;
}
private function _getIpData($sTargetVarName, $sDataName)
{
if (empty($this->{$sTargetVarName}))
if (d3_cfg_mod::get($this->_sD3UsersOnlineModId)->isActive())
{
if (!empty($_SERVER) && isset($_SERVER[$sDataName]))
$this->{$sTargetVarName} = $_SERVER[$sDataName];
else if (!empty($_ENV) && isset($_ENV[$sDataName]))
$this->{$sTargetVarName} = $_ENV[$sDataName];
else if (@getenv($sDataName))
$this->{$sTargetVarName} = getenv($sDataName);
}
}
/** @var d3usersonline $oUserOnline */
$oUserOnline = oxNew('d3usersonline');
$oUserOnline->clearOldItems($this->_iExpTime);
$oUserOnline->setActTimeVisit();
private function _getTrueIP()
{
$this->_getIpData('_remoteAddr', 'REMOTE_ADDR');
$this->_getIpData('_httpClientIp', 'HTTP_CLIENT_IP');
$this->_getIpData('_httpXForwardedFor', 'HTTP_X_FORWARDED_FOR');
$this->_getIpData('_httpXForwarded', 'HTTP_X_FORWARDED');
$this->_getIpData('_httpForwardedFor', 'HTTP_FORWARDED_FOR');
$this->_getIpData('_httpForwarded', 'HTTP_FORWARDED');
$this->_getIpData('_httpVia', 'HTTP_VIA');
$this->_getIpData('_httpXComingFrom', 'HTTP_X_COMING_FROM');
$this->_getIpData('_httpComingFrom', 'HTTP_COMING_FROM');
// Gets the default ip sent by the user
if (!empty($this->_remoteAddr))
$this->_directIp = $this->_remoteAddr;
// Gets the proxy ip sent by the user
if (!empty($this->_httpXForwardedFor))
$this->_proxyIp = $this->_httpXForwardedFor;
else if (!empty($this->_httpXForwarded))
$this->_proxyIp = $this->_httpXForwarded;
else if (!empty($this->_httpForwardedFor))
$this->_proxyIp = $this->_httpForwardedFor;
else if (!empty($this->_httpForwarded))
$this->_proxyIp = $this->_httpForwarded;
else if (!empty($this->_httpVia))
$this->_proxyIp = $this->_httpVia;
else if (!empty($this->_httpXComingFrom))
$this->_proxyIp = $this->_httpXComingFrom;
else if (!empty($this->_httpComingFrom))
$this->_proxyIp = $this->_httpComingFrom;
// Returns the true IP if it has been found, else ...
if (empty($this->_proxyIp))
{
// True IP without proxy
return $this->_directIp;
}
else
{
$isIp = ereg('^([0-9]{1,3}.){3,3}[0-9]{1,3}', $this->_proxyIp, $regs);
if ($isIp && (count($regs) > 0))
$oUser = $this->getUser();
if ($oUser && strtolower($oUser->getFieldData('oxrights')) == 'malladmin')
{
// True IP behind a proxy
return $regs[0];
}
else
{
if (empty($this->_httpClientIp))
{
// Can't define IP: there is a proxy but we don't have
// information about the true IP
return "(unbekannt) " . $this->_proxyIp;
}
else
{
// better than nothing
return $this->_httpClientIp;
}
/** @var oxview $oActView */
$oActView = $this->getParent();
$oActView->addTplParam('aUsersOnline', $oUserOnline->getUserCount());
}
}
return $sRet;
}
}

View File

@ -0,0 +1,36 @@
<?php
/**
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
* @link http://www.oxidmodule.com
*/
$sLangName = 'Deutsch';
$iLangNr = 0;
// -------------------------------
// RESOURCE IDENTITFIER = STRING
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERSONLINE_USERSONLINE' => 'Benutzer online',
'D3_USERSONLINE_USER' => 'Benutzer',
'D3_USERSONLINE_USERS' => 'Benutzer',
'D3_USERSONLINE_ALL' => 'gesamt',
);
/*
[{oxmultilang ident='ACTIONS_MAIN_YOUWANTTODELETE'}]
*/

View File

@ -21,10 +21,10 @@ $iLangNr = 0;
// -------------------------------
$aLang = array(
'charset' => 'ISO-8859-15',
'D3_USERSONLINE_USERSONLINE' => 'Benutzer online',
'D3_USERSONLINE_USER' => 'Benutzer',
'D3_USERSONLINE_USERS' => 'Benutzer',
'D3_USERSONLINE_ALL' => 'gesamt',
'D3_USERSONLINE_USERSONLINE' => 'Users online',
'D3_USERSONLINE_USER' => 'user',
'D3_USERSONLINE_USERS' => 'users',
'D3_USERSONLINE_ALL' => 'all',
);

Binary file not shown.

804
setup+doku/d3precheck.php Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,7 +0,0 @@
CREATE TABLE d3usersonline (
`id` int(11) NOT NULL auto_increment,
`visitor` varchar(100) default NULL,
`timevisit` int(11) NOT NULL default '0',
`oxclass` varchar(32) collate latin1_general_ci NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM;

Binary file not shown.