mirror of
https://we.phorge.it/source/phorge.git
synced 2025-03-30 22:18:13 +02:00
Summary: Revamps Profile to be like Projects, a mini portal and side nav with icons. Test Plan: Viewed my own profile, as well as others. Test seeing my commits, tasks, diffs, and upcoming events. Checked mobile navigation. Reviewers: btrahan, epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Differential Revision: https://secure.phabricator.com/D11547
60 lines
1.4 KiB
PHP
60 lines
1.4 KiB
PHP
<?php
|
|
|
|
final class PhabricatorPeopleFeedController
|
|
extends PhabricatorPeopleController {
|
|
|
|
private $username;
|
|
|
|
public function shouldRequireAdmin() {
|
|
return false;
|
|
}
|
|
|
|
public function willProcessRequest(array $data) {
|
|
$this->username = idx($data, 'username');
|
|
}
|
|
|
|
public function processRequest() {
|
|
require_celerity_resource('phabricator-profile-css');
|
|
$viewer = $this->getRequest()->getUser();
|
|
$user = id(new PhabricatorPeopleQuery())
|
|
->setViewer($viewer)
|
|
->withUsernames(array($this->username))
|
|
->needProfileImage(true)
|
|
->executeOne();
|
|
|
|
if (!$user) {
|
|
return new Aphront404Response();
|
|
}
|
|
|
|
$query = new PhabricatorFeedQuery();
|
|
$query->setFilterPHIDs(
|
|
array(
|
|
$user->getPHID(),
|
|
));
|
|
$query->setLimit(100);
|
|
$query->setViewer($viewer);
|
|
$stories = $query->execute();
|
|
|
|
$builder = new PhabricatorFeedBuilder($stories);
|
|
$builder->setUser($viewer);
|
|
$builder->setShowHovercards(true);
|
|
$view = $builder->buildView();
|
|
|
|
$feed = phutil_tag_div(
|
|
'phabricator-project-feed',
|
|
$view->render());
|
|
$name = $user->getUsername();
|
|
|
|
$nav = $this->buildIconNavView($user);
|
|
$nav->selectFilter("{$name}/feed/");
|
|
$nav->appendChild($feed);
|
|
|
|
return $this->buildApplicationPage(
|
|
array(
|
|
$nav,
|
|
),
|
|
array(
|
|
'title' => pht('Feed'),
|
|
));
|
|
}
|
|
}
|