Path: blob/master/src/applications/people/controller/PhabricatorPeopleProfileCommitsController.php
12256 views
<?php12final class PhabricatorPeopleProfileCommitsController3extends PhabricatorPeopleProfileController {45public function handleRequest(AphrontRequest $request) {6$viewer = $this->getViewer();7$id = $request->getURIData('id');89$user = id(new PhabricatorPeopleQuery())10->setViewer($viewer)11->withIDs(array($id))12->needProfile(true)13->needProfileImage(true)14->needAvailability(true)15->executeOne();16if (!$user) {17return new Aphront404Response();18}1920$class = 'PhabricatorDiffusionApplication';21if (!PhabricatorApplication::isClassInstalledForViewer($class, $viewer)) {22return new Aphront404Response();23}2425$this->setUser($user);26$title = array(pht('Recent Commits'), $user->getUsername());27$header = $this->buildProfileHeader();28$commits = $this->buildCommitsView($user);2930$crumbs = $this->buildApplicationCrumbs();31$crumbs->addTextCrumb(pht('Recent Commits'));32$crumbs->setBorder(true);3334$nav = $this->newNavigation(35$user,36PhabricatorPeopleProfileMenuEngine::ITEM_COMMITS);3738$view = id(new PHUITwoColumnView())39->setHeader($header)40->addClass('project-view-home')41->addClass('project-view-people-home')42->setFooter(array(43$commits,44));4546return $this->newPage()47->setTitle($title)48->setCrumbs($crumbs)49->setNavigation($nav)50->appendChild($view);51}5253private function buildCommitsView(PhabricatorUser $user) {54$viewer = $this->getViewer();5556$commits = id(new DiffusionCommitQuery())57->setViewer($viewer)58->withAuthorPHIDs(array($user->getPHID()))59->needCommitData(true)60->needIdentities(true)61->setLimit(100)62->execute();6364$list = id(new DiffusionCommitGraphView())65->setViewer($viewer)66->setCommits($commits);6768return $list;69}70}717273