[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/settings/panel/ -> PhabricatorSettingsPanelActivity.php (source)

   1  <?php
   2  
   3  final class PhabricatorSettingsPanelActivity
   4    extends PhabricatorSettingsPanel {
   5  
   6    public function isEditableByAdministrators() {
   7      return true;
   8    }
   9  
  10    public function getPanelKey() {
  11      return 'activity';
  12    }
  13  
  14    public function getPanelName() {
  15      return pht('Activity Logs');
  16    }
  17  
  18    public function getPanelGroup() {
  19      return pht('Sessions and Logs');
  20    }
  21  
  22    public function isEnabled() {
  23      return true;
  24    }
  25  
  26    public function processRequest(AphrontRequest $request) {
  27      $viewer = $request->getUser();
  28      $user = $this->getUser();
  29  
  30      $pager = id(new AphrontCursorPagerView())
  31        ->readFromRequest($request);
  32  
  33      $logs = id(new PhabricatorPeopleLogQuery())
  34        ->setViewer($viewer)
  35        ->withRelatedPHIDs(array($user->getPHID()))
  36        ->executeWithCursorPager($pager);
  37  
  38      $phids = array();
  39      foreach ($logs as $log) {
  40        $phids[] = $log->getUserPHID();
  41        $phids[] = $log->getActorPHID();
  42      }
  43  
  44      if ($phids) {
  45        $handles = id(new PhabricatorHandleQuery())
  46          ->setViewer($viewer)
  47          ->withPHIDs($phids)
  48          ->execute();
  49      } else {
  50        $handles = array();
  51      }
  52  
  53      $table = id(new PhabricatorUserLogView())
  54        ->setUser($viewer)
  55        ->setLogs($logs)
  56        ->setHandles($handles);
  57  
  58      $panel = id(new PHUIObjectBoxView())
  59        ->setHeaderText(pht('Account Activity Logs'))
  60        ->appendChild($table);
  61  
  62      $pager_box = id(new PHUIBoxView())
  63        ->addMargin(PHUI::MARGIN_LARGE)
  64        ->appendChild($pager);
  65  
  66      return array($panel, $pager_box);
  67    }
  68  
  69  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1