Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/herald/state/HeraldStateReasons.php
12256 views
1
<?php
2
3
abstract class HeraldStateReasons extends Phobject {
4
5
abstract public function explainReason($reason);
6
7
final public static function getAllReasons() {
8
return id(new PhutilClassMapQuery())
9
->setAncestorClass(__CLASS__)
10
->execute();
11
}
12
13
final public static function getExplanation($reason) {
14
$reasons = self::getAllReasons();
15
16
foreach ($reasons as $reason_implementation) {
17
$explanation = $reason_implementation->explainReason($reason);
18
if ($explanation !== null) {
19
return $explanation;
20
}
21
}
22
23
return pht('Unknown reason ("%s").', $reason);
24
}
25
26
}
27
28