private function buildResults()
 {
     $results = array();
     $priority_map = ManiphestTaskPriority::getTaskPriorityMap();
     foreach ($priority_map as $value => $name) {
         $result = id(new PhabricatorTypeaheadResult())->setIcon(ManiphestTaskPriority::getTaskPriorityIcon($value))->setPHID($value)->setName($name)->addAttribute(pht('Priority'));
         if (ManiphestTaskPriority::isDisabledPriority($value)) {
             $result->setClosed(pht('Disabled'));
         }
         $results[$value] = $result;
     }
     return $results;
 }
 public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv)
 {
     $xactions = array();
     $target = phutil_utf8_strtolower(head($argv));
     $priority = null;
     $keywords = ManiphestTaskPriority::getTaskPriorityKeywordsMap();
     foreach ($keywords as $key => $words) {
         foreach ($words as $word) {
             if ($word == $target) {
                 $priority = $key;
                 break;
             }
         }
     }
     if ($priority === null) {
         return array();
     }
     if (ManiphestTaskPriority::isDisabledPriority($priority)) {
         return array();
     }
     $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(ManiphestTransaction::TYPE_PRIORITY)->setNewValue($priority);
     return $xactions;
 }
 private function getTaskPriorityMap(ManiphestTask $task)
 {
     $priority_map = ManiphestTaskPriority::getTaskPriorityMap();
     $current_priority = $task->getPriority();
     // If the current value isn't a legitimate one, put it in the dropdown
     // anyway so saving the form doesn't cause a side effects.
     if (idx($priority_map, $current_priority) === null) {
         $priority_map[$current_priority] = pht('<Unknown: %s>', $current_priority);
     }
     foreach ($priority_map as $priority => $priority_name) {
         // Always keep the current priority.
         if ($priority == $current_priority) {
             continue;
         }
         if (ManiphestTaskPriority::isDisabledPriority($priority)) {
             unset($priority_map[$priority]);
             continue;
         }
     }
     return $priority_map;
 }