* @package be.bastelstu.chat * @subpackage system.dashboard.box */ class OnlineListDashboardBox extends \wcf\system\dashboard\box\AbstractContentDashboardBox { /** * all rooms in the current installation * @var array<\chat\data\room\Room> */ public $rooms = array(); /** * @see wcf\system\dashboard\box\IDashboardBox::init() */ public function init(\wcf\data\dashboard\box\DashboardBox $box, \wcf\page\IPage $page) { parent::init($box, $page); if (!MODULE_CHAT) return; if (!\wcf\system\WCF::getUser()->userID) return; $this->rooms = data\room\RoomCache::getInstance()->getRooms(); foreach ($this->rooms as $key => $room) { if (!$room->canEnter()) unset($this->rooms[$key]); } } /** * @see wcf\system\dashboard\box\AbstractContentDashboardBox::render() */ protected function render() { if (!MODULE_CHAT) return false; if (!\wcf\system\WCF::getUser()->userID) return false; \wcf\system\WCF::getTPL()->assign(array( 'rooms' => $this->rooms )); return \wcf\system\WCF::getTPL()->fetch('dashboardBoxOnlineList', 'chat'); } }