Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15449415
D11726.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
17 KB
Referenced Files
None
Subscribers
None
D11726.id.diff
View Options
diff --git a/src/applications/config/check/PhabricatorAPCSetupCheck.php b/src/applications/config/check/PhabricatorAPCSetupCheck.php
--- a/src/applications/config/check/PhabricatorAPCSetupCheck.php
+++ b/src/applications/config/check/PhabricatorAPCSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorAPCSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
if (!extension_loaded('apc')) {
$message = pht(
diff --git a/src/applications/config/check/PhabricatorAuthSetupCheck.php b/src/applications/config/check/PhabricatorAuthSetupCheck.php
--- a/src/applications/config/check/PhabricatorAuthSetupCheck.php
+++ b/src/applications/config/check/PhabricatorAuthSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorAuthSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_IMPORTANT;
+ }
+
protected function executeChecks() {
// NOTE: We're not actually building these providers. Building providers
// can require additional configuration to be present (e.g., to build
diff --git a/src/applications/config/check/PhabricatorBaseURISetupCheck.php b/src/applications/config/check/PhabricatorBaseURISetupCheck.php
--- a/src/applications/config/check/PhabricatorBaseURISetupCheck.php
+++ b/src/applications/config/check/PhabricatorBaseURISetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorBaseURISetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_IMPORTANT;
+ }
+
protected function executeChecks() {
$base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri');
diff --git a/src/applications/config/check/PhabricatorBinariesSetupCheck.php b/src/applications/config/check/PhabricatorBinariesSetupCheck.php
--- a/src/applications/config/check/PhabricatorBinariesSetupCheck.php
+++ b/src/applications/config/check/PhabricatorBinariesSetupCheck.php
@@ -2,6 +2,9 @@
final class PhabricatorBinariesSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
protected function executeChecks() {
diff --git a/src/applications/config/check/PhabricatorDaemonsSetupCheck.php b/src/applications/config/check/PhabricatorDaemonsSetupCheck.php
--- a/src/applications/config/check/PhabricatorDaemonsSetupCheck.php
+++ b/src/applications/config/check/PhabricatorDaemonsSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorDaemonsSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_IMPORTANT;
+ }
+
protected function executeChecks() {
$task_daemon = id(new PhabricatorDaemonLogQuery())
diff --git a/src/applications/config/check/PhabricatorDatabaseSetupCheck.php b/src/applications/config/check/PhabricatorDatabaseSetupCheck.php
--- a/src/applications/config/check/PhabricatorDatabaseSetupCheck.php
+++ b/src/applications/config/check/PhabricatorDatabaseSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorDatabaseSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_IMPORTANT;
+ }
+
public function getExecutionOrder() {
// This must run after basic PHP checks, but before most other checks.
return 0.5;
diff --git a/src/applications/config/check/PhabricatorElasticSetupCheck.php b/src/applications/config/check/PhabricatorElasticSetupCheck.php
--- a/src/applications/config/check/PhabricatorElasticSetupCheck.php
+++ b/src/applications/config/check/PhabricatorElasticSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorElasticSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
if (PhabricatorDefaultSearchEngineSelector::shouldUseElasticSearch()) {
$engine = PhabricatorSearchEngineSelector::newSelector()->newEngine();
diff --git a/src/applications/config/check/PhabricatorExtensionsSetupCheck.php b/src/applications/config/check/PhabricatorExtensionsSetupCheck.php
--- a/src/applications/config/check/PhabricatorExtensionsSetupCheck.php
+++ b/src/applications/config/check/PhabricatorExtensionsSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorExtensionsSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_PHP;
+ }
+
public function getExecutionOrder() {
return 0;
}
diff --git a/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php b/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
--- a/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
+++ b/src/applications/config/check/PhabricatorExtraConfigSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
$ancient_config = self::getAncientConfig();
diff --git a/src/applications/config/check/PhabricatorFileinfoSetupCheck.php b/src/applications/config/check/PhabricatorFileinfoSetupCheck.php
--- a/src/applications/config/check/PhabricatorFileinfoSetupCheck.php
+++ b/src/applications/config/check/PhabricatorFileinfoSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorFileinfoSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
if (!extension_loaded('fileinfo')) {
$message = pht(
diff --git a/src/applications/config/check/PhabricatorGDSetupCheck.php b/src/applications/config/check/PhabricatorGDSetupCheck.php
--- a/src/applications/config/check/PhabricatorGDSetupCheck.php
+++ b/src/applications/config/check/PhabricatorGDSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorGDSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
if (!extension_loaded('gd')) {
$message = pht(
diff --git a/src/applications/config/check/PhabricatorImagemagickSetupCheck.php b/src/applications/config/check/PhabricatorImagemagickSetupCheck.php
--- a/src/applications/config/check/PhabricatorImagemagickSetupCheck.php
+++ b/src/applications/config/check/PhabricatorImagemagickSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorImagemagickSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
$imagemagick = PhabricatorEnv::getEnvConfig('files.enable-imagemagick');
if ($imagemagick) {
diff --git a/src/applications/config/check/PhabricatorInvalidConfigSetupCheck.php b/src/applications/config/check/PhabricatorInvalidConfigSetupCheck.php
--- a/src/applications/config/check/PhabricatorInvalidConfigSetupCheck.php
+++ b/src/applications/config/check/PhabricatorInvalidConfigSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorInvalidConfigSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
$groups = PhabricatorApplicationConfigOptions::loadAll();
foreach ($groups as $group) {
diff --git a/src/applications/config/check/PhabricatorMailSetupCheck.php b/src/applications/config/check/PhabricatorMailSetupCheck.php
--- a/src/applications/config/check/PhabricatorMailSetupCheck.php
+++ b/src/applications/config/check/PhabricatorMailSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorMailSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
$adapter = PhabricatorEnv::getEnvConfig('metamta.mail-adapter');
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
@@ -2,6 +2,10 @@
final class PhabricatorMySQLSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_MYSQL;
+ }
+
public static function loadRawConfigValue($key) {
$conn_raw = id(new PhabricatorUser())->establishConnection('w');
diff --git a/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php b/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php
--- a/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php
+++ b/src/applications/config/check/PhabricatorPHPConfigSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorPHPConfigSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_PHP;
+ }
+
public function getExecutionOrder() {
return 0;
}
diff --git a/src/applications/config/check/PhabricatorPathSetupCheck.php b/src/applications/config/check/PhabricatorPathSetupCheck.php
--- a/src/applications/config/check/PhabricatorPathSetupCheck.php
+++ b/src/applications/config/check/PhabricatorPathSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorPathSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
// NOTE: We've already appended `environment.append-paths`, so we don't
// need to explicitly check for it.
diff --git a/src/applications/config/check/PhabricatorPygmentSetupCheck.php b/src/applications/config/check/PhabricatorPygmentSetupCheck.php
--- a/src/applications/config/check/PhabricatorPygmentSetupCheck.php
+++ b/src/applications/config/check/PhabricatorPygmentSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorPygmentSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
$pygment = PhabricatorEnv::getEnvConfig('pygments.enabled');
diff --git a/src/applications/config/check/PhabricatorRepositoriesSetupCheck.php b/src/applications/config/check/PhabricatorRepositoriesSetupCheck.php
--- a/src/applications/config/check/PhabricatorRepositoriesSetupCheck.php
+++ b/src/applications/config/check/PhabricatorRepositoriesSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorRepositoriesSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
$cluster_services = id(new AlmanacServiceQuery())
diff --git a/src/applications/config/check/PhabricatorSecuritySetupCheck.php b/src/applications/config/check/PhabricatorSecuritySetupCheck.php
--- a/src/applications/config/check/PhabricatorSecuritySetupCheck.php
+++ b/src/applications/config/check/PhabricatorSecuritySetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorSecuritySetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
// This checks for a version of bash with the "Shellshock" vulnerability.
diff --git a/src/applications/config/check/PhabricatorSetupCheck.php b/src/applications/config/check/PhabricatorSetupCheck.php
--- a/src/applications/config/check/PhabricatorSetupCheck.php
+++ b/src/applications/config/check/PhabricatorSetupCheck.php
@@ -6,6 +6,11 @@
abstract protected function executeChecks();
+ const GROUP_OTHER = 'other';
+ const GROUP_MYSQL = 'mysql';
+ const GROUP_PHP = 'php';
+ const GROUP_IMPORTANT = 'important';
+
public function getExecutionOrder() {
return 1;
}
@@ -14,6 +19,7 @@
$issue = id(new PhabricatorSetupIssue())
->setIssueKey($key);
$this->issues[$key] = $issue;
+ $issue->setGroup($this->getDefaultGroup());
return $issue;
}
diff --git a/src/applications/config/check/PhabricatorStorageSetupCheck.php b/src/applications/config/check/PhabricatorStorageSetupCheck.php
--- a/src/applications/config/check/PhabricatorStorageSetupCheck.php
+++ b/src/applications/config/check/PhabricatorStorageSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorStorageSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
/**
* @phutil-external-symbol class PhabricatorStartup
*/
diff --git a/src/applications/config/check/PhabricatorTimezoneSetupCheck.php b/src/applications/config/check/PhabricatorTimezoneSetupCheck.php
--- a/src/applications/config/check/PhabricatorTimezoneSetupCheck.php
+++ b/src/applications/config/check/PhabricatorTimezoneSetupCheck.php
@@ -2,6 +2,10 @@
final class PhabricatorTimezoneSetupCheck extends PhabricatorSetupCheck {
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
protected function executeChecks() {
$php_value = ini_get('date.timezone');
if ($php_value) {
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
@@ -14,18 +14,49 @@
PhabricatorSetupCheck::setOpenSetupIssueCount(
PhabricatorSetupCheck::countUnignoredIssues($issues));
- $list = $this->buildIssueList($issues);
- $list->setNoDataString(pht('There are no open setup issues.'));
- $list->setStackable(true);
+ $important = $this->buildIssueList(
+ $issues, PhabricatorSetupCheck::GROUP_IMPORTANT);
+ $php = $this->buildIssueList(
+ $issues, PhabricatorSetupCheck::GROUP_PHP);
+ $mysql = $this->buildIssueList(
+ $issues, PhabricatorSetupCheck::GROUP_MYSQL);
+ $other = $this->buildIssueList(
+ $issues, PhabricatorSetupCheck::GROUP_OTHER);
+
+ $setup_issues = array();
+ if ($important) {
+ $setup_issues[] = id(new PHUIObjectBoxView())
+ ->setHeaderText(pht('Important Setup Issues'))
+ ->appendChild($important);
+ }
- $box = id(new PHUIObjectBoxView())
- ->setHeaderText(pht('Open Phabricator Setup Issues'))
- ->appendChild($list);
+ if ($php) {
+ $setup_issues[] = id(new PHUIObjectBoxView())
+ ->setHeaderText(pht('PHP Setup Issues'))
+ ->appendChild($php);
+ }
- $nav->appendChild(
- array(
- $box,
- ));
+ if ($mysql) {
+ $setup_issues[] = id(new PHUIObjectBoxView())
+ ->setHeaderText(pht('MySQL Setup Issues'))
+ ->appendChild($mysql);
+ }
+
+ if ($other) {
+ $setup_issues[] = id(new PHUIObjectBoxView())
+ ->setHeaderText(pht('Other Setup Issues'))
+ ->appendChild($other);
+ }
+
+ if (empty($setup_issues)) {
+ $setup_issues[] = id(new PHUIErrorView())
+ ->setTitle(pht('No Issues'))
+ ->appendChild(
+ pht('Your install has no current setup issues to resolve.'))
+ ->setSeverity(PHUIErrorView::SEVERITY_NOTICE);
+ }
+
+ $nav->appendChild($setup_issues);
$title = pht('Setup Issues');
@@ -42,25 +73,30 @@
));
}
- private function buildIssueList(array $issues) {
+ private function buildIssueList(array $issues, $group) {
assert_instances_of($issues, 'PhabricatorSetupIssue');
$list = new PHUIObjectItemListView();
+ $list->setStackable(true);
$ignored_items = array();
+ $items = 0;
foreach ($issues as $issue) {
+ if ($issue->getGroup() == $group) {
+ $items++;
$href = $this->getApplicationURI('/issue/'.$issue->getIssueKey().'/');
$item = id(new PHUIObjectItemView())
->setHeader($issue->getName())
->setHref($href)
->addAttribute($issue->getSummary());
- if (!$issue->getIsIgnored()) {
- $item->setBarColor('yellow');
- $list->addItem($item);
- } else {
- $item->addIcon('fa-eye-slash', pht('Ignored'));
- $item->setDisabled(true);
- $item->setBarColor('none');
- $ignored_items[] = $item;
+ if (!$issue->getIsIgnored()) {
+ $item->setBarColor('yellow');
+ $list->addItem($item);
+ } else {
+ $item->addIcon('fa-eye-slash', pht('Ignored'));
+ $item->setDisabled(true);
+ $item->setBarColor('none');
+ $ignored_items[] = $item;
+ }
}
}
@@ -68,7 +104,11 @@
$list->addItem($item);
}
- return $list;
+ if ($items == 0) {
+ return null;
+ } else {
+ return $list;
+ }
}
}
diff --git a/src/applications/config/issue/PhabricatorSetupIssue.php b/src/applications/config/issue/PhabricatorSetupIssue.php
--- a/src/applications/config/issue/PhabricatorSetupIssue.php
+++ b/src/applications/config/issue/PhabricatorSetupIssue.php
@@ -8,6 +8,7 @@
private $isFatal;
private $summary;
private $shortName;
+ private $group;
private $isIgnored = false;
private $phpExtensions = array();
@@ -40,6 +41,19 @@
return $this->shortName;
}
+ public function setGroup($group) {
+ $this->group = $group;
+ return $this;
+ }
+
+ public function getGroup() {
+ if ($this->group) {
+ return $this->group;
+ } else {
+ return PhabricatorSetupCheck::GROUP_OTHER;
+ }
+ }
+
public function setName($name) {
$this->name = $name;
return $this;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Mar 29, 10:03 AM (3 w, 4 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7648221
Default Alt Text
D11726.id.diff (17 KB)
Attached To
Mode
D11726: Split Setup Issues into Groups
Attached
Detach File
Event Timeline
Log In to Comment