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'; | ||||
} | } | ||||
} | } |