diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -7,7 +7,7 @@ */ return array( 'names' => array( - 'core.pkg.css' => '7d178771', + 'core.pkg.css' => 'ffbade6c', 'core.pkg.js' => '2b8af4e4', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '3fb7f532', @@ -36,10 +36,11 @@ 'rsrc/css/application/base/notification-menu.css' => 'b3ab500d', 'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601', 'rsrc/css/application/base/phui-theme.css' => '027ba77e', - 'rsrc/css/application/base/standard-page-view.css' => '99a7d403', + 'rsrc/css/application/base/standard-page-view.css' => '2b592894', 'rsrc/css/application/chatlog/chatlog.css' => 'd295b020', 'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', 'rsrc/css/application/config/config-options.css' => '0ede4c9b', + 'rsrc/css/application/config/config-page.css' => '8798e14f', 'rsrc/css/application/config/config-template.css' => '8e6c6fcd', 'rsrc/css/application/config/config-welcome.css' => '035aa483', 'rsrc/css/application/config/setup-issue.css' => 'f794cfc3', @@ -112,7 +113,7 @@ 'rsrc/css/font/font-aleo.css' => '8bdb2835', 'rsrc/css/font/font-awesome.css' => '2b7ebbcc', 'rsrc/css/font/font-lato.css' => 'c7ccd872', - 'rsrc/css/font/phui-font-icon-base.css' => '4e8274c4', + 'rsrc/css/font/phui-font-icon-base.css' => '870a7360', 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', 'rsrc/css/layout/phabricator-source-code-view.css' => 'cbeef983', 'rsrc/css/phui/calendar/phui-calendar-day.css' => '572b1893', @@ -147,7 +148,7 @@ 'rsrc/css/phui/phui-info-view.css' => '28efab79', 'rsrc/css/phui/phui-list.css' => '9da2aa00', 'rsrc/css/phui/phui-object-box.css' => '6b487c57', - 'rsrc/css/phui/phui-object-item-list-view.css' => '985e9d54', + 'rsrc/css/phui/phui-object-item-list-view.css' => '987db9bf', 'rsrc/css/phui/phui-pager.css' => 'bea33d23', 'rsrc/css/phui/phui-pinboard-view.css' => '2495140e', 'rsrc/css/phui/phui-profile-menu.css' => '8a3fc181', @@ -547,6 +548,7 @@ 'changeset-view-manager' => 'a2828756', 'conduit-api-css' => '7bc725c4', 'config-options-css' => '0ede4c9b', + 'config-page-css' => '8798e14f', 'config-welcome-css' => '035aa483', 'conpherence-durable-column-view' => '86396117', 'conpherence-menu-css' => '90bdf85c', @@ -797,7 +799,7 @@ 'phabricator-shaped-request' => '7cbe244b', 'phabricator-slowvote-css' => 'a94b7230', 'phabricator-source-code-view-css' => 'cbeef983', - 'phabricator-standard-page-view' => '99a7d403', + 'phabricator-standard-page-view' => '2b592894', 'phabricator-textareautils' => '320810c8', 'phabricator-title' => 'df5e11d2', 'phabricator-tooltip' => '6323f942', @@ -840,7 +842,7 @@ 'phui-document-view-css' => 'c32e8dec', 'phui-document-view-pro-css' => 'dc3d46ed', 'phui-feed-story-css' => 'aa49845d', - 'phui-font-icon-base-css' => '4e8274c4', + 'phui-font-icon-base-css' => '870a7360', 'phui-fontkit-css' => '9cda225e', 'phui-form-css' => 'aac1d51d', 'phui-form-view-css' => '76b4a46c', @@ -856,7 +858,7 @@ 'phui-inline-comment-view-css' => '5953c28e', 'phui-list-view-css' => '9da2aa00', 'phui-object-box-css' => '6b487c57', - 'phui-object-item-list-view-css' => '985e9d54', + 'phui-object-item-list-view-css' => '987db9bf', 'phui-pager-css' => 'bea33d23', 'phui-pinboard-view-css' => '2495140e', 'phui-profile-menu-css' => '8a3fc181', diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -2149,6 +2149,7 @@ 'PhabricatorConfigCollectorsModule' => 'applications/config/module/PhabricatorConfigCollectorsModule.php', 'PhabricatorConfigColumnSchema' => 'applications/config/schema/PhabricatorConfigColumnSchema.php', 'PhabricatorConfigConfigPHIDType' => 'applications/config/phid/PhabricatorConfigConfigPHIDType.php', + 'PhabricatorConfigConstants' => 'applications/config/constants/PhabricatorConfigConstants.php', 'PhabricatorConfigController' => 'applications/config/controller/PhabricatorConfigController.php', 'PhabricatorConfigCoreSchemaSpec' => 'applications/config/schema/PhabricatorConfigCoreSchemaSpec.php', 'PhabricatorConfigDatabaseController' => 'applications/config/controller/PhabricatorConfigDatabaseController.php', @@ -2165,6 +2166,7 @@ 'PhabricatorConfigEntryDAO' => 'applications/config/storage/PhabricatorConfigEntryDAO.php', 'PhabricatorConfigEntryQuery' => 'applications/config/query/PhabricatorConfigEntryQuery.php', 'PhabricatorConfigFileSource' => 'infrastructure/env/PhabricatorConfigFileSource.php', + 'PhabricatorConfigGroupConstants' => 'applications/config/constants/PhabricatorConfigGroupConstants.php', 'PhabricatorConfigGroupController' => 'applications/config/controller/PhabricatorConfigGroupController.php', 'PhabricatorConfigHTTPParameterTypesModule' => 'applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php', 'PhabricatorConfigHistoryController' => 'applications/config/controller/PhabricatorConfigHistoryController.php', @@ -2188,6 +2190,7 @@ 'PhabricatorConfigOption' => 'applications/config/option/PhabricatorConfigOption.php', 'PhabricatorConfigOptionType' => 'applications/config/custom/PhabricatorConfigOptionType.php', 'PhabricatorConfigPHIDModule' => 'applications/config/module/PhabricatorConfigPHIDModule.php', + 'PhabricatorConfigPageView' => 'applications/config/view/PhabricatorConfigPageView.php', 'PhabricatorConfigProxySource' => 'infrastructure/env/PhabricatorConfigProxySource.php', 'PhabricatorConfigPurgeCacheController' => 'applications/config/controller/PhabricatorConfigPurgeCacheController.php', 'PhabricatorConfigRequestExceptionHandlerModule' => 'applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php', @@ -2649,7 +2652,6 @@ 'PhabricatorHandleRemarkupRule' => 'applications/phid/remarkup/PhabricatorHandleRemarkupRule.php', 'PhabricatorHandlesEditField' => 'applications/transactions/editfield/PhabricatorHandlesEditField.php', 'PhabricatorHarbormasterApplication' => 'applications/harbormaster/application/PhabricatorHarbormasterApplication.php', - 'PhabricatorHarbormasterConfigOptions' => 'applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php', 'PhabricatorHash' => 'infrastructure/util/PhabricatorHash.php', 'PhabricatorHashTestCase' => 'infrastructure/util/__tests__/PhabricatorHashTestCase.php', 'PhabricatorHelpApplication' => 'applications/help/application/PhabricatorHelpApplication.php', @@ -3158,7 +3160,6 @@ 'PhabricatorPhortuneManagementWorkflow' => 'applications/phortune/management/PhabricatorPhortuneManagementWorkflow.php', 'PhabricatorPhragmentApplication' => 'applications/phragment/application/PhabricatorPhragmentApplication.php', 'PhabricatorPhrequentApplication' => 'applications/phrequent/application/PhabricatorPhrequentApplication.php', - 'PhabricatorPhrequentConfigOptions' => 'applications/phrequent/config/PhabricatorPhrequentConfigOptions.php', 'PhabricatorPhrictionApplication' => 'applications/phriction/application/PhabricatorPhrictionApplication.php', 'PhabricatorPhrictionConfigOptions' => 'applications/phriction/config/PhabricatorPhrictionConfigOptions.php', 'PhabricatorPhurlApplication' => 'applications/phurl/application/PhabricatorPhurlApplication.php', @@ -6891,6 +6892,7 @@ 'PhabricatorConfigCollectorsModule' => 'PhabricatorConfigModule', 'PhabricatorConfigColumnSchema' => 'PhabricatorConfigStorageSchema', 'PhabricatorConfigConfigPHIDType' => 'PhabricatorPHIDType', + 'PhabricatorConfigConstants' => 'Phobject', 'PhabricatorConfigController' => 'PhabricatorController', 'PhabricatorConfigCoreSchemaSpec' => 'PhabricatorConfigSchemaSpec', 'PhabricatorConfigDatabaseController' => 'PhabricatorConfigController', @@ -6911,6 +6913,7 @@ 'PhabricatorConfigEntryDAO' => 'PhabricatorLiskDAO', 'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorConfigFileSource' => 'PhabricatorConfigProxySource', + 'PhabricatorConfigGroupConstants' => 'PhabricatorConfigConstants', 'PhabricatorConfigGroupController' => 'PhabricatorConfigController', 'PhabricatorConfigHTTPParameterTypesModule' => 'PhabricatorConfigModule', 'PhabricatorConfigHistoryController' => 'PhabricatorConfigController', @@ -6937,6 +6940,7 @@ ), 'PhabricatorConfigOptionType' => 'Phobject', 'PhabricatorConfigPHIDModule' => 'PhabricatorConfigModule', + 'PhabricatorConfigPageView' => 'AphrontTagView', 'PhabricatorConfigProxySource' => 'PhabricatorConfigSource', 'PhabricatorConfigPurgeCacheController' => 'PhabricatorConfigController', 'PhabricatorConfigRequestExceptionHandlerModule' => 'PhabricatorConfigModule', @@ -7467,7 +7471,6 @@ 'PhabricatorHandleRemarkupRule' => 'PhutilRemarkupRule', 'PhabricatorHandlesEditField' => 'PhabricatorPHIDListEditField', 'PhabricatorHarbormasterApplication' => 'PhabricatorApplication', - 'PhabricatorHarbormasterConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorHash' => 'Phobject', 'PhabricatorHashTestCase' => 'PhabricatorTestCase', 'PhabricatorHelpApplication' => 'PhabricatorApplication', @@ -8050,7 +8053,6 @@ 'PhabricatorPhortuneManagementWorkflow' => 'PhabricatorManagementWorkflow', 'PhabricatorPhragmentApplication' => 'PhabricatorApplication', 'PhabricatorPhrequentApplication' => 'PhabricatorApplication', - 'PhabricatorPhrequentConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorPhrictionApplication' => 'PhabricatorApplication', 'PhabricatorPhrictionConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorPhurlApplication' => 'PhabricatorApplication', diff --git a/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php b/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php --- a/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php +++ b/src/applications/auth/engine/PhabricatorAuthSessionEngineExtensionModule.php @@ -25,7 +25,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setNoDataString( pht('There are no registered session engine extensions.')) ->setHeaders( @@ -41,10 +41,6 @@ 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('SessionEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php b/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php --- a/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php +++ b/src/applications/auth/tokentype/PhabricatorAuthTemporaryTokenTypeModule.php @@ -8,7 +8,7 @@ } public function getModuleName() { - return pht('Temporary Tokens'); + return pht('Temporary Token Types'); } public function renderModuleStatus(AphrontRequest $request) { @@ -25,7 +25,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -39,10 +39,6 @@ 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Temporary Token Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/check/PhabricatorCacheSetupCheck.php b/src/applications/config/check/PhabricatorCacheSetupCheck.php --- a/src/applications/config/check/PhabricatorCacheSetupCheck.php +++ b/src/applications/config/check/PhabricatorCacheSetupCheck.php @@ -3,7 +3,7 @@ final class PhabricatorCacheSetupCheck extends PhabricatorSetupCheck { public function getDefaultGroup() { - return self::GROUP_OTHER; + return self::GROUP_PHP; } protected function executeChecks() { diff --git a/src/applications/config/check/PhabricatorMySQLSetupCheck.php b/src/applications/config/check/PhabricatorMySQLSetupCheck.php --- a/src/applications/config/check/PhabricatorMySQLSetupCheck.php +++ b/src/applications/config/check/PhabricatorMySQLSetupCheck.php @@ -34,11 +34,9 @@ if ($max_allowed_packet < $recommended_minimum) { $message = pht( "MySQL is configured with a small '%s' (%d), ". - "which may cause some large writes to fail. Strongly consider raising ". - "this to at least %d in your MySQL configuration.", + "which may cause some large writes to fail.", 'max_allowed_packet', - $max_allowed_packet, - $recommended_minimum); + $max_allowed_packet); $this->newIssue('mysql.max_allowed_packet') ->setName(pht('Small MySQL "%s"', 'max_allowed_packet')) diff --git a/src/applications/config/constants/PhabricatorConfigConstants.php b/src/applications/config/constants/PhabricatorConfigConstants.php new file mode 100644 --- /dev/null +++ b/src/applications/config/constants/PhabricatorConfigConstants.php @@ -0,0 +1,3 @@ + pht('Core Settings'), + self::GROUP_APPLICATION => pht('Application Settings'), + self::GROUP_DEVELOPER => pht('Developer Settings'), + ); + return idx($map, $group, pht('Unknown')); + } + + public static function getGroupShortName($group) { + $map = array( + self::GROUP_CORE => pht('Core'), + self::GROUP_APPLICATION => pht('Application'), + self::GROUP_DEVELOPER => pht('Developer'), + ); + return idx($map, $group, pht('Unknown')); + } + + public static function getGroupURI($group) { + $map = array( + self::GROUP_CORE => '/', + self::GROUP_APPLICATION => pht('application/'), + self::GROUP_DEVELOPER => pht('developer/'), + ); + return idx($map, $group, '#'); + } + +} diff --git a/src/applications/config/controller/PhabricatorConfigAllController.php b/src/applications/config/controller/PhabricatorConfigAllController.php --- a/src/applications/config/controller/PhabricatorConfigAllController.php +++ b/src/applications/config/controller/PhabricatorConfigAllController.php @@ -52,27 +52,26 @@ $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb($title); + ->addTextCrumb($title) + ->setBorder(true); - $panel = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Current Settings')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $nav = $this->buildSideNavView(); $nav->selectFilter('all/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $panel, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($table); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } diff --git a/src/applications/config/controller/PhabricatorConfigApplicationController.php b/src/applications/config/controller/PhabricatorConfigApplicationController.php --- a/src/applications/config/controller/PhabricatorConfigApplicationController.php +++ b/src/applications/config/controller/PhabricatorConfigApplicationController.php @@ -12,42 +12,45 @@ $groups = PhabricatorApplicationConfigOptions::loadAll(); $apps_list = $this->buildConfigOptionsList($groups, 'apps'); - $title = pht('Application Configuration'); + $title = pht('Application Settings'); - $apps = id(new PHUIObjectBoxView()) - ->setHeaderText($title) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($apps_list); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb(pht('Applications')); + ->addTextCrumb(pht('Applications')) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $apps, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($apps_list); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildConfigOptionsList(array $groups, $type) { assert_instances_of($groups, 'PhabricatorApplicationConfigOptions'); $list = new PHUIObjectItemListView(); + $list->setBig(true); $groups = msort($groups, 'getName'); foreach ($groups as $group) { if ($group->getGroup() == $type) { + $icon = id(new PHUIIconView()) + ->setIcon($group->getIcon()) + ->setBackground('bg-violet'); $item = id(new PHUIObjectItemView()) ->setHeader($group->getName()) ->setHref('/config/group/'.$group->getKey().'/') ->addAttribute($group->getDescription()) - ->setImageIcon($group->getIcon()); + ->setImageIcon($icon); $list->addItem($item); } } diff --git a/src/applications/config/controller/PhabricatorConfigCacheController.php b/src/applications/config/controller/PhabricatorConfigCacheController.php --- a/src/applications/config/controller/PhabricatorConfigCacheController.php +++ b/src/applications/config/controller/PhabricatorConfigCacheController.php @@ -11,24 +11,33 @@ $title = pht('Cache Status'); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Cache Status')); + ->addTextCrumb(pht('Cache Status')) + ->setBorder(true); $code_box = $this->renderCodeBox(); $data_box = $this->renderDataBox(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $code_box, - $data_box, - )); + $page = array( + $code_box, + $data_box, + ); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($page); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function renderCodeBox() { diff --git a/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php b/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php --- a/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php +++ b/src/applications/config/controller/PhabricatorConfigClusterDatabasesController.php @@ -7,22 +7,36 @@ $nav = $this->buildSideNavView(); $nav->selectFilter('cluster/databases/'); - $title = pht('Database Servers'); + $title = pht('Cluster Database Status'); + $doc_href = PhabricatorEnv::getDoclink('Cluster: Databases'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setIcon('fa-book') + ->setHref($doc_href) + ->setTag('a') + ->setText(pht('Documentation'))); $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Database Servers')); + ->addTextCrumb($title) + ->setBorder(true); $database_status = $this->buildClusterDatabaseStatus(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn($database_status); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($database_status); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildClusterDatabaseStatus() { @@ -194,21 +208,7 @@ 'wide', )); - $doc_href = PhabricatorEnv::getDoclink('Cluster: Databases'); - - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Cluster Database Status')) - ->addActionLink( - id(new PHUIButtonView()) - ->setIcon('fa-book') - ->setHref($doc_href) - ->setTag('a') - ->setText(pht('Documentation'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + return $table; } } diff --git a/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php b/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php --- a/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php +++ b/src/applications/config/controller/PhabricatorConfigClusterNotificationsController.php @@ -8,21 +8,35 @@ $nav->selectFilter('cluster/notifications/'); $title = pht('Cluster Notifications'); + $doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setIcon('fa-book') + ->setHref($doc_href) + ->setTag('a') + ->setText(pht('Documentation'))); $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Cluster Notifications')); + ->addTextCrumb($title) + ->setBorder(true); $notification_status = $this->buildClusterNotificationStatus(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn($notification_status); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($notification_status); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildClusterNotificationStatus() { @@ -144,21 +158,7 @@ 'wide', )); - $doc_href = PhabricatorEnv::getDoclink('Cluster: Notifications'); - - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Cluster Notification Status')) - ->addActionLink( - id(new PHUIButtonView()) - ->setIcon('fa-book') - ->setHref($doc_href) - ->setTag('a') - ->setText(pht('Documentation'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + return $table; } } diff --git a/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php b/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php --- a/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php +++ b/src/applications/config/controller/PhabricatorConfigClusterRepositoriesController.php @@ -7,22 +7,37 @@ $nav = $this->buildSideNavView(); $nav->selectFilter('cluster/repositories/'); - $title = pht('Repository Servers'); + $title = pht('Cluster Repository Status'); + + $doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setIcon('fa-book') + ->setHref($doc_href) + ->setTag('a') + ->setText(pht('Documentation'))); $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Repository Servers')); + ->addTextCrumb(pht('Repository Servers')) + ->setBorder(true); $repository_status = $this->buildClusterRepositoryStatus(); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn($repository_status); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($repository_status); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildClusterRepositoryStatus() { @@ -217,8 +232,7 @@ ); } - - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setNoDataString( pht('No repository cluster services are configured.')) ->setHeaders( @@ -239,22 +253,6 @@ null, 'wide', )); - - $doc_href = PhabricatorEnv::getDoclink('Cluster: Repositories'); - - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Cluster Repository Status')) - ->addActionLink( - id(new PHUIButtonView()) - ->setIcon('fa-book') - ->setHref($doc_href) - ->setTag('a') - ->setText(pht('Documentation'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } private function getDevices( diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseController.php b/src/applications/config/controller/PhabricatorConfigDatabaseController.php --- a/src/applications/config/controller/PhabricatorConfigDatabaseController.php +++ b/src/applications/config/controller/PhabricatorConfigDatabaseController.php @@ -60,18 +60,4 @@ } } - protected function buildHeaderWithDocumentationLink($title) { - - $doc_link = PhabricatorEnv::getDoclink('Managing Storage Adjustments'); - - return id(new PHUIHeaderView()) - ->setHeader($title) - ->addActionLink( - id(new PHUIButtonView()) - ->setTag('a') - ->setIcon('fa-book') - ->setHref($doc_link) - ->setText(pht('Learn More'))); - } - } diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php b/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php --- a/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php +++ b/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php @@ -14,6 +14,7 @@ $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb(pht('Database Issues')); + $crumbs->setBorder(true); // Collect all open issues. $issues = array(); @@ -111,6 +112,8 @@ } $table = id(new AphrontTableView($rows)) + ->setNoDataString( + pht('No databases have any issues.')) ->setHeaders( array( null, @@ -146,25 +149,23 @@ $title = pht('Database Issues'); - $table_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setFormErrors($errors) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $nav = $this->buildSideNavView(); $nav->selectFilter('dbissue/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $table_box, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($table); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } } diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php b/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php --- a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php +++ b/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php @@ -62,7 +62,12 @@ $nav = $this->buildSideNavView(); $nav->selectFilter('database/'); + if (!$title) { + $title = pht('Database Status'); + } + $crumbs = $this->buildApplicationCrumbs(); + $crumbs->setBorder(true); if ($this->database) { $crumbs->addTextCrumb( pht('Database Status'), @@ -91,16 +96,28 @@ $crumbs->addTextCrumb(pht('Database Status')); } - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $body, - )); + $doc_link = PhabricatorEnv::getDoclink('Managing Storage Adjustments'); + + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true) + ->addActionLink( + id(new PHUIButtonView()) + ->setTag('a') + ->setIcon('fa-book') + ->setHref($doc_link) + ->setText(pht('Learn More'))); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($body); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } @@ -163,17 +180,7 @@ ), $comp->getIssues()); - $prop_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - $table_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Databases')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); - - return $this->buildResponse($title, array($prop_box, $table_box)); + return $this->buildResponse($title, array($properties, $table)); } private function renderDatabase( @@ -263,17 +270,7 @@ ), $database->getIssues()); - $prop_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - $table_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Database Status')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); - - return $this->buildResponse($title, array($prop_box, $table_box)); + return $this->buildResponse($title, array($properties, $table)); } private function renderTable( @@ -478,22 +475,8 @@ ), $table->getIssues()); - $prop_box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - $table_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Database')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table_view); - - $key_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Keys')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($keys_view); - - return $this->buildResponse($title, array($prop_box, $table_box, $key_box)); + return $this->buildResponse( + $title, array($properties, $table_view, $keys_view)); } private function renderColumn( @@ -625,12 +608,7 @@ ), $column->getIssues()); - $box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - return $this->buildResponse($title, $box); + return $this->buildResponse($title, $properties); } private function renderKey( @@ -719,12 +697,7 @@ ), $key->getIssues()); - $box = id(new PHUIObjectBoxView()) - ->setHeader($this->buildHeaderWithDocumentationLink($title)) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($properties); - - return $this->buildResponse($title, $box); + return $this->buildResponse($title, $properties); } private function buildProperties(array $properties, array $issues) { @@ -769,7 +742,7 @@ } $view->addProperty(pht('Schema Status'), $status_view); - return $view; + return phutil_tag_div('config-page-property', $view); } } diff --git a/src/applications/config/controller/PhabricatorConfigGroupController.php b/src/applications/config/controller/PhabricatorConfigGroupController.php --- a/src/applications/config/controller/PhabricatorConfigGroupController.php +++ b/src/applications/config/controller/PhabricatorConfigGroupController.php @@ -13,31 +13,37 @@ return new Aphront404Response(); } + $group_uri = PhabricatorConfigGroupConstants::getGroupURI( + $options->getGroup()); + $group_name = PhabricatorConfigGroupConstants::getGroupShortName( + $options->getGroup()); + + $nav = $this->buildSideNavView(); + $nav->selectFilter($group_uri); + $title = pht('%s Configuration', $options->getName()); $list = $this->buildOptionList($options->getOptions()); - $box = id(new PHUIObjectBoxView()) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($list); - $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Config'), $this->getApplicationURI()) - ->addTextCrumb($options->getName(), $this->getApplicationURI()) + ->addTextCrumb($group_name, $this->getApplicationURI($group_uri)) + ->addTextCrumb($options->getName()) ->setBorder(true); $header = id(new PHUIHeaderView()) ->setHeader($title) - ->setHeaderIcon('fa-sliders'); + ->setProfileHeader(true); - $view = id(new PHUITwoColumnView()) + $content = id(new PhabricatorConfigPageView()) ->setHeader($header) - ->setFooter($box); + ->setContent($list); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildOptionList(array $options) { @@ -62,6 +68,7 @@ $engine->process(); $list = new PHUIObjectItemListView(); + $list->setBig(true); foreach ($options as $option) { $summary = $engine->getOutput($option, 'summary'); @@ -89,13 +96,13 @@ $db_value = idx($db_values, $option->getKey()); if ($db_value && !$db_value->getIsDeleted()) { - $item->addIcon('edit', pht('Customized')); + $item->addIcon('fa-edit', pht('Customized')); } if ($option->getHidden()) { - $item->addIcon('unpublish', pht('Hidden')); + $item->addIcon('fa-eye-slash', pht('Hidden')); } else if ($option->getLocked()) { - $item->addIcon('lock', pht('Locked')); + $item->addIcon('fa-lock', pht('Locked')); } $list->addItem($item); diff --git a/src/applications/config/controller/PhabricatorConfigHistoryController.php b/src/applications/config/controller/PhabricatorConfigHistoryController.php --- a/src/applications/config/controller/PhabricatorConfigHistoryController.php +++ b/src/applications/config/controller/PhabricatorConfigHistoryController.php @@ -31,22 +31,26 @@ $title = pht('Settings History'); $crumbs = $this->buildApplicationCrumbs(); - $crumbs->addTextCrumb('Configuration', $this->getApplicationURI()); - $crumbs->addTextCrumb($title, '/config/history/'); + $crumbs->addTextCrumb($title); + $crumbs->setBorder(true); $nav = $this->buildSideNavView(); $nav->selectFilter('history/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $timeline, - )); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($timeline); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } } diff --git a/src/applications/config/controller/PhabricatorConfigIssueListController.php b/src/applications/config/controller/PhabricatorConfigIssueListController.php --- a/src/applications/config/controller/PhabricatorConfigIssueListController.php +++ b/src/applications/config/controller/PhabricatorConfigIssueListController.php @@ -15,45 +15,25 @@ $update_database = true); $important = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_IMPORTANT); + $issues, + PhabricatorSetupCheck::GROUP_IMPORTANT, + 'fa-warning'); $php = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_PHP); + $issues, + PhabricatorSetupCheck::GROUP_PHP, + 'fa-code'); $mysql = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_MYSQL); + $issues, + PhabricatorSetupCheck::GROUP_MYSQL, + 'fa-database'); $other = $this->buildIssueList( - $issues, PhabricatorSetupCheck::GROUP_OTHER); - - $setup_issues = array(); - if ($important) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Important Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($important); - } - - if ($php) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('PHP Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($php); - } + $issues, + PhabricatorSetupCheck::GROUP_OTHER, + 'fa-question-circle'); - if ($mysql) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('MySQL Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($mysql); - } - - if ($other) { - $setup_issues[] = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Other Setup Issues')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($other); - } - - if (empty($setup_issues)) { - $setup_issues[] = id(new PHUIInfoView()) + $no_issues = null; + if (empty($issues)) { + $no_issues = id(new PHUIInfoView()) ->setTitle(pht('No Issues')) ->appendChild( pht('Your install has no current setup issues to resolve.')) @@ -62,25 +42,39 @@ $title = pht('Setup Issues'); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + $crumbs = $this ->buildApplicationCrumbs($nav) - ->addTextCrumb(pht('Setup'), $this->getApplicationURI('issue/')); + ->addTextCrumb(pht('Setup Issues')) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $setup_issues, - )); + $page = array( + $no_issues, + $important, + $php, + $mysql, + $other, + ); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($page); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } - private function buildIssueList(array $issues, $group) { + private function buildIssueList(array $issues, $group, $fonticon) { assert_instances_of($issues, 'PhabricatorSetupIssue'); $list = new PHUIObjectItemListView(); + $list->setBig(true); $ignored_items = array(); $items = 0; @@ -93,12 +87,17 @@ ->setHref($href) ->addAttribute($issue->getSummary()); if (!$issue->getIsIgnored()) { - $item->setStatusIcon('fa-warning yellow'); + $icon = id(new PHUIIconView()) + ->setIcon($fonticon) + ->setBackground('bg-sky'); + $item->setImageIcon($icon); $list->addItem($item); } else { - $item->addIcon('fa-eye-slash', pht('Ignored')); + $icon = id(new PHUIIconView()) + ->setIcon('fa-eye-slash') + ->setBackground('bg-grey'); $item->setDisabled(true); - $item->setStatusIcon('fa-warning grey'); + $item->setImageIcon($icon); $ignored_items[] = $item; } } diff --git a/src/applications/config/controller/PhabricatorConfigIssueViewController.php b/src/applications/config/controller/PhabricatorConfigIssueViewController.php --- a/src/applications/config/controller/PhabricatorConfigIssueViewController.php +++ b/src/applications/config/controller/PhabricatorConfigIssueViewController.php @@ -12,6 +12,9 @@ PhabricatorSetupCheck::getUnignoredIssueKeys($issues), $update_database = true); + $nav = $this->buildSideNavView(); + $nav->selectFilter('issue/'); + if (empty($issues[$issue_key])) { $content = id(new PHUIInfoView()) ->setSeverity(PHUIInfoView::SEVERITY_NOTICE) @@ -35,12 +38,15 @@ ->buildApplicationCrumbs() ->setBorder(true) ->addTextCrumb(pht('Setup Issues'), $this->getApplicationURI('issue/')) - ->addTextCrumb($title, $request->getRequestURI()); + ->addTextCrumb($title, $request->getRequestURI()) + ->setBorder(true); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($content); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function renderIssue(PhabricatorSetupIssue $issue) { diff --git a/src/applications/config/controller/PhabricatorConfigListController.php b/src/applications/config/controller/PhabricatorConfigListController.php --- a/src/applications/config/controller/PhabricatorConfigListController.php +++ b/src/applications/config/controller/PhabricatorConfigListController.php @@ -12,42 +12,45 @@ $groups = PhabricatorApplicationConfigOptions::loadAll(); $core_list = $this->buildConfigOptionsList($groups, 'core'); - $title = pht('Core Configuration'); + $title = pht('Core Settings'); - $core = id(new PHUIObjectBoxView()) - ->setHeaderText($title) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setObjectList($core_list); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb($title); + ->addTextCrumb(pht('Core')) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $core, - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($core_list); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } private function buildConfigOptionsList(array $groups, $type) { assert_instances_of($groups, 'PhabricatorApplicationConfigOptions'); $list = new PHUIObjectItemListView(); + $list->setBig(true); $groups = msort($groups, 'getName'); foreach ($groups as $group) { if ($group->getGroup() == $type) { + $icon = id(new PHUIIconView()) + ->setIcon($group->getIcon()) + ->setBackground('bg-blue'); $item = id(new PHUIObjectItemView()) ->setHeader($group->getName()) ->setHref('/config/group/'.$group->getKey().'/') ->addAttribute($group->getDescription()) - ->setImageIcon($group->getIcon()); + ->setImageIcon($icon); $list->addItem($item); } } diff --git a/src/applications/config/controller/PhabricatorConfigModuleController.php b/src/applications/config/controller/PhabricatorConfigModuleController.php --- a/src/applications/config/controller/PhabricatorConfigModuleController.php +++ b/src/applications/config/controller/PhabricatorConfigModuleController.php @@ -18,20 +18,25 @@ $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb($title); + $crumbs->setBorder(true); $nav = $this->buildSideNavView(); $nav->selectFilter('module/'.$key.'/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $content, - )); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($content); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } } diff --git a/src/applications/config/controller/PhabricatorConfigVersionController.php b/src/applications/config/controller/PhabricatorConfigVersionController.php --- a/src/applications/config/controller/PhabricatorConfigVersionController.php +++ b/src/applications/config/controller/PhabricatorConfigVersionController.php @@ -10,24 +10,28 @@ $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb(pht('Configuration'), $this->getApplicationURI()) - ->addTextCrumb($title); + ->addTextCrumb($title) + ->setBorder(true); $versions = $this->renderModuleStatus($viewer); $nav = $this->buildSideNavView(); $nav->selectFilter('version/'); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $versions, - )); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($versions); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } @@ -39,11 +43,6 @@ $version_property_list->addProperty($name, $version); } - $object_box = id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Version Information')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->addPropertyList($version_property_list); - $phabricator_root = dirname(phutil_get_library_root('phabricator')); $version_path = $phabricator_root.'/conf/local/VERSION'; if (Filesystem::pathExists($version_path)) { @@ -53,7 +52,7 @@ $version_from_file); } - return $object_box; + return $version_property_list; } private function loadVersions(PhabricatorUser $viewer) { diff --git a/src/applications/config/controller/PhabricatorConfigWelcomeController.php b/src/applications/config/controller/PhabricatorConfigWelcomeController.php --- a/src/applications/config/controller/PhabricatorConfigWelcomeController.php +++ b/src/applications/config/controller/PhabricatorConfigWelcomeController.php @@ -11,20 +11,25 @@ $title = pht('Installation Guide'); + $header = id(new PHUIHeaderView()) + ->setHeader($title) + ->setProfileHeader(true); + $crumbs = $this ->buildApplicationCrumbs() - ->addTextCrumb($title); + ->addTextCrumb($title) + ->setBorder(true); - $view = id(new PHUITwoColumnView()) - ->setNavigation($nav) - ->setMainColumn(array( - $this->buildWelcomeScreen($request), - )); + $content = id(new PhabricatorConfigPageView()) + ->setHeader($header) + ->setContent($this->buildWelcomeScreen($request)); return $this->newPage() ->setTitle($title) ->setCrumbs($crumbs) - ->appendChild($view); + ->setNavigation($nav) + ->appendChild($content) + ->addClass('white-background'); } public function buildWelcomeScreen(AphrontRequest $request) { @@ -346,9 +351,6 @@ $diffusion_user_guide, $diffusion_setup_guide)); - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Welcome to Phabricator')); - $setup_header = new PHUIRemarkupView( $viewer, pht('=Setup and Configuration')); @@ -359,7 +361,6 @@ $viewer, pht('=Quick Start Guide')); $document = id(new PHUIDocumentViewPro()) - ->setHeader($header) ->setFluid(true) ->appendChild($setup_header) ->appendChild($setup) @@ -369,9 +370,7 @@ ->appendChild($quick); return id(new PHUIBoxView()) - ->setBorder(true) - ->appendChild($document) - ->addClass('mlb'); + ->appendChild($document); } private function newItem(AphrontRequest $request, $icon, $content) { diff --git a/src/applications/config/module/PhabricatorConfigCollectorsModule.php b/src/applications/config/module/PhabricatorConfigCollectorsModule.php --- a/src/applications/config/module/PhabricatorConfigCollectorsModule.php +++ b/src/applications/config/module/PhabricatorConfigCollectorsModule.php @@ -48,7 +48,15 @@ ); } + $info = id(new PHUIInfoView()) + ->setSeverity(PHUIInfoView::SEVERITY_NOTICE) + ->appendChild(pht( + 'Collectors with custom policies are highlighted. Use '. + '%s to change retention policies.', + phutil_tag('tt', array(), 'bin/garbage set-policy'))); + $table = id(new AphrontTableView($rows)) + ->setNotice($info) ->setRowClasses($rowc) ->setHeaders( array( @@ -63,18 +71,7 @@ null, )); - $header = id(new PHUIHeaderView()) - ->setHeader(pht('Garbage Collectors')) - ->setSubheader( - pht( - 'Collectors with custom policies are highlighted. Use '. - '%s to change retention policies.', - phutil_tag('tt', array(), 'bin/garbage set-policy'))); - - return id(new PHUIObjectBoxView()) - ->setHeader($header) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); + return $table; } } diff --git a/src/applications/config/module/PhabricatorConfigEdgeModule.php b/src/applications/config/module/PhabricatorConfigEdgeModule.php --- a/src/applications/config/module/PhabricatorConfigEdgeModule.php +++ b/src/applications/config/module/PhabricatorConfigEdgeModule.php @@ -25,7 +25,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Constant'), @@ -38,11 +38,6 @@ null, 'pri wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Edge Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php b/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php --- a/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php +++ b/src/applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php @@ -16,13 +16,8 @@ $types = AphrontHTTPParameterType::getAllTypes(); - $table = id(new PhabricatorHTTPParameterTypeTableView()) + return id(new PhabricatorHTTPParameterTypeTableView()) ->setHTTPParameterTypes($types); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('HTTP Parameter Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigPHIDModule.php b/src/applications/config/module/PhabricatorConfigPHIDModule.php --- a/src/applications/config/module/PhabricatorConfigPHIDModule.php +++ b/src/applications/config/module/PhabricatorConfigPHIDModule.php @@ -51,7 +51,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Constant'), @@ -70,11 +70,6 @@ 'icon', 'wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('PHID Types')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php b/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php --- a/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php +++ b/src/applications/config/module/PhabricatorConfigRequestExceptionHandlerModule.php @@ -25,7 +25,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Priority'), @@ -38,11 +38,6 @@ 'pri', 'wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Exception Handlers')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/module/PhabricatorConfigSiteModule.php b/src/applications/config/module/PhabricatorConfigSiteModule.php --- a/src/applications/config/module/PhabricatorConfigSiteModule.php +++ b/src/applications/config/module/PhabricatorConfigSiteModule.php @@ -24,7 +24,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Priority'), @@ -37,11 +37,6 @@ 'pri', 'wide', )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Sites')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/config/view/PhabricatorConfigPageView.php b/src/applications/config/view/PhabricatorConfigPageView.php new file mode 100644 --- /dev/null +++ b/src/applications/config/view/PhabricatorConfigPageView.php @@ -0,0 +1,60 @@ +header = $header; + return $this; + } + + public function setContent($content) { + $this->content = $content; + return $this; + } + + public function setFooter($footer) { + $this->footer = $footer; + return $this; + } + + protected function getTagName() { + return 'div'; + } + + protected function getTagAttributes() { + require_celerity_resource('config-page-css'); + + $classes = array(); + $classes[] = 'config-page'; + + return array( + 'class' => implode(' ', $classes), + ); + } + + protected function getTagContent() { + + $header = null; + if ($this->header) { + $header = phutil_tag_div('config-page-header', $this->header); + } + + $content = null; + if ($this->content) { + $content = phutil_tag_div('config-page-content', $this->content); + } + + $footer = null; + if ($this->footer) { + $footer = phutil_tag_div('config-page-footer', $this->footer); + } + + return array($header, $content, $footer); + + } + +} diff --git a/src/applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php b/src/applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php deleted file mode 100644 --- a/src/applications/harbormaster/config/PhabricatorHarbormasterConfigOptions.php +++ /dev/null @@ -1,26 +0,0 @@ -setHeaders( array( pht('Order'), @@ -46,11 +46,6 @@ 'wide pri', null, )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('HovercardEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php b/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php --- a/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php +++ b/src/applications/search/engineextension/PhabricatorSearchEngineExtensionModule.php @@ -29,7 +29,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Order'), @@ -46,11 +46,6 @@ 'wide pri', null, )); - - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('SearchEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php b/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php --- a/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php +++ b/src/applications/search/index/PhabricatorFulltextEngineExtensionModule.php @@ -24,7 +24,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -36,10 +36,6 @@ 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('FulltextEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php b/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php --- a/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php +++ b/src/applications/search/index/PhabricatorIndexEngineExtensionModule.php @@ -24,7 +24,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -36,10 +36,6 @@ 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('IndexEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php b/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php --- a/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php +++ b/src/applications/system/engine/PhabricatorDestructionEngineExtensionModule.php @@ -24,7 +24,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Class'), @@ -36,10 +36,6 @@ 'wide pri', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('DestructionEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php b/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php --- a/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php +++ b/src/applications/transactions/engineextension/PhabricatorEditEngineExtensionModule.php @@ -28,7 +28,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Priority'), @@ -44,10 +44,6 @@ null, )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('EditEngine Extensions')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/src/infrastructure/contentsource/PhabricatorContentSourceModule.php b/src/infrastructure/contentsource/PhabricatorContentSourceModule.php --- a/src/infrastructure/contentsource/PhabricatorContentSourceModule.php +++ b/src/infrastructure/contentsource/PhabricatorContentSourceModule.php @@ -27,7 +27,7 @@ ); } - $table = id(new AphrontTableView($rows)) + return id(new AphrontTableView($rows)) ->setHeaders( array( pht('Key'), @@ -43,10 +43,6 @@ 'wide', )); - return id(new PHUIObjectBoxView()) - ->setHeaderText(pht('Content Sources')) - ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) - ->setTable($table); } } diff --git a/webroot/rsrc/css/application/base/standard-page-view.css b/webroot/rsrc/css/application/base/standard-page-view.css --- a/webroot/rsrc/css/application/base/standard-page-view.css +++ b/webroot/rsrc/css/application/base/standard-page-view.css @@ -17,6 +17,10 @@ clear: both; } +body.white-background { + background: #fff; +} + .phabricator-standard-page-footer { text-align: right; margin: 44px 16px 16px; diff --git a/webroot/rsrc/css/application/config/config-page.css b/webroot/rsrc/css/application/config/config-page.css new file mode 100644 --- /dev/null +++ b/webroot/rsrc/css/application/config/config-page.css @@ -0,0 +1,59 @@ +/** + * @provides config-page-css + */ + +.config-page-header { + margin: 28px 24px 0; + padding-bottom: 28px; + border-bottom: 1px solid {$thinblueborder}; +} + +.config-page-header .phui-profile-header { + padding: 0; +} + +.config-page-header .phui-profile-header.phui-header-shell .phui-header-header { + font-size: 20px; +} + + +.config-page-content { + margin: 0 24px; +} + +.device-desktop .config-page-content .phui-object-item-list-view { + padding-left: 0; + padding-right: 0; +} + +.device-desktop .config-page-content .phui-document-fluid .phui-document-view { + padding: 16px 0; + margin: 0; +} + +.config-page-content .aphront-table-view { + border: none; +} + +.config-page-property { + padding-top: 4px; + border-bottom: 1px solid {$thinblueborder}; +} + +.config-page-content .aphront-table-notice { + padding: 0; +} + +.config-page-content .aphront-table-notice .phui-info-view { + margin-left: 0; + margin-right: 0; +} + +.config-page-content .aphront-table-wrap + .aphront-table-wrap { + margin-top: 20px; + border-top: 1px solid {$thinblueborder}; +} + +.config-page-content .phui-box.phui-box-blue-property { + margin-top: 16px; +} diff --git a/webroot/rsrc/css/font/phui-font-icon-base.css b/webroot/rsrc/css/font/phui-font-icon-base.css --- a/webroot/rsrc/css/font/phui-font-icon-base.css +++ b/webroot/rsrc/css/font/phui-font-icon-base.css @@ -159,6 +159,9 @@ .phui-icon-view.bg-bluegrey { background-color: {$bluetext}; } +.phui-icon-view.bg-grey { + background-color: {$lightgreytext}; +} .phui-icon-view.bg-red { background-color: {$red}; } diff --git a/webroot/rsrc/css/phui/phui-object-item-list-view.css b/webroot/rsrc/css/phui/phui-object-item-list-view.css --- a/webroot/rsrc/css/phui/phui-object-item-list-view.css +++ b/webroot/rsrc/css/phui/phui-object-item-list-view.css @@ -447,16 +447,16 @@ */ -.phui-object-item-disabled .phui-object-item-link, -.phui-object-item-disabled .phui-object-item-link a { +.phui-object-item.phui-object-item-disabled .phui-object-item-link, +.phui-object-item.phui-object-item-disabled .phui-object-item-link a { color: {$lightgreytext}; } -.phui-object-item-disabled .phui-object-item-frame { +.phui-object-item.phui-object-item-disabled .phui-object-item-frame { border-color: #d7d7d7; } -.phui-object-item-disabled .phui-object-item-objname { +.phui-object-item.phui-object-item-disabled .phui-object-item-objname { color: {$greytext}; text-decoration: line-through; } @@ -771,3 +771,7 @@ .device-desktop .phui-object-list-big .phui-object-item { margin-bottom: 8px; } + +.device-desktop .phui-object-list-big .phui-object-item-frame:hover { + +}