Page MenuHomePhabricator

D11726.id.diff
No OneTemporary

D11726.id.diff

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

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)

Event Timeline