Remove all code referencing old tab navigation
Summary: - Add getHelpURI() to PhabricatorApplication for application user guides. - Add a new "help" icon menu item and skeletal Diviner application. - Move help tabs to Applications where they exist, document the other ones that don't exist yet. - Grep for all tab-related stuff and delete it. Test Plan: Clicked "help" for some apps. Clicked around randomly in a bunch of other apps. Reviewers: btrahan, vrana Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D3267
This commit is contained in:
		@@ -549,6 +549,7 @@ phutil_register_library_map(array(
 | 
			
		||||
    'PhabricatorApplicationDaemons' => 'applications/daemon/application/PhabricatorApplicationDaemons.php',
 | 
			
		||||
    'PhabricatorApplicationDifferential' => 'applications/differential/application/PhabricatorApplicationDifferential.php',
 | 
			
		||||
    'PhabricatorApplicationDiffusion' => 'applications/diffusion/application/PhabricatorApplicationDiffusion.php',
 | 
			
		||||
    'PhabricatorApplicationDiviner' => 'applications/diviner/application/PhabricatorApplicationDiviner.php',
 | 
			
		||||
    'PhabricatorApplicationFact' => 'applications/fact/application/PhabricatorApplicationFact.php',
 | 
			
		||||
    'PhabricatorApplicationFlags' => 'applications/flag/application/PhabricatorApplicationFlags.php',
 | 
			
		||||
    'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php',
 | 
			
		||||
@@ -1671,6 +1672,7 @@ phutil_register_library_map(array(
 | 
			
		||||
    'PhabricatorApplicationDaemons' => 'PhabricatorApplication',
 | 
			
		||||
    'PhabricatorApplicationDifferential' => 'PhabricatorApplication',
 | 
			
		||||
    'PhabricatorApplicationDiffusion' => 'PhabricatorApplication',
 | 
			
		||||
    'PhabricatorApplicationDiviner' => 'PhabricatorApplication',
 | 
			
		||||
    'PhabricatorApplicationFact' => 'PhabricatorApplication',
 | 
			
		||||
    'PhabricatorApplicationFlags' => 'PhabricatorApplication',
 | 
			
		||||
    'PhabricatorApplicationLaunchView' => 'AphrontView',
 | 
			
		||||
 
 | 
			
		||||
@@ -70,6 +70,21 @@ abstract class PhabricatorApplication {
 | 
			
		||||
    return null;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function getHelpURI() {
 | 
			
		||||
    // TODO: When these applications get created, link to their docs:
 | 
			
		||||
    //
 | 
			
		||||
    //  - Conduit
 | 
			
		||||
    //  - Drydock
 | 
			
		||||
    //  - Herald
 | 
			
		||||
    //  - OAuth Server
 | 
			
		||||
    //  - Owners
 | 
			
		||||
    //  - Phame
 | 
			
		||||
    //  - Slowvote
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    return null;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* -(  URI Routing  )-------------------------------------------------------- */
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2011 Facebook, Inc.
 | 
			
		||||
 * Copyright 2012 Facebook, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -30,12 +30,6 @@ abstract class PhabricatorCalendarController extends PhabricatorController {
 | 
			
		||||
    // use "keyboard" since it looks vaguely similar.
 | 
			
		||||
    $page->setGlyph("\xE2\x8C\xA8");
 | 
			
		||||
 | 
			
		||||
    $page->appendChild($view);
 | 
			
		||||
    $page->setTabs(
 | 
			
		||||
      array(
 | 
			
		||||
      ),
 | 
			
		||||
      idx($data, 'tab'));
 | 
			
		||||
 | 
			
		||||
    $response = new AphrontWebpageResponse();
 | 
			
		||||
    return $response->setContent($page->render());
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -25,21 +25,12 @@ abstract class PhabricatorConduitController extends PhabricatorController {
 | 
			
		||||
  protected $showSideNav;
 | 
			
		||||
 | 
			
		||||
  public function buildStandardPageResponse($view, array $data) {
 | 
			
		||||
    $doclink = PhabricatorEnv::getDoclink(
 | 
			
		||||
      'article/Conduit_Technical_Documentation.html'
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
    $page = $this->buildStandardPageView();
 | 
			
		||||
 | 
			
		||||
    $page->setApplicationName('Conduit');
 | 
			
		||||
    $page->setBaseURI('/conduit/');
 | 
			
		||||
    $page->setTitle(idx($data, 'title'));
 | 
			
		||||
    $page->setGlyph("\xE2\x87\xB5");
 | 
			
		||||
    $page->setTabs(array(
 | 
			
		||||
      'help' => array(
 | 
			
		||||
        'href' => $doclink,
 | 
			
		||||
        'name' => 'Help')
 | 
			
		||||
      ), null);
 | 
			
		||||
 | 
			
		||||
    if ($this->showSideNav()) {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -65,7 +65,6 @@ final class PhabricatorDaemonTimelineConsoleController
 | 
			
		||||
      $nav,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Timeline',
 | 
			
		||||
        'tab'   => 'timeline',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,6 @@ abstract class DifferentialController extends PhabricatorController {
 | 
			
		||||
    $page->setTitle(idx($data, 'title'));
 | 
			
		||||
    $page->setGlyph("\xE2\x9A\x99");
 | 
			
		||||
    $page->appendChild($view);
 | 
			
		||||
    $page->setIsLoggedOut($viewer_is_anonymous);
 | 
			
		||||
    $page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_OPEN_REVISIONS);
 | 
			
		||||
 | 
			
		||||
    $response = new AphrontWebpageResponse();
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,6 @@ final class DifferentialDiffCreateController extends DifferentialController {
 | 
			
		||||
      $panel,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Create Diff',
 | 
			
		||||
        'tab' => 'create',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -228,7 +228,6 @@ final class DifferentialRevisionListController extends DifferentialController {
 | 
			
		||||
      $side_nav,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Differential Home',
 | 
			
		||||
        'tab' => 'revisions',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -30,6 +30,10 @@ final class PhabricatorApplicationDiffusion extends PhabricatorApplication {
 | 
			
		||||
    return celerity_get_resource_uri('/rsrc/image/app/app_diffusion.png');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function getHelpURI() {
 | 
			
		||||
    return PhabricatorEnv::getDoclink('article/Diffusion_User_Guide.html');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function getRoutes() {
 | 
			
		||||
    return array(
 | 
			
		||||
      '/r(?P<callsign>[A-Z]+)(?P<commit>[a-z0-9]+)'
 | 
			
		||||
 
 | 
			
		||||
@@ -47,15 +47,6 @@ abstract class DiffusionController extends PhabricatorController {
 | 
			
		||||
    $page->setBaseURI('/diffusion/');
 | 
			
		||||
    $page->setTitle(idx($data, 'title'));
 | 
			
		||||
    $page->setGlyph("\xE2\x89\x88");
 | 
			
		||||
    $page->setTabs(
 | 
			
		||||
      array(
 | 
			
		||||
        'help' => array(
 | 
			
		||||
          'href' => PhabricatorEnv::getDoclink(
 | 
			
		||||
            'article/Diffusion_User_Guide.html'),
 | 
			
		||||
          'name' => 'Help',
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
      null);
 | 
			
		||||
    $page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_COMMITS);
 | 
			
		||||
 | 
			
		||||
    $page->appendChild($view);
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,46 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2012 Facebook, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *   http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
final class PhabricatorApplicationDiviner extends PhabricatorApplication {
 | 
			
		||||
 | 
			
		||||
  public function shouldAppearInLaunchView() {
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function buildMainMenuItems(
 | 
			
		||||
    PhabricatorUser $user,
 | 
			
		||||
    PhabricatorController $controller = null) {
 | 
			
		||||
 | 
			
		||||
    $items = array();
 | 
			
		||||
    $application = $controller->getCurrentApplication();
 | 
			
		||||
    if ($application && $application->getHelpURI()) {
 | 
			
		||||
      $class = 'main-menu-item-icon-help';
 | 
			
		||||
      $item = new PhabricatorMainMenuIconView();
 | 
			
		||||
      $item->setName(pht('%s Help', $application->getName()));
 | 
			
		||||
      $item->addClass('main-menu-item-icon '.$class);
 | 
			
		||||
      $item->setHref($application->getHelpURI());
 | 
			
		||||
      $item->setSortOrder(0.1);
 | 
			
		||||
      $items[] = $item;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return $items;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -29,15 +29,6 @@ abstract class DrydockController extends PhabricatorController {
 | 
			
		||||
 | 
			
		||||
    $page->appendChild($view);
 | 
			
		||||
 | 
			
		||||
    $help_uri = PhabricatorEnv::getDoclink('article/Drydock_User_Guide.html');
 | 
			
		||||
    $page->setTabs(
 | 
			
		||||
      array(
 | 
			
		||||
        'help' => array(
 | 
			
		||||
          'name' => 'Help',
 | 
			
		||||
          'href'  => $help_uri,
 | 
			
		||||
        ),
 | 
			
		||||
      ), null);
 | 
			
		||||
 | 
			
		||||
    $response = new AphrontWebpageResponse();
 | 
			
		||||
    return $response->setContent($page->render());
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -177,7 +177,6 @@ final class PhabricatorFileListController extends PhabricatorFileController {
 | 
			
		||||
      $side_nav,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Files',
 | 
			
		||||
        'tab'   => 'files',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -158,7 +158,6 @@ final class PhabricatorFileMacroListController
 | 
			
		||||
      $side_nav,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Image Macros',
 | 
			
		||||
        'tab'   => 'macros',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -26,16 +26,6 @@ abstract class HeraldController extends PhabricatorController {
 | 
			
		||||
    $page->setTitle(idx($data, 'title'));
 | 
			
		||||
    $page->setGlyph("\xE2\x98\xBF");
 | 
			
		||||
 | 
			
		||||
    $doclink = PhabricatorEnv::getDoclink('article/Herald_User_Guide.html');
 | 
			
		||||
 | 
			
		||||
    $tabs = array(
 | 
			
		||||
      'help' => array(
 | 
			
		||||
        'href' => $doclink,
 | 
			
		||||
        'name' => 'Help',
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
    $page->setTabs($tabs, null);
 | 
			
		||||
 | 
			
		||||
    $page->appendChild($view);
 | 
			
		||||
    $page->setIsAdminInterface(idx($data, 'admin'));
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -144,7 +144,6 @@ final class HeraldTestConsoleController extends HeraldController {
 | 
			
		||||
      $nav,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Test Console',
 | 
			
		||||
        'tab' => 'test',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -119,7 +119,6 @@ final class HeraldTranscriptListController extends HeraldController {
 | 
			
		||||
      $nav,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Herald Transcripts',
 | 
			
		||||
        'tab' => 'transcripts',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -81,7 +81,6 @@ final class PhabricatorMailingListsListController
 | 
			
		||||
      $panel,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Mailing Lists',
 | 
			
		||||
        'tab'   => 'lists',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -91,7 +91,6 @@ final class PhabricatorMetaMTAReceivedListController
 | 
			
		||||
      $nav,
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Received Mail',
 | 
			
		||||
        'tab'   => 'received',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -47,17 +47,6 @@ extends PhabricatorController {
 | 
			
		||||
    $nav->appendChild($view);
 | 
			
		||||
 | 
			
		||||
    $page->appendChild($nav);
 | 
			
		||||
    $doc_href = PhabricatorEnv::getDoclink(
 | 
			
		||||
      'article/Using_the_Phabricator_OAuth_Server.html'
 | 
			
		||||
    );
 | 
			
		||||
    $page->setTabs(
 | 
			
		||||
      array(
 | 
			
		||||
        'help' => array(
 | 
			
		||||
          'name' => 'Help',
 | 
			
		||||
          'href' => $doc_href,
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
      null);
 | 
			
		||||
 | 
			
		||||
    $response = new AphrontWebpageResponse();
 | 
			
		||||
    return $response->setContent($page->render());
 | 
			
		||||
 
 | 
			
		||||
@@ -39,16 +39,6 @@ abstract class PhabricatorOwnersController extends PhabricatorController {
 | 
			
		||||
    $nav->appendChild($view);
 | 
			
		||||
    $page->appendChild($nav);
 | 
			
		||||
 | 
			
		||||
    $doclink =
 | 
			
		||||
      PhabricatorEnv::getDoclink('article/Owners_Tool_User_Guide.html');
 | 
			
		||||
    $tabs = array(
 | 
			
		||||
      'help' => array(
 | 
			
		||||
        'href' => $doclink,
 | 
			
		||||
        'name' => 'Help',
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
    $page->setTabs($tabs, null);
 | 
			
		||||
 | 
			
		||||
    $response = new AphrontWebpageResponse();
 | 
			
		||||
    return $response->setContent($page->render());
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -122,7 +122,6 @@ final class PhabricatorPasteViewController extends PhabricatorPasteController {
 | 
			
		||||
      ),
 | 
			
		||||
      array(
 | 
			
		||||
        'title' => 'Paste: '.nonempty($paste->getTitle(), 'P'.$paste->getID()),
 | 
			
		||||
        'tab' => 'view',
 | 
			
		||||
      ));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,14 +39,6 @@ abstract class PhameController extends PhabricatorController {
 | 
			
		||||
    $page->setTitle(idx($data, 'title'));
 | 
			
		||||
    $page->setGlyph("\xe2\x9c\xa9");
 | 
			
		||||
 | 
			
		||||
    $tabs = array(
 | 
			
		||||
      'help' => array(
 | 
			
		||||
        'name' => 'Help',
 | 
			
		||||
        'href' =>
 | 
			
		||||
          PhabricatorEnv::getDoclink('article/Phame_User_Guide.html'),
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
    $page->setTabs($tabs, idx($data, 'tab'));
 | 
			
		||||
    if ($this->showSideNav()) {
 | 
			
		||||
      $nav = $this->renderSideNavFilterView($this->getSideNavFilter());
 | 
			
		||||
      $nav->appendChild($view);
 | 
			
		||||
 
 | 
			
		||||
@@ -30,6 +30,10 @@ final class PhabricatorApplicationPhriction extends PhabricatorApplication {
 | 
			
		||||
    return celerity_get_resource_uri('/rsrc/image/app/app_phriction.png');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function getHelpURI() {
 | 
			
		||||
    return PhabricatorEnv::getDoclink('article/Phriction_User_Guide.html');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function getRoutes() {
 | 
			
		||||
    return array(
 | 
			
		||||
      // Match "/w/" with slug "/".
 | 
			
		||||
 
 | 
			
		||||
@@ -30,14 +30,6 @@ abstract class PhrictionController extends PhabricatorController {
 | 
			
		||||
    $page->setTitle(idx($data, 'title'));
 | 
			
		||||
    $page->setGlyph("\xE2\x9A\xA1");
 | 
			
		||||
 | 
			
		||||
    $tabs = array(
 | 
			
		||||
      'help' => array(
 | 
			
		||||
        'name' => 'Help',
 | 
			
		||||
        'href' =>
 | 
			
		||||
          PhabricatorEnv::getDoclink('article/Phriction_User_Guide.html'),
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
    $page->setTabs($tabs, idx($data, 'tab'));
 | 
			
		||||
    $page->appendChild($view);
 | 
			
		||||
    $page->setSearchDefaultScope(PhabricatorSearchScope::SCOPE_WIKI);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright 2011 Facebook, Inc.
 | 
			
		||||
 * Copyright 2012 Facebook, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
@@ -29,16 +29,6 @@ abstract class PhabricatorSlowvoteController extends PhabricatorController {
 | 
			
		||||
    $page->setTitle(idx($data, 'title'));
 | 
			
		||||
    $page->setGlyph("\xE2\x9C\x94");
 | 
			
		||||
 | 
			
		||||
    $doc_href = PhabricatorEnv::getDoclink('article/Slowvote_User_Guide.html');
 | 
			
		||||
    $page->setTabs(
 | 
			
		||||
      array(
 | 
			
		||||
        'help' => array(
 | 
			
		||||
          'name' => 'Help',
 | 
			
		||||
          'href' => $doc_href,
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
      null);
 | 
			
		||||
 | 
			
		||||
    $page->appendChild($view);
 | 
			
		||||
 | 
			
		||||
    $response = new AphrontWebpageResponse();
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
 | 
			
		||||
 | 
			
		||||
  private $baseURI;
 | 
			
		||||
  private $applicationName;
 | 
			
		||||
  private $tabs = array();
 | 
			
		||||
  private $selectedTab;
 | 
			
		||||
  private $glyph;
 | 
			
		||||
  private $bodyContent;
 | 
			
		||||
  private $menuContent;
 | 
			
		||||
@@ -48,18 +46,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
 | 
			
		||||
    return $this;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function setIsLoggedOut($is_logged_out) {
 | 
			
		||||
    if ($is_logged_out) {
 | 
			
		||||
      $this->tabs = array_merge($this->tabs, array(
 | 
			
		||||
        'login' => array(
 | 
			
		||||
          'name' => 'Login',
 | 
			
		||||
          'href' => '/login/'
 | 
			
		||||
        )
 | 
			
		||||
      ));
 | 
			
		||||
    }
 | 
			
		||||
    return $this;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function getIsAdminInterface() {
 | 
			
		||||
    return $this->isAdminInterface;
 | 
			
		||||
  }
 | 
			
		||||
@@ -101,12 +87,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
 | 
			
		||||
    return $this->baseURI;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function setTabs(array $tabs, $selected_tab) {
 | 
			
		||||
    $this->tabs = $tabs;
 | 
			
		||||
    $this->selectedTab = $selected_tab;
 | 
			
		||||
    return $this;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public function setShowChrome($show_chrome) {
 | 
			
		||||
    $this->showChrome = $show_chrome;
 | 
			
		||||
    return $this;
 | 
			
		||||
@@ -269,26 +249,6 @@ final class PhabricatorStandardPageView extends AphrontPageView {
 | 
			
		||||
  protected function getBody() {
 | 
			
		||||
    $console = $this->getConsole();
 | 
			
		||||
 | 
			
		||||
    $tabs = array();
 | 
			
		||||
    foreach ($this->tabs as $name => $tab) {
 | 
			
		||||
      $tab_markup = phutil_render_tag(
 | 
			
		||||
        'a',
 | 
			
		||||
        array(
 | 
			
		||||
          'href'  => idx($tab, 'href'),
 | 
			
		||||
        ),
 | 
			
		||||
        phutil_escape_html(idx($tab, 'name')));
 | 
			
		||||
      $tab_markup = phutil_render_tag(
 | 
			
		||||
        'td',
 | 
			
		||||
        array(
 | 
			
		||||
          'class' => ($name == $this->selectedTab)
 | 
			
		||||
            ? 'phabricator-selected-tab'
 | 
			
		||||
            : null,
 | 
			
		||||
        ),
 | 
			
		||||
        $tab_markup);
 | 
			
		||||
      $tabs[] = $tab_markup;
 | 
			
		||||
    }
 | 
			
		||||
    $tabs = implode('', $tabs);
 | 
			
		||||
 | 
			
		||||
    $login_stuff = null;
 | 
			
		||||
    $request = $this->getRequest();
 | 
			
		||||
    $user = null;
 | 
			
		||||
 
 | 
			
		||||
@@ -202,6 +202,18 @@
 | 
			
		||||
  background-image: url(/rsrc/image/menu/icon_logout_selected.png);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.main-menu-item-icon-help {
 | 
			
		||||
  background-image: url(/rsrc/image/menu/icon_help.png);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.main-menu-item-icon-help:hover {
 | 
			
		||||
  background-image: url(/rsrc/image/menu/icon_help_hover.png);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.main-menu-item-icon-help-selected {
 | 
			
		||||
  background-image: url(/rsrc/image/menu/icon_help_selected.png);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.main-menu-item-icon-profile {
 | 
			
		||||
  background-repeat: no-repeat;
 | 
			
		||||
  background-size: 26px 26px;
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 463 B After Width: | Height: | Size: 1.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								webroot/rsrc/image/menu/icon_help.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								webroot/rsrc/image/menu/icon_help.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								webroot/rsrc/image/menu/icon_help_hover.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								webroot/rsrc/image/menu/icon_help_hover.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.2 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								webroot/rsrc/image/menu/icon_help_selected.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								webroot/rsrc/image/menu/icon_help_selected.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.6 KiB  | 
		Reference in New Issue
	
	Block a user