diff --git a/src/applications/dashboard/application/PhabricatorDashboardApplication.php b/src/applications/dashboard/application/PhabricatorDashboardApplication.php index 1e76c1e57b..5e55ade04e 100644 --- a/src/applications/dashboard/application/PhabricatorDashboardApplication.php +++ b/src/applications/dashboard/application/PhabricatorDashboardApplication.php @@ -55,8 +55,4 @@ final class PhabricatorDashboardApplication extends PhabricatorApplication { ); } - public function canUninstall() { - return false; - } - } diff --git a/src/applications/home/application/PhabricatorHomeApplication.php b/src/applications/home/application/PhabricatorHomeApplication.php index 88329023da..b2b77f7c30 100644 --- a/src/applications/home/application/PhabricatorHomeApplication.php +++ b/src/applications/home/application/PhabricatorHomeApplication.php @@ -34,10 +34,6 @@ final class PhabricatorHomeApplication extends PhabricatorApplication { return false; } - public function canUninstall() { - return false; - } - public function getApplicationOrder() { return 9; } diff --git a/src/applications/meta/controller/PhabricatorApplicationUninstallController.php b/src/applications/meta/controller/PhabricatorApplicationUninstallController.php index 883d1d6ba0..744e9598f8 100644 --- a/src/applications/meta/controller/PhabricatorApplicationUninstallController.php +++ b/src/applications/meta/controller/PhabricatorApplicationUninstallController.php @@ -63,10 +63,28 @@ final class PhabricatorApplicationUninstallController } } else { if ($selected->canUninstall()) { - $dialog->setTitle('Confirmation') - ->appendChild( - 'Really Uninstall '.$selected->getName().' application?') - ->addSubmitButton('Uninstall'); + $dialog->setTitle(pht('Really Uninstall Application?')); + + if ($selected instanceof PhabricatorHomeApplication) { + $dialog + ->appendParagraph( + pht( + 'Are you absolutely certain you want to uninstall the Home '. + 'application?')) + ->appendParagraph( + pht( + 'This is very unusual and will leave you without any '. + 'content on the Phabricator home page. You should only '. + 'do this if you are certain you know what you are doing.')) + ->addSubmitButton(pht('Completely Break Phabricator')); + } else { + $dialog + ->appendParagraph( + pht( + 'Really uninstall the %s application?', + $selected->getName())) + ->addSubmitButton(pht('Uninstall')); + } } else { $dialog->setTitle('Information') ->appendChild(