Cette révision appartient à :
Daniel Seifert 2012-06-14 13:25:27 +00:00
Parent b076ae6ebc
révision f1d8566556
13 fichiers modifiés avec 356 ajouts et 25 suppressions

8
.gitattributes externe
Voir le fichier

@ -14,7 +14,15 @@ 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
copy_this/core/d3usersonline.php -text
copy_this/modules/d3usersonline/metadata.php -text
copy_this/modules/d3usersonline/picture.png -text
copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php -text
setup+doku/Installation.pdf -text
setup+doku/install.sql -text

Voir le fichier

@ -17,7 +17,7 @@
[{*** D3 Modul "UsersOnline" START ***}]
[{include file="inc/d3usersonline.tpl"}]
[{*** D3 Modul "UsersOnline" END ***}]
{{*** D3 Modul "UsersOnline" END ***}]
[{block name="sidebar_trustedshopsratings"}]
[{if $oView->getClassName() eq "start"}]

Voir le fichier

@ -0,0 +1,31 @@
<?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' }]
*/

Voir le fichier

@ -0,0 +1,45 @@
[{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}]

Voir le fichier

@ -0,0 +1,74 @@
[{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}]

Voir le fichier

@ -0,0 +1,79 @@
[{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>

Voir le fichier

@ -0,0 +1,43 @@
[{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}]

Voir le fichier

@ -0,0 +1,33 @@
<?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' }]
*/

Voir le fichier

@ -0,0 +1,18 @@
<?php
/**
* 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/',
'extend' => array(
'oxcmp_utils' => 'd3usersonline/views/d3_oxcmp_utils_usersonline'
)
);

Fichier binaire non affiché.

Après

Largeur:  |  Hauteur:  |  Taille: 5.8 KiB

Voir le fichier

@ -50,20 +50,20 @@ class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent
$oUserOnline->clearOldItems($this->_iExpTime);
$iUserExist = $oUserOnline->getActUserItem($this->_sUserIpHash);
if ($iUserExist > 0) {
if ($iUserExist > 0) {
$oUserOnline->setActTimeVisit($this->_sUserIpHash);
} else {
} else {
$oUserOnline->insertActUser($this->_sUserIpHash);
}
}
$this->_oParent->_aViewData['aUsersOnline'] = $oUserOnline->getUserCount();
$this->getParent()->addTplParam('aUsersOnline', $oUserOnline->getUserCount());
return $ret;
}
private function _getIpData($sTargetVarName, $sDataName)
{
if (empty($this->{$sTargetVarName}))
if (empty($this->{$sTargetVarName}))
{
if (!empty($_SERVER) && isset($_SERVER[$sDataName]))
$this->{$sTargetVarName} = $_SERVER[$sDataName];
@ -76,15 +76,15 @@ class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent
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');
$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))
@ -107,29 +107,29 @@ class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent
$this->_proxyIp = $this->_httpComingFrom;
// Returns the true IP if it has been found, else ...
if (empty($this->_proxyIp))
if (empty($this->_proxyIp))
{
// True IP without proxy
return $this->_directIp;
}
else
}
else
{
$is_ip = ereg('^([0-9]{1,3}.){3,3}[0-9]{1,3}', $this->_proxyIp, $regs);
$isIp = ereg('^([0-9]{1,3}.){3,3}[0-9]{1,3}', $this->_proxyIp, $regs);
if ($is_ip && (count($regs) > 0))
if ($isIp && (count($regs) > 0))
{
// True IP behind a proxy
return $regs[0];
}
else
}
else
{
if (empty($this->_httpClientIp))
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
}
else
{
// better than nothing
return $this->_httpClientIp;

Fichier binaire non affiché.

Fichier binaire non affiché.