Beispiel #1
0
 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');
 }