Changeset View
Changeset View
Standalone View
Standalone View
src/applications/tokens/query/PhabricatorBuiltinTokenQuery.php
- This file was copied from src/applications/tokens/query/PhabricatorTokenQuery.php.
| <?php | <?php | ||||
| final class PhabricatorTokenQuery | final class PhabricatorBuiltinTokenQuery | ||||
| extends PhabricatorCursorPagedPolicyAwareQuery { | extends PhabricatorCursorPagedPolicyAwareQuery { | ||||
| private $phids; | private $phids; | ||||
| public function withPHIDs(array $phids) { | public function withPHIDs(array $phids) { | ||||
| $this->phids = $phids; | $this->phids = $phids; | ||||
| return $this; | return $this; | ||||
| } | } | ||||
| protected function loadPage() { | protected function loadPage() { | ||||
| $tokens = $this->getBuiltinTokens(); | $tokens = $this->getBuiltinTokens(); | ||||
| if ($this->phids) { | if ($this->phids) { | ||||
| $map = array_fill_keys($this->phids, true); | $map = array_fill_keys($this->phids, true); | ||||
| foreach ($tokens as $key => $token) { | foreach ($tokens as $key => $token) { | ||||
| if (empty($map[$token->getPHID()])) { | if (empty($map[$token->getPHID()])) { | ||||
| unset($tokens[$key]); | unset($tokens[$key]); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| return $tokens; | return $tokens; | ||||
| } | } | ||||
| private function getBuiltinTokens() { | private function getBuiltinTokens() { | ||||
| $specs = array( | $specs = array( | ||||
| array('like-1', pht('Like')), | array('like-1', pht('Like')), | ||||
| array('like-2', pht('Dislike')), | array('like-2', pht('Dislike')), | ||||
| array('heart-1', pht('Love')), | array('heart-1', pht('Love')), | ||||
| array('heart-2', pht('Heartbreak')), | array('heart-2', pht('Heartbreak')), | ||||
| array('medal-1', pht('Orange Medal')), | array('medal-1', pht('Orange Medal')), | ||||
| array('medal-2', pht('Grey Medal')), | array('medal-2', pht('Grey Medal')), | ||||
| array('medal-3', pht('Yellow Medal')), | array('medal-3', pht('Yellow Medal')), | ||||
| array('medal-4', pht('Manufacturing Defect?')), | array('medal-4', pht('Manufacturing Defect?')), | ||||
| array('coin-1', pht('Haypence')), | array('coin-1', pht('Haypence')), | ||||
| array('coin-2', pht('Piece of Eight')), | array('coin-2', pht('Piece of Eight')), | ||||
| array('coin-3', pht('Doubloon')), | array('coin-3', pht('Doubloon')), | ||||
| array('coin-4', pht('Mountain of Wealth')), | array('coin-4', pht('Mountain of Wealth')), | ||||
| array('misc-1', pht('Pterodactyl')), | array('misc-1', pht('Pterodactyl')), | ||||
| array('misc-2', pht('Evil Spooky Haunted Tree')), | array('misc-2', pht('Evil Spooky Haunted Tree')), | ||||
| array('misc-3', pht('Baby Tequila')), | array('misc-3', pht('Baby Tequila')), | ||||
| array('misc-4', pht('The World Burns')), | array('misc-4', pht('The World Burns')), | ||||
| ); | ); | ||||
| $type = PhabricatorTokensTokenPHIDType::TYPECONST; | |||||
| $type = PhabricatorTokenTokenPHIDType::TYPECONST; | |||||
| $tokens = array(); | $tokens = array(); | ||||
| foreach ($specs as $id => $spec) { | foreach ($specs as $id => $spec) { | ||||
| list($image, $name) = $spec; | list($image, $name) = $spec; | ||||
| $token = id(new PhabricatorToken()) | $token = id(new PhabricatorToken()) | ||||
| ->setID($id) | ->setID($id) | ||||
| ->setName($name) | ->setName($name) | ||||
| ->setPHID('PHID-'.$type.'-'.$image); | ->setPHID('PHID-'.$type.'-'.$image); | ||||
| $tokens[] = $token; | $tokens[] = $token; | ||||
| } | } | ||||
| return $tokens; | return $tokens; | ||||
| } | } | ||||
| public function getQueryApplicationClass() { | public function getQueryApplicationClass() { | ||||
| return 'PhabricatorTokensApplication'; | return 'PhabricatorTokensApplication'; | ||||
| } | } | ||||
| } | } | ||||