From 98f7efbf59b7bff9bdd40ae7b8f47ff3f31dbf8e Mon Sep 17 00:00:00 2001 From: DanielSeifert Date: Fri, 23 Jan 2015 09:22:46 +0000 Subject: [PATCH] add statistics to admin panel --- .gitattributes | 15 +- .../d3/d3usersonline/IntelliSenseHelper.php | 17 ++ .../controllers/admin/d3_cfg_usersonline.php | 28 +++ .../admin/d3_cfg_usersonline_licence.php | 25 +++ .../admin/d3_cfg_usersonline_list.php | 31 ++++ .../admin/d3_cfg_usersonline_main.php | 29 ++++ .../controllers/admin/d3_usersonline.php | 28 +++ .../controllers/admin/d3_usersonline_list.php | 33 ++++ .../admin/d3_usersonline_statistic.php | 29 ++++ copy_this/modules/d3/d3usersonline/menu.xml | 14 ++ .../modules/d3/d3usersonline/metadata.php | 23 ++- .../d3/d3usersonline/models/d3usersonline.php | 64 +++---- .../components/d3_oxcmp_utils_usersonline.php | 8 +- .../d3usersonline_update.php | 105 ++++++------ .../views/admin/de/d3usersonline_lang.php | 38 +++++ .../views/admin/en/d3usersonline_lang.php | 38 +++++ .../admin/tpl/d3_cfg_usersonline_main.tpl | 154 +++++++++++++++++ .../admin/tpl/d3_usersonline_statistic.tpl | 161 ++++++++++++++++++ .../blocks/layout/d3usersonline_sidebar.tpl | 5 +- 19 files changed, 741 insertions(+), 104 deletions(-) create mode 100644 copy_this/modules/d3/d3usersonline/IntelliSenseHelper.php create mode 100644 copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline.php create mode 100644 copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_licence.php create mode 100644 copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_list.php create mode 100644 copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_main.php create mode 100644 copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline.php create mode 100644 copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_list.php create mode 100644 copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_statistic.php create mode 100644 copy_this/modules/d3/d3usersonline/menu.xml rename copy_this/modules/d3/d3usersonline/{models => setup}/d3usersonline_update.php (78%) create mode 100644 copy_this/modules/d3/d3usersonline/views/admin/de/d3usersonline_lang.php create mode 100644 copy_this/modules/d3/d3usersonline/views/admin/en/d3usersonline_lang.php create mode 100644 copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_cfg_usersonline_main.tpl create mode 100644 copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_usersonline_statistic.tpl diff --git a/.gitattributes b/.gitattributes index 72c81d7..390aa93 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,12 +1,25 @@ * text=auto !eol copy_this/.noencode -text +copy_this/modules/d3/d3usersonline/IntelliSenseHelper.php -text +copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline.php -text +copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_licence.php -text +copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_list.php -text +copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_main.php -text +copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline.php -text +copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_list.php -text +copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_statistic.php -text +copy_this/modules/d3/d3usersonline/menu.xml -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/setup/d3usersonline_update.php -text copy_this/modules/d3/d3usersonline/translations/de/d3usersonline_lang.php -text copy_this/modules/d3/d3usersonline/translations/en/d3usersonline_lang.php -text +copy_this/modules/d3/d3usersonline/views/admin/de/d3usersonline_lang.php -text +copy_this/modules/d3/d3usersonline/views/admin/en/d3usersonline_lang.php -text +copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_cfg_usersonline_main.tpl -text +copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_usersonline_statistic.tpl -text copy_this/modules/d3/d3usersonline/views/blocks/layout/d3usersonline_sidebar.tpl -text setup+doku/Installation.pdf -text setup+doku/changelog.txt -text diff --git a/copy_this/modules/d3/d3usersonline/IntelliSenseHelper.php b/copy_this/modules/d3/d3usersonline/IntelliSenseHelper.php new file mode 100644 index 0000000..f7c39dc --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/IntelliSenseHelper.php @@ -0,0 +1,17 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_oxcmp_utils_usersonline_parent extends oxcmp_utils {} diff --git a/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline.php b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline.php new file mode 100644 index 0000000..5fe4225 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline.php @@ -0,0 +1,28 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_cfg_usersonline extends d3_cfg_mod_ +{ + /** + * @return string + */ + public function render() + { + $this->addTplParam('sListClass', 'd3_cfg_usersonline_list'); + $this->addTplParam('sMainClass', 'd3_cfg_usersonline_main'); + + return parent::render(); + } +} diff --git a/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_licence.php b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_licence.php new file mode 100644 index 0000000..aded1eb --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_licence.php @@ -0,0 +1,25 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_cfg_usersonline_licence extends d3_cfg_mod_licence +{ + protected $_sModId = 'd3usersonline'; + + protected $_hasNewsletterForm = false; + + protected $_sLogType = 2; + + //protected $_sBlogFeed = "http://blog.oxidmodule.com/feeds/categories/46-Angebotsanfrage.rss"; +} diff --git a/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_list.php b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_list.php new file mode 100644 index 0000000..e08cd34 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_list.php @@ -0,0 +1,31 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_cfg_usersonline_list extends d3_cfg_mod_list +{ + protected $_blD3ShowLangSwitch = false; + + /** + * @return null + */ + public function render() + { + $sRet = parent::render(); + + $this->addTplParam("default_edit", "d3_cfg_usersonline_main"); + + return $sRet; + } +} diff --git a/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_main.php b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_main.php new file mode 100644 index 0000000..3f64ebf --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_cfg_usersonline_main.php @@ -0,0 +1,29 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_cfg_usersonline_Main extends d3_cfg_mod_main +{ + protected $_sThisTemplate = 'd3_cfg_usersonline_main.tpl'; + + protected $_sModId = 'd3usersonline'; + + protected $_blUseModCfgStdObject = true; + + protected $_blHasDebugSwitch = false; + + protected $_blHasTestModeSwitch = false; + + //protected $_sDebugHelpTextIdent = 'D3_INQUIRY_MAIN_DEBUGACTIVE_DESC'; +} diff --git a/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline.php b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline.php new file mode 100644 index 0000000..10701ff --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline.php @@ -0,0 +1,28 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_usersonline extends d3_cfg_mod_ +{ + /** + * @return string + */ + public function render() + { + $this->addTplParam('sListClass', 'd3_usersonline_list'); + $this->addTplParam('sMainClass', 'd3_usersonline_statistic'); + + return parent::render(); + } +} diff --git a/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_list.php b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_list.php new file mode 100644 index 0000000..165e441 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_list.php @@ -0,0 +1,33 @@ + + * @link http://www.oxidmodule.com + */ + +class d3_usersonline_list extends d3_cfg_mod_list +{ + protected $_blD3ShowLangSwitch = false; + + /** + * @return null + */ + public function render() + { + $this->_blD3ShowLangSwitch = false; + + $sRet = parent::render(); + + $this->addTplParam("default_edit", "d3_usersonline_statistic"); + + return $sRet; + } +} diff --git a/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_statistic.php b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_statistic.php new file mode 100644 index 0000000..b8b56b6 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/controllers/admin/d3_usersonline_statistic.php @@ -0,0 +1,29 @@ + + * @link http://www.oxidmodule.com + */ +class d3_usersonline_statistic extends d3_cfg_mod_main +{ + protected $_blUseOwnOxid = false; + + protected $_sThisTemplate = 'd3_usersonline_statistic.tpl'; + + /** + * @return array + */ + public function getUserCount() + { + /** @var d3usersonline $oUsersOnline */ + $oUsersOnline = oxNew('d3usersonline'); + return $oUsersOnline->getUserCount(); + } +} diff --git a/copy_this/modules/d3/d3usersonline/menu.xml b/copy_this/modules/d3/d3usersonline/menu.xml new file mode 100644 index 0000000..7cd71a2 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/menu.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/copy_this/modules/d3/d3usersonline/metadata.php b/copy_this/modules/d3/d3usersonline/metadata.php index 3dbd84e..1d6a02a 100644 --- a/copy_this/modules/d3/d3usersonline/metadata.php +++ b/copy_this/modules/d3/d3usersonline/metadata.php @@ -30,7 +30,9 @@ $aModule = array( 'title' => (class_exists('d3utils') ? d3utils::getInstance()->getD3Logo() : 'D³') . ' 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.', + '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', @@ -43,16 +45,27 @@ $aModule = array( ), 'files' => array( 'd3usersonline' => 'd3/d3usersonline/models/d3usersonline.php', - 'd3usersonline_update' => 'd3/d3usersonline/models/d3usersonline_update.php', + 'd3usersonline_update' => 'd3/d3usersonline/setup/d3usersonline_update.php', + 'd3_cfg_usersonline' => 'd3/d3usersonline/controllers/admin/d3_cfg_usersonline.php', + 'd3_cfg_usersonline_licence' => 'd3/d3usersonline/controllers/admin/d3_cfg_usersonline_licence.php', + 'd3_cfg_usersonline_list' => 'd3/d3usersonline/controllers/admin/d3_cfg_usersonline_list.php', + 'd3_cfg_usersonline_main' => 'd3/d3usersonline/controllers/admin/d3_cfg_usersonline_main.php', + 'd3_usersonline' => 'd3/d3usersonline/controllers/admin/d3_usersonline.php', + 'd3_usersonline_list' => 'd3/d3usersonline/controllers/admin/d3_usersonline_list.php', + 'd3_usersonline_statistic' => 'd3/d3usersonline/controllers/admin/d3_usersonline_statistic.php', ), 'templates' => array( - //'d3_cfg_extsearch_main.tpl' => 'd3/d3_extsearch/views/admin/tpl/d3_cfg_extsearch_main.tpl', + 'd3_cfg_usersonline_main.tpl' => 'd3/d3usersonline/views/admin/tpl/d3_cfg_usersonline_main.tpl', + 'd3_usersonline_statistic.tpl' => 'd3/d3usersonline/views/admin/tpl/d3_usersonline_statistic.tpl', ), 'events' => array( 'onActivate' => 'd3install::checkUpdateStart', ), 'blocks' => array( - array('template' => 'layout/sidebar.tpl', 'block' => 'sidebar_categoriestree', - 'file' => 'views/blocks/layout/d3usersonline_sidebar.tpl'), + array( + 'template' => 'layout/sidebar.tpl', + 'block' => 'sidebar_categoriestree', + 'file' => 'views/blocks/layout/d3usersonline_sidebar.tpl' + ), ) ); \ No newline at end of file diff --git a/copy_this/modules/d3/d3usersonline/models/d3usersonline.php b/copy_this/modules/d3/d3usersonline/models/d3usersonline.php index 1ff2838..e4b8e8f 100644 --- a/copy_this/modules/d3/d3usersonline/models/d3usersonline.php +++ b/copy_this/modules/d3/d3usersonline/models/d3usersonline.php @@ -38,7 +38,7 @@ class d3usersonline extends oxbase public function __construct() { parent::__construct(); - $this->init( 'd3usersonline' ); + $this->init('d3usersonline'); } /** @@ -48,8 +48,8 @@ class d3usersonline extends oxbase { startProfile(__METHOD__); - $exptime = time() - $iExpTime; - oxDb::getDb()->Execute("delete from ".$this->getViewName()." where timevisit < $exptime"); + $iExptime = time() - $iExpTime; + oxDb::getDb()->Execute("delete from ".$this->getViewName()." where timevisit < $iExptime"); stopProfile(__METHOD__); } @@ -61,15 +61,14 @@ class d3usersonline extends oxbase { startProfile(__METHOD__); - $sSelect = "select count(oxid) AS counter, oxclass from ".$this->getViewName()." GROUP BY oxclass ORDER BY counter desc"; + $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 ($aRecords && is_array($aRecords) && count($aRecords)) - { - foreach ($aRecords as $aRecord) - { + if ($aRecords && is_array($aRecords) && count($aRecords)) { + foreach ($aRecords as $aRecord) { $aRecord = array_change_key_case($aRecord, CASE_UPPER); $oTmp = new stdClass; @@ -130,50 +129,43 @@ class d3usersonline extends oxbase $this->_getIpData('_httpComingFrom', 'HTTP_COMING_FROM'); // Gets the default ip sent by the user - if (!empty($this->_remoteAddr)) + if (!empty($this->_remoteAddr)) { $sDirectIp = $this->_remoteAddr; + } // Gets the proxy ip sent by the user - if (!empty($this->_httpXForwardedFor)) + if (!empty($this->_httpXForwardedFor)) { $sProxyIp = $this->_httpXForwardedFor; - else if (!empty($this->_httpXForwarded)) + } elseif (!empty($this->_httpXForwarded)) { $sProxyIp = $this->_httpXForwarded; - else if (!empty($this->_httpForwardedFor)) + } elseif (!empty($this->_httpForwardedFor)) { $sProxyIp = $this->_httpForwardedFor; - else if (!empty($this->_httpForwarded)) + } elseif (!empty($this->_httpForwarded)) { $sProxyIp = $this->_httpForwarded; - else if (!empty($this->_httpVia)) + } elseif (!empty($this->_httpVia)) { $sProxyIp = $this->_httpVia; - else if (!empty($this->_httpXComingFrom)) + } elseif (!empty($this->_httpXComingFrom)) { $sProxyIp = $this->_httpXComingFrom; - else if (!empty($this->_httpComingFrom)) + } elseif (!empty($this->_httpComingFrom)) { $sProxyIp = $this->_httpComingFrom; + } // Returns the true IP if it has been found, else ... - if (empty($sProxyIp)) - { + if (empty($sProxyIp)) { // True IP without proxy return $sDirectIp; - } - else - { + } else { $blIsIp = preg_match('@^([0-9]{1,3}.){3,3}[0-9]{1,3}@', $sProxyIp, $aMatches); - if ($blIsIp && (count($aMatches) > 0)) - { + if ($blIsIp && (count($aMatches) > 0)) { // True IP behind a proxy return $aMatches[0]; - } - else - { - if (empty($this->_httpClientIp)) - { + } 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 - { + } else { // better than nothing return $this->_httpClientIp; } @@ -187,14 +179,14 @@ class d3usersonline extends oxbase */ protected function _getIpData($sTargetVarName, $sDataName) { - if (empty($this->{$sTargetVarName})) - { - if (!empty($_SERVER) && isset($_SERVER[$sDataName])) + if (empty($this->{$sTargetVarName})) { + if (!empty($_SERVER) && isset($_SERVER[$sDataName])) { $this->{$sTargetVarName} = $_SERVER[$sDataName]; - else if (!empty($_ENV) && isset($_ENV[$sDataName])) + } elseif (!empty($_ENV) && isset($_ENV[$sDataName])) { $this->{$sTargetVarName} = $_ENV[$sDataName]; - else if (@getenv($sDataName)) + } elseif (@getenv($sDataName)) { $this->{$sTargetVarName} = getenv($sDataName); + } } } } diff --git a/copy_this/modules/d3/d3usersonline/modules/components/d3_oxcmp_utils_usersonline.php b/copy_this/modules/d3/d3usersonline/modules/components/d3_oxcmp_utils_usersonline.php index 4d7fd25..e706c4a 100644 --- a/copy_this/modules/d3/d3usersonline/modules/components/d3_oxcmp_utils_usersonline.php +++ b/copy_this/modules/d3/d3usersonline/modules/components/d3_oxcmp_utils_usersonline.php @@ -30,16 +30,14 @@ class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent { $sRet = parent::render(); - if (d3_cfg_mod::get($this->_sD3UsersOnlineModId)->isActive()) - { + if (d3_cfg_mod::get($this->_sD3UsersOnlineModId)->isActive()) { /** @var d3usersonline $oUsersOnline */ $oUsersOnline = oxNew('d3usersonline'); $oUsersOnline->clearOldItems($this->_iExpTime); $oUsersOnline->setActTimeVisit(); $oUser = $this->getUser(); - if ($oUser && strtolower($oUser->getFieldData('oxrights')) == 'malladmin') - { + if ($oUser && strtolower($oUser->getFieldData('oxrights')) == 'malladmin') { /** @var oxview $oActView */ $oActView = $this->getParent(); $oActView->addTplParam('aUsersOnline', $oUsersOnline->getUserCount()); @@ -48,4 +46,4 @@ class d3_oxcmp_utils_usersonline extends d3_oxcmp_utils_usersonline_parent return $sRet; } -} \ No newline at end of file +} diff --git a/copy_this/modules/d3/d3usersonline/models/d3usersonline_update.php b/copy_this/modules/d3/d3usersonline/setup/d3usersonline_update.php similarity index 78% rename from copy_this/modules/d3/d3usersonline/models/d3usersonline_update.php rename to copy_this/modules/d3/d3usersonline/setup/d3usersonline_update.php index b8d9981..0d76c04 100644 --- a/copy_this/modules/d3/d3usersonline/models/d3usersonline_update.php +++ b/copy_this/modules/d3/d3usersonline/setup/d3usersonline_update.php @@ -55,31 +55,31 @@ k09'; 'sTableName' => 'd3usersonline', 'sFieldName' => 'OXID', 'sType' => 'char(32)', - 'blNull' => FALSE, - 'sDefault' => FALSE, + 'blNull' => false, + 'sDefault' => false, 'sComment' => '', 'sExtra' => '', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), 'TIMEVISIT' => array( 'sTableName' => 'd3usersonline', 'sFieldName' => 'TIMEVISIT', 'sType' => 'INT(11)', - 'blNull' => FALSE, + 'blNull' => false, 'sDefault' => '0', 'sComment' => '', 'sExtra' => '', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), 'OXCLASS' => array( 'sTableName' => 'd3usersonline', 'sFieldName' => 'OXCLASS', 'sType' => 'VARCHAR(32)', - 'blNull' => FALSE, - 'sDefault' => FALSE, + 'blNull' => false, + 'sDefault' => false, 'sComment' => '', 'sExtra' => '', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), ); @@ -106,25 +106,25 @@ k09'; 'sTableName' => 'd3usersonline', 'mOldFieldNames' => array('id', 'ID'), // is case sensitive 'sFieldName' => 'OXID', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), 'VISITOR' => array( 'sTableName' => 'd3usersonline', 'mOldFieldNames' => array('visitor'), // is case sensitive 'sFieldName' => 'VISITOR', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), 'TIMEVISIT' => array( 'sTableName' => 'd3usersonline', 'mOldFieldNames' => array('timevisit'), // is case sensitive 'sFieldName' => 'TIMEVISIT', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), 'OXCLASS' => array( 'sTableName' => 'd3usersonline', 'mOldFieldNames' => array('oxclass'), // is case sensitive 'sFieldName' => 'OXCLASS', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), ); @@ -132,14 +132,14 @@ k09'; 'VISITOR' => array( 'sTableName' => 'd3usersonline', 'sFieldName' => 'VISITOR', - 'blMultilang' => FALSE, + 'blMultilang' => false, ), ); protected $_aRefreshMetaModuleIds = array('d3usersonline'); /** - * @return bool TRUE, if table is missing + * @return bool true, if table is missing */ public function checkUsersOnlineTableExist() { @@ -151,7 +151,7 @@ k09'; */ public function updateUsersOnlineTableExist() { - $blRet = TRUE; + $blRet = true; if ($this->checkUsersOnlineTableExist()) { @@ -168,9 +168,8 @@ k09'; */ public function checkModCfgItemExist() { - $blRet = FALSE; - foreach ($this->_getShopList() as $oShop) - { + $blRet = false; + foreach ($this->_getShopList() as $oShop) { /** @var $oShop oxshop */ $aWhere = array( 'oxmodid' => $this->sModKey, @@ -180,8 +179,7 @@ k09'; $blRet = $this->_checkTableItemNotExist('d3_cfg_mod', $aWhere); - if ($blRet) - { + if ($blRet) { return $blRet; } } @@ -194,12 +192,10 @@ k09'; */ public function updateModCfgItemExist() { - $blRet = FALSE; + $blRet = false; - if ($this->checkModCfgItemExist()) - { - foreach ($this->_getShopList() as $oShop) - { + if ($this->checkModCfgItemExist()) { + foreach ($this->_getShopList() as $oShop) { /** @var $oShop oxshop */ $aWhere = array( 'oxmodid' => $this->sModKey, @@ -207,86 +203,85 @@ k09'; 'oxnewrevision' => $this->sModRevision, ); - if ($this->_checkTableItemNotExist('d3_cfg_mod', $aWhere)) - { + 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, + 'force_update' => true, + 'use_quote' => false, ), 'OXSHOPID' => array ( 'content' => $oShop->getId(), - 'force_update' => TRUE, - 'use_quote' => TRUE, + 'force_update' => true, + 'use_quote' => true, ), 'OXMODID' => array ( 'content' => $this->sModKey, - 'force_update' => TRUE, - 'use_quote' => TRUE, + 'force_update' => true, + 'use_quote' => true, ), 'OXNAME' => array ( 'content' => $this->sModName, - 'force_update' => TRUE, - 'use_quote' => TRUE, + 'force_update' => true, + 'use_quote' => true, ), 'OXACTIVE' => array ( 'content' => "0", - 'force_update' => FALSE, - 'use_quote' => FALSE, + 'force_update' => false, + 'use_quote' => false, ), 'OXBASECONFIG' => array ( 'content' => $this->sBaseConf, - 'force_update' => TRUE, - 'use_quote' => TRUE, + 'force_update' => true, + 'use_quote' => true, ), 'OXSERIAL' => array ( 'content' => "", - 'force_update' => FALSE, - 'use_quote' => TRUE, + 'force_update' => false, + 'use_quote' => true, ), 'OXINSTALLDATE' => array ( 'content' => "NOW()", - 'force_update' => TRUE, - 'use_quote' => FALSE, + 'force_update' => true, + 'use_quote' => false, ), 'OXVERSION' => array ( 'content' => $this->sModVersion, - 'force_update' => TRUE, - 'use_quote' => TRUE, + 'force_update' => true, + 'use_quote' => true, ), 'OXSHOPVERSION' => array ( 'content' => oxRegistry::getConfig()->getEdition(), - 'force_update' => TRUE, - 'use_quote' => TRUE, + 'force_update' => true, + 'use_quote' => true, ), 'OXREQUIREMENTS' => array ( 'content' => $this->sRequirements, - 'force_update' => TRUE, - 'use_quote' => TRUE, + 'force_update' => true, + 'use_quote' => true, ), 'OXVALUE' => array( 'content' => $this->sBaseValue, - 'force_update' => FALSE, - 'use_quote' => TRUE, + 'force_update' => false, + 'use_quote' => true, ), 'OXNEWREVISION' => array( 'content' => $this->sModRevision, - 'force_update' => TRUE, - 'use_quote' => TRUE, + '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); + $this->_setUpdateBreak(false); } } } return $blRet; } -} \ No newline at end of file +} diff --git a/copy_this/modules/d3/d3usersonline/views/admin/de/d3usersonline_lang.php b/copy_this/modules/d3/d3usersonline/views/admin/de/d3usersonline_lang.php new file mode 100644 index 0000000..f67ea15 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/views/admin/de/d3usersonline_lang.php @@ -0,0 +1,38 @@ +. + * + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ + +$sLangName = 'Deutsch'; +$iLangNr = 0; +// ------------------------------- +// RESOURCE IDENTITFIER = STRING +// ------------------------------- +$aLang = array( + 'charset' => 'ISO-8859-15', + + 'd3mxusersonline' => 'Benutzer online', + 'd3mxusersonline_settings' => 'Einstellungen', + 'd3tbclussersonline_settings_main' => 'Grundeinstellungen', + 'd3mxusersonline_analysis' => 'Auswertungen', + 'd3tbclusersonline_currvisitors' => 'aktuelle Besucher', + 'D3USERSONLINE_NOTACTIVE' => 'Modul ist nicht aktiv', + 'D3_USERSONLINE_USERSONLINE' => 'Benutzer online', + 'D3_USERSONLINE_USER' => 'Benutzer', + 'D3_USERSONLINE_USERS' => 'Benutzer', + 'D3_USERSONLINE_ALL' => 'gesamt', +); diff --git a/copy_this/modules/d3/d3usersonline/views/admin/en/d3usersonline_lang.php b/copy_this/modules/d3/d3usersonline/views/admin/en/d3usersonline_lang.php new file mode 100644 index 0000000..a5a3c60 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/views/admin/en/d3usersonline_lang.php @@ -0,0 +1,38 @@ +. + * + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ + +$sLangName = 'Deutsch'; +$iLangNr = 0; +// ------------------------------- +// RESOURCE IDENTITFIER = STRING +// ------------------------------- +$aLang = array( + 'charset' => 'ISO-8859-15', + + 'd3mxusersonline' => 'Users Online', + 'd3mxusersonline_settings' => 'Settings', + 'd3tbclussersonline_settings_main' => 'Main Settings', + 'd3mxusersonline_analysis' => 'Analysis', + 'd3tbclusersonline_currvisitors' => 'current visitors', + 'D3USERSONLINE_NOTACTIVE' => "Module isn't active", + 'D3_USERSONLINE_USERSONLINE' => 'Users online', + 'D3_USERSONLINE_USER' => 'user', + 'D3_USERSONLINE_USERS' => 'users', + 'D3_USERSONLINE_ALL' => 'all', +); diff --git a/copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_cfg_usersonline_main.tpl b/copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_cfg_usersonline_main.tpl new file mode 100644 index 0000000..3574879 --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_cfg_usersonline_main.tpl @@ -0,0 +1,154 @@ +[{include file="headitem.tpl" title="d3tbclussersonline_settings_main"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + + + + + + +
+ + [{include file="d3_cfg_mod_active.tpl"}] + + [{if $oView->getValueStatus() == 'error'}] +
+ [{oxmultilang ident="D3_CFG_MOD_GENERAL_NOCONFIG_DESC"}] +
+
+ + + + + [{else}] + + + + +
+
+ + + + +

+
+ [{/if}] +
+
+ +[{include file="d3_cfg_mod_inc.tpl"}] + + \ No newline at end of file diff --git a/copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_usersonline_statistic.tpl b/copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_usersonline_statistic.tpl new file mode 100644 index 0000000..ac39bfa --- /dev/null +++ b/copy_this/modules/d3/d3usersonline/views/admin/tpl/d3_usersonline_statistic.tpl @@ -0,0 +1,161 @@ +[{include file="headitem.tpl" title="d3tbclussersonline_settings_main"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +[{d3modcfgcheck modid="d3usersonline"}][{/d3modcfgcheck}] +[{if $mod_d3usersonline}] + [{assign var="aUsersOnline" value=$oView->getUserCount()}] +

[{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}] +
+ [{if $aClassUser->classname}] + [{$aClassUser->classname|ucfirst}]: + [{else}] + undefined: + [{/if}] + + [{$aClassUser->counter}]  + + [{if $aClassUser->counter == 1}] + [{oxmultilang ident="D3_USERSONLINE_USER"}] + [{else}] + [{oxmultilang ident="D3_USERSONLINE_USERS"}] + [{/if}] +
+
+[{else}] + [{oxmultilang ident="D3USERSONLINE_NOTACTIVE"}] +[{/if}] + +[{include file="d3_cfg_mod_inc.tpl"}] + + \ No newline at end of file diff --git a/copy_this/modules/d3/d3usersonline/views/blocks/layout/d3usersonline_sidebar.tpl b/copy_this/modules/d3/d3usersonline/views/blocks/layout/d3usersonline_sidebar.tpl index 8717382..78be56f 100644 --- a/copy_this/modules/d3/d3usersonline/views/blocks/layout/d3usersonline_sidebar.tpl +++ b/copy_this/modules/d3/d3usersonline/views/blocks/layout/d3usersonline_sidebar.tpl @@ -1,4 +1,5 @@ -[{d3modcfgcheck modid="d3usersonline"}] +[{d3modcfgcheck modid="d3usersonline"}][{/d3modcfgcheck}] +[{if $mod_d3usersonline}] [{if $oxcmp_user && $oxcmp_user->getFieldData('oxrights') == 'malladmin'}]

[{oxmultilang ident="D3_USERSONLINE_USERSONLINE"}]

@@ -44,6 +45,6 @@
[{/if}] -[{/d3modcfgcheck}] +[{/if}] [{$smarty.block.parent}] \ No newline at end of file