Changeset View
Changeset View
Standalone View
Standalone View
src/applications/search/menuitem/PhabricatorProfileMenuItem.php
<?php | <?php | ||||
abstract class PhabricatorProfileMenuItem extends Phobject { | abstract class PhabricatorProfileMenuItem extends Phobject { | ||||
private $viewer; | private $viewer; | ||||
private $engine; | private $engine; | ||||
private $href; | |||||
final public function buildNavigationMenuItems( | final public function buildNavigationMenuItems( | ||||
PhabricatorProfileMenuItemConfiguration $config) { | PhabricatorProfileMenuItemConfiguration $config) { | ||||
return $this->newNavigationMenuItems($config); | $items = $this->newNavigationMenuItems($config); | ||||
$this->href = head($items)->getHref(); | |||||
return $items; | |||||
} | } | ||||
abstract protected function newNavigationMenuItems( | abstract protected function newNavigationMenuItems( | ||||
PhabricatorProfileMenuItemConfiguration $config); | PhabricatorProfileMenuItemConfiguration $config); | ||||
public function willBuildNavigationItems(array $items) {} | public function willBuildNavigationItems(array $items) {} | ||||
public function needsFilter(PhabricatorProfileMenuItemConfiguration $config) { | |||||
$needs_filter = false; | |||||
$engine = $this->getEngine(); | |||||
$controller = $engine->getController(); | |||||
if ($controller) { | |||||
$request = $controller->getRequest(); | |||||
$request_uri = 'http://'.$request->getHost().$request->getPath(); | |||||
$item_uri = $this->href; | |||||
$needs_filter = ($request_uri == $item_uri); | |||||
} | |||||
return $needs_filter; | |||||
} | |||||
public function getMenuItemTypeIcon() { | public function getMenuItemTypeIcon() { | ||||
return null; | return null; | ||||
} | } | ||||
abstract public function getMenuItemTypeName(); | abstract public function getMenuItemTypeName(); | ||||
abstract public function getDisplayName( | abstract public function getDisplayName( | ||||
PhabricatorProfileMenuItemConfiguration $config); | PhabricatorProfileMenuItemConfiguration $config); | ||||
▲ Show 20 Lines • Show All 109 Lines • Show Last 20 Lines |