Path: blob/master/src/applications/diffusion/query/lowlevel/DiffusionLowLevelQuery.php
12242 views
<?php12abstract class DiffusionLowLevelQuery extends Phobject {34private $repository;56abstract protected function executeQuery();78public function setRepository(PhabricatorRepository $repository) {9$this->repository = $repository;10return $this;11}1213public function getRepository() {14return $this->repository;15}1617public function execute() {18if (!$this->getRepository()) {19throw new PhutilInvalidStateException('setRepository');20}2122return $this->executeQuery();23}2425protected function filterRefsByType(array $refs, array $types) {26$type_map = array_fuse($types);2728foreach ($refs as $name => $ref_list) {29foreach ($ref_list as $key => $ref) {30if (empty($type_map[$ref['type']])) {31unset($refs[$name][$key]);32}33}34if (!$refs[$name]) {35unset($refs[$name]);36}37}3839return $refs;40}4142}434445