public function view($arguments) { // Read if (empty($arguments[0])) { return Error::set('Username is required.'); } if (!empty($arguments[1])) { $page = (int) array_pop($arguments); if ($page < 1) { $this->view['commentPage'] = 1; } else { $this->view['commentPage'] = $page; } } else { $this->view['commentPage'] = 1; } $this->view['commentPageLoc'] = 'user/view/' . $arguments[0] . '/'; $username = $arguments[0]; $users = new users(ConnectionFactory::get('mongo')); $userInfo = $users->get($username); if (empty($userInfo)) { return Error::set('User not found.'); } $irc = new irc(ConnectionFactory::get('redis')); $articles = new articles(ConnectionFactory::get('mongo')); $lectures = new lectures(ConnectionFactory::get('mongo')); $github = new github(ConnectionFactory::get('redis')); $this->view['valid'] = true; $this->view['username'] = $username; $this->view['user'] = $userInfo; $this->view['onIrc'] = $irc->isOnline($username); $this->view['onSite'] = apc_exists(Cache::PREFIX . 'user_' . $username); $this->view['articles'] = $articles->getForUser($this->view['user']['_id']); $this->view['lectures'] = $lectures->getForUser($username); $this->view['github'] = $github->get($userInfo['_id']); Layout::set('title', $username . '\'s profile'); }