diff --git a/.gitattributes b/.gitattributes index f7a43db..daab3b0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,10 @@ * text=auto !eol -copy_this/core/d3ce_online_users.php -text -copy_this/modules/d3ce_usersonline/views/d3ce_oxcmp_utils_usersonline.php -text -copy_this/out/basic/tpl/inc/d3ce_usersonline.tpl -text +changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl -text +changed_full/XE451-XE453/out/azure/tpl/layout/sidebar.tpl -text +changed_full/XE451-XE453/out/basic/tpl/_left.tpl -text +changed_full/XE451-XE453/out/basic/tpl/inc/d3usersonline.tpl -text +copy_this/core/d3usersonline.php -text +copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php -text setup+doku/readme_de.txt -text setup+doku/readme_en.txt -text +source/UsersOnline-Installation.docx -text diff --git a/changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl b/changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl new file mode 100644 index 0000000..f464b62 --- /dev/null +++ b/changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl @@ -0,0 +1,6 @@ +
+

Online

+
+ [{$usersonline }] User(s) +
+
\ No newline at end of file diff --git a/changed_full/XE451-XE453/out/azure/tpl/layout/sidebar.tpl b/changed_full/XE451-XE453/out/azure/tpl/layout/sidebar.tpl new file mode 100644 index 0000000..10fbce7 --- /dev/null +++ b/changed_full/XE451-XE453/out/azure/tpl/layout/sidebar.tpl @@ -0,0 +1,76 @@ +[{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 ***}] + [{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}] + [{include file="inc/d3usersonline.tpl"}] + [{/if}] + [{*** 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}] + diff --git a/changed_full/XE451-XE453/out/basic/tpl/_left.tpl b/changed_full/XE451-XE453/out/basic/tpl/_left.tpl new file mode 100644 index 0000000..988e71b --- /dev/null +++ b/changed_full/XE451-XE453/out/basic/tpl/_left.tpl @@ -0,0 +1,81 @@ +[{if $oView->showSearch() }] + [{ oxmultilang ident="INC_LEFTITEM_PRODUCTSEARCH" }] + +[{/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 ***}] + [{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}] + [{include file="inc/d3usersonline.tpl"}] + [{/if}] +[{*** 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}] + +[{ oxmultilang ident="INC_LEFTITEM_PARTNERANDSEAL" }] +
+ + +
+ + diff --git a/copy_this/out/basic/tpl/inc/d3ce_usersonline.tpl b/changed_full/XE451-XE453/out/basic/tpl/inc/d3usersonline.tpl similarity index 100% rename from copy_this/out/basic/tpl/inc/d3ce_usersonline.tpl rename to changed_full/XE451-XE453/out/basic/tpl/inc/d3usersonline.tpl diff --git a/copy_this/core/d3ce_online_users.php b/copy_this/core/d3usersonline.php similarity index 58% rename from copy_this/core/d3ce_online_users.php rename to copy_this/core/d3usersonline.php index 6557cae..0f8d6cc 100644 --- a/copy_this/core/d3ce_online_users.php +++ b/copy_this/core/d3usersonline.php @@ -16,55 +16,55 @@ * @author Aggrosoft, D³ Data Development */ -class d3ce_online_users extends oxI18n +class d3usersonline extends oxI18n { /** * Object core table name * * @var string */ - protected $_sCoreTbl = 'd3ce_online_users'; + protected $_sCoreTbl = 'd3usersonline'; /** * Current class name * * @var string */ - protected $_sClassName = 'd3ce_online_users'; + protected $_sClassName = 'd3usersonline'; public function __construct($aParams = null) { parent::__construct(); - $this->init( 'd3ce_online_users' ); + $this->init( 'd3usersonline' ); } public function clearOldItems($iExpTime) { $exptime = time() - $iExpTime; - oxDb::getDb()->Execute("delete from ".$this->_sCoreTbl." where timevisit < $exptime"); + oxDb::getDb()->Execute("delete from ".$this->getViewName()." where timevisit < $exptime"); } public function getActUserItem($sUserIPHash) { - $sSelect = "select count(*) from $this->_sCoreTbl where visitor='".$sUserIPHash."'"; + $sSelect = "select count(*) from ".$this->getViewName()." where visitor= ".oxDb::getDb()->quote($sUserIPHash); return oxDb::getDb()->getOne( $sSelect ); } public function getUserCount() { - $sSelect = "select count(*) from ".$this->_sCoreTbl." order by timevisit desc"; + $sSelect = "select count(*) from ".$this->getViewName()." order by timevisit desc"; $iCount = oxDb::getDb()->getOne($sSelect); return $iCount; } public function setActTimeVisit($sUserIpHash) { - oxDb::getDb()->Execute("update ".$this->_sCoreTbl." set timevisit='".time()."', oxclass = '".$this->getConfig()->getActiveView()->getClassName()."' where visitor='".$sUserIpHash."'"); + 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)); } public function insertActUser($sUserIpHash) { - oxDb::getDb()->Execute("insert into ".$this->_sCoreTbl." (visitor,timevisit,oxclass) values ('".$sUserIpHash."','".time()."', '".$this->getConfig()->getActiveView()->getClassName()."')"); + 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()).")"); } } diff --git a/copy_this/modules/d3ce_usersonline/views/d3ce_oxcmp_utils_usersonline.php b/copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php similarity index 97% rename from copy_this/modules/d3ce_usersonline/views/d3ce_oxcmp_utils_usersonline.php rename to copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php index 9464377..906be59 100644 --- a/copy_this/modules/d3ce_usersonline/views/d3ce_oxcmp_utils_usersonline.php +++ b/copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php @@ -16,7 +16,7 @@ * @author Aggrosoft, D³ Data Development */ -class d3ce_oxcmp_utils_usersonline extends d3ce_oxcmp_utils_usersonline_parent +class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent { protected $_iExpTime = 600; // (in seconds) protected $_sUserIpHash = null; @@ -46,7 +46,7 @@ class d3ce_oxcmp_utils_usersonline extends d3ce_oxcmp_utils_usersonline_parent $this->_sUserIpHash = md5($this->_getTrueIP()); $this->utime = time(); - $oUserOnline = &oxNew('d3ce_online_users'); + $oUserOnline = oxNew('d3usersonline'); $oUserOnline->clearOldItems($this->_iExpTime); $iUserExist = $oUserOnline->getActUserItem($this->_sUserIpHash); @@ -136,9 +136,5 @@ class d3ce_oxcmp_utils_usersonline extends d3ce_oxcmp_utils_usersonline_parent } } } - } - - - } \ No newline at end of file diff --git a/setup+doku/readme_de.txt b/setup+doku/readme_de.txt index ba4ec4e..18d69c2 100644 --- a/setup+doku/readme_de.txt +++ b/setup+doku/readme_de.txt @@ -21,17 +21,17 @@ Kopieren Sie die Inhalte des "copy_this"-Ordner in Ihr Shop-Verzeichnis, Führen Sie folgendes Script in Ihrer Datenbank aus: -CREATE TABLE d3ce_online_users ( - `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) +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) ) TYPE=MyISAM; Fügen Sie nun das Modul zu Ihrem Shop hinzu: -oxcmp_utils => d3ce_usersonline/views/d3ce_oxcmp_utils_usersonline +oxcmp_utils => d3usersonline/views/d3_oxcmp_utils_usersonline Sie können den counter nun in eines Ihrer Templates einbauen (evtl. _left.tpl) Hierfür benötigen Sie lediglich folgende Zeile: diff --git a/source/UsersOnline-Installation.docx b/source/UsersOnline-Installation.docx new file mode 100644 index 0000000..9a7d320 Binary files /dev/null and b/source/UsersOnline-Installation.docx differ