From 36143b9aa5d76537050b568e38c8fb69cd5863f7 Mon Sep 17 00:00:00 2001 From: DanielSeifert Date: Thu, 20 Oct 2011 20:03:48 +0000 Subject: [PATCH] add class specific user count --- .gitattributes | 5 +++ .../out/basic/de/d3_usersonline_lang.php | 34 +++++++++++++++ .../out/basic/tpl/inc/d3usersonline.tpl | 41 ++++++++++++++++--- .../out/azure/de/d3_usersonline_lang.php | 34 +++++++++++++++ .../XE450/out/azure/tpl/inc/d3usersonline.tpl | 35 +++++++++++++++- .../out/basic/de/d3_usersonline_lang.php | 34 +++++++++++++++ .../XE450/out/basic/tpl/inc/d3usersonline.tpl | 41 ++++++++++++++++--- .../out/azure/de/d3_usersonline_lang.php | 34 +++++++++++++++ .../out/azure/tpl/inc/d3usersonline.tpl | 35 +++++++++++++++- .../out/basic/de/d3_usersonline_lang.php | 34 +++++++++++++++ .../out/basic/tpl/inc/d3usersonline.tpl | 41 ++++++++++++++++--- copy_this/core/d3usersonline.php | 25 +++++++++-- .../views/d3_oxcmp_utils_usersonline.php | 2 +- 13 files changed, 369 insertions(+), 26 deletions(-) create mode 100644 changed_full/XE420-XE448/out/basic/de/d3_usersonline_lang.php create mode 100644 changed_full/XE450/out/azure/de/d3_usersonline_lang.php create mode 100644 changed_full/XE450/out/basic/de/d3_usersonline_lang.php create mode 100644 changed_full/XE451-XE453/out/azure/de/d3_usersonline_lang.php create mode 100644 changed_full/XE451-XE453/out/basic/de/d3_usersonline_lang.php diff --git a/.gitattributes b/.gitattributes index 8a11965..9d07fe4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,12 +1,17 @@ * text=auto !eol +changed_full/XE420-XE448/out/basic/de/d3_usersonline_lang.php -text changed_full/XE420-XE448/out/basic/tpl/_left.tpl -text changed_full/XE420-XE448/out/basic/tpl/inc/d3usersonline.tpl -text +changed_full/XE450/out/azure/de/d3_usersonline_lang.php -text changed_full/XE450/out/azure/tpl/inc/d3usersonline.tpl -text changed_full/XE450/out/azure/tpl/layout/sidebar.tpl -text +changed_full/XE450/out/basic/de/d3_usersonline_lang.php -text changed_full/XE450/out/basic/tpl/_left.tpl -text changed_full/XE450/out/basic/tpl/inc/d3usersonline.tpl -text +changed_full/XE451-XE453/out/azure/de/d3_usersonline_lang.php -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/de/d3_usersonline_lang.php -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 diff --git a/changed_full/XE420-XE448/out/basic/de/d3_usersonline_lang.php b/changed_full/XE420-XE448/out/basic/de/d3_usersonline_lang.php new file mode 100644 index 0000000..34d61c2 --- /dev/null +++ b/changed_full/XE420-XE448/out/basic/de/d3_usersonline_lang.php @@ -0,0 +1,34 @@ + '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' }] +*/ \ No newline at end of file diff --git a/changed_full/XE420-XE448/out/basic/tpl/inc/d3usersonline.tpl b/changed_full/XE420-XE448/out/basic/tpl/inc/d3usersonline.tpl index 6d148a8..11b02e2 100644 --- a/changed_full/XE420-XE448/out/basic/tpl/inc/d3usersonline.tpl +++ b/changed_full/XE420-XE448/out/basic/tpl/inc/d3usersonline.tpl @@ -1,8 +1,37 @@ [{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}] - Online - [{strip}] -
- [{$usersonline }] User(s) -
- [{/strip}] + [{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}] +
+ + + + + + + [{foreach from=$aUsersOnline.classes item="aClassUser"}] + + + + + + [{/foreach}] +
+ [{oxmultilang ident="D3_USERSONLINE_ALL"}] + + [{$aUsersOnline.all }] + + [{if $aUsersOnline.all == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
[{$aClassUser->classname|ucfirst}]: + [{$aClassUser->counter}] + + [{if $aClassUser->counter == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
+
[{/if}] \ No newline at end of file diff --git a/changed_full/XE450/out/azure/de/d3_usersonline_lang.php b/changed_full/XE450/out/azure/de/d3_usersonline_lang.php new file mode 100644 index 0000000..34d61c2 --- /dev/null +++ b/changed_full/XE450/out/azure/de/d3_usersonline_lang.php @@ -0,0 +1,34 @@ + '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' }] +*/ \ No newline at end of file diff --git a/changed_full/XE450/out/azure/tpl/inc/d3usersonline.tpl b/changed_full/XE450/out/azure/tpl/inc/d3usersonline.tpl index fa91d3b..6d3e7af 100644 --- a/changed_full/XE450/out/azure/tpl/inc/d3usersonline.tpl +++ b/changed_full/XE450/out/azure/tpl/inc/d3usersonline.tpl @@ -1,8 +1,39 @@ [{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
-

Online

+

[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]

- [{$usersonline }] User(s) + + + + + + + [{foreach from=$aUsersOnline.classes item="aClassUser"}] + + + + + + [{/foreach}] +
+ [{oxmultilang ident="D3_USERSONLINE_ALL"}] + + [{$aUsersOnline.all }] + + [{if $aUsersOnline.all == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
[{$aClassUser->classname|ucfirst}]: + [{$aClassUser->counter}] + + [{if $aClassUser->counter == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
[{/if}] \ No newline at end of file diff --git a/changed_full/XE450/out/basic/de/d3_usersonline_lang.php b/changed_full/XE450/out/basic/de/d3_usersonline_lang.php new file mode 100644 index 0000000..34d61c2 --- /dev/null +++ b/changed_full/XE450/out/basic/de/d3_usersonline_lang.php @@ -0,0 +1,34 @@ + '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' }] +*/ \ No newline at end of file diff --git a/changed_full/XE450/out/basic/tpl/inc/d3usersonline.tpl b/changed_full/XE450/out/basic/tpl/inc/d3usersonline.tpl index 6d148a8..11b02e2 100644 --- a/changed_full/XE450/out/basic/tpl/inc/d3usersonline.tpl +++ b/changed_full/XE450/out/basic/tpl/inc/d3usersonline.tpl @@ -1,8 +1,37 @@ [{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}] - Online - [{strip}] -
- [{$usersonline }] User(s) -
- [{/strip}] + [{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}] +
+ + + + + + + [{foreach from=$aUsersOnline.classes item="aClassUser"}] + + + + + + [{/foreach}] +
+ [{oxmultilang ident="D3_USERSONLINE_ALL"}] + + [{$aUsersOnline.all }] + + [{if $aUsersOnline.all == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
[{$aClassUser->classname|ucfirst}]: + [{$aClassUser->counter}] + + [{if $aClassUser->counter == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
+
[{/if}] \ No newline at end of file diff --git a/changed_full/XE451-XE453/out/azure/de/d3_usersonline_lang.php b/changed_full/XE451-XE453/out/azure/de/d3_usersonline_lang.php new file mode 100644 index 0000000..34d61c2 --- /dev/null +++ b/changed_full/XE451-XE453/out/azure/de/d3_usersonline_lang.php @@ -0,0 +1,34 @@ + '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' }] +*/ \ No newline at end of file diff --git a/changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl b/changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl index fa91d3b..6d3e7af 100644 --- a/changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl +++ b/changed_full/XE451-XE453/out/azure/tpl/inc/d3usersonline.tpl @@ -1,8 +1,39 @@ [{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}]
-

Online

+

[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]

- [{$usersonline }] User(s) + + + + + + + [{foreach from=$aUsersOnline.classes item="aClassUser"}] + + + + + + [{/foreach}] +
+ [{oxmultilang ident="D3_USERSONLINE_ALL"}] + + [{$aUsersOnline.all }] + + [{if $aUsersOnline.all == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
[{$aClassUser->classname|ucfirst}]: + [{$aClassUser->counter}] + + [{if $aClassUser->counter == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
[{/if}] \ No newline at end of file diff --git a/changed_full/XE451-XE453/out/basic/de/d3_usersonline_lang.php b/changed_full/XE451-XE453/out/basic/de/d3_usersonline_lang.php new file mode 100644 index 0000000..34d61c2 --- /dev/null +++ b/changed_full/XE451-XE453/out/basic/de/d3_usersonline_lang.php @@ -0,0 +1,34 @@ + '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' }] +*/ \ No newline at end of file diff --git a/changed_full/XE451-XE453/out/basic/tpl/inc/d3usersonline.tpl b/changed_full/XE451-XE453/out/basic/tpl/inc/d3usersonline.tpl index 6d148a8..11b02e2 100644 --- a/changed_full/XE451-XE453/out/basic/tpl/inc/d3usersonline.tpl +++ b/changed_full/XE451-XE453/out/basic/tpl/inc/d3usersonline.tpl @@ -1,8 +1,37 @@ [{if $oxcmp_user && $oxcmp_user->oxuser__oxrights->value == 'malladmin'}] - Online - [{strip}] -
- [{$usersonline }] User(s) -
- [{/strip}] + [{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}] +
+ + + + + + + [{foreach from=$aUsersOnline.classes item="aClassUser"}] + + + + + + [{/foreach}] +
+ [{oxmultilang ident="D3_USERSONLINE_ALL"}] + + [{$aUsersOnline.all }] + + [{if $aUsersOnline.all == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
[{$aClassUser->classname|ucfirst}]: + [{$aClassUser->counter}] + + [{if $aClassUser->counter == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
+
[{/if}] \ No newline at end of file diff --git a/copy_this/core/d3usersonline.php b/copy_this/core/d3usersonline.php index 0f8d6cc..5871b35 100644 --- a/copy_this/core/d3usersonline.php +++ b/copy_this/core/d3usersonline.php @@ -52,9 +52,28 @@ class d3usersonline extends oxI18n public function getUserCount() { - $sSelect = "select count(*) from ".$this->getViewName()." order by timevisit desc"; - $iCount = oxDb::getDb()->getOne($sSelect); - return $iCount; + $sSelect = "select count(*) counter, oxclass from ".$this->getViewName()." GROUP BY oxclass ORDER BY counter desc"; + + $rs = oxDb::getDb(1)->Execute($sSelect); + + $iAllCounter = 0; + $aUserClasses = array(); + if ($rs != false && $rs->RecordCount() > 0) + { + while (!$rs->EOF) + { + $oTmp = new stdClass; + $oTmp->classname = $rs->fields['oxclass']; + $oTmp->counter = $rs->fields['counter']; + $iAllCounter += $rs->fields['counter']; + $aUserClasses['classes'][] = $oTmp; + $rs->moveNext(); + } + } + + $aUserClasses['all'] = $iAllCounter; + + return $aUserClasses; } public function setActTimeVisit($sUserIpHash) diff --git a/copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php b/copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php index 906be59..8f9edc8 100644 --- a/copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php +++ b/copy_this/modules/d3usersonline/views/d3_oxcmp_utils_usersonline.php @@ -56,7 +56,7 @@ class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent $oUserOnline->insertActUser($this->_sUserIpHash); } - $this->_oParent->_aViewData['usersonline'] = $oUserOnline->getUserCount(); + $this->_oParent->_aViewData['aUsersOnline'] = $oUserOnline->getUserCount(); return $ret; }