app->loadLang('client'); $now = helper::now(); $polling = empty($this->config->xuanxuan->pollingInterval) ? $this->lang->client->noData : $this->config->xuanxuan->pollingInterval . 's'; $lastPoll = $this->loadModel('setting')->getItem("owner=system&module=common§ion=xxd&key=lastPoll"); $xxdStatus = $this->loadModel('im')->getXxdStatus(); $onlineUserCount = $xxdStatus == 'offline' ? 0 : count($this->loadModel('im')->userGetList('online')); $setServerBtn = html::a(helper::createLink('setting', 'xuanxuan', 'type=edit'), $this->lang->client->set, '', 'class="btn"'); $xxdStartDate = zget($this->config->xxd, 'start', $this->lang->client->noData); if(!empty($lastPoll) && $xxdStatus == 'online' && !empty($this->config->xxd) && $polling < 600) { $xxdRunTime = $xxdStartDate === $this->lang->client->noData ? $this->lang->client->noData : $this->im->getXxdRunTime(strtotime($now) - strtotime($xxdStartDate)); $xxdRunHtml = "

{$this->lang->client->xxdRunTime}

{$xxdRunTime}

"; } else { $xxdRunHtml = "

{$this->lang->client->xxdStartDate}

{$xxdStartDate}

"; } $html = '
'; $html .= '
'; $html .= "

{$this->lang->client->xxdStatus}

{$this->lang->client->xxdStatusList[$xxdStatus]}

"; $html .= $xxdRunHtml; $html .= "

{$this->lang->client->polling}

{$polling}

"; $html .= "

{$this->lang->client->countUsers}

{$onlineUserCount}

"; $html .= "
"; $html .= "

{$this->lang->client->setServer}

{$setServerBtn}

"; $html .= '
'; echo $html; } public function blockStatistics($block = null) { $this->loadModel('im'); $this->app->loadLang('client'); $now = helper::now(); $users = count($this->im->userGetList()); $groups = count($this->im->chatGetGroupPairs()); $messages = $this->im->messageGetCountForBlock(); $fileSize = $this->getXxcAllFileSize(); if($fileSize == 0) { $fileSize .= ' KB'; } else if($fileSize > $this->lang->client->sizeType['G']) { $fileSize = round($fileSize / $this->lang->client->sizeType['G'], 2) . ' GB'; } else if($fileSize > $this->lang->client->sizeType['M']) { $fileSize = round($fileSize / $this->lang->client->sizeType['M'], 2) . ' MB'; } else if($fileSize > $this->lang->client->sizeType['K']) { $fileSize = round($fileSize / $this->lang->client->sizeType['K'], 2) . ' KB'; } $html = '
'; $html .= "

{$this->lang->client->totalUsers}

{$users}

"; $html .= "

{$this->lang->client->totalGroups}

{$groups}

"; $html .= "

{$this->lang->client->fileSize}

{$fileSize}

"; $html .= '
'; $html .= "

{$this->lang->client->message['total']}

{$messages->total}

"; $html .= "

{$this->lang->client->message['day']}

{$messages->day}

"; $html .= "

{$this->lang->client->message['hour']}

{$messages->hour}

"; $html .= '
'; echo $html; } /** * Get XXC All file size. * * @access public * @return int */ public function getXxcAllFileSize() { $xxcFiles = $this->dao->select('size')->from(TABLE_FILE) ->where('objectType')->eq('chat') ->fetchPairs(); if(empty($xxcFiles)) return 0; return array_sum($xxcFiles); } }