Path: blob/master/src/applications/auth/query/PhabricatorAuthFactorProviderQuery.php
12262 views
<?php12final class PhabricatorAuthFactorProviderQuery3extends PhabricatorCursorPagedPolicyAwareQuery {45private $ids;6private $phids;7private $statuses;8private $providerFactorKeys;910public function withIDs(array $ids) {11$this->ids = $ids;12return $this;13}1415public function withPHIDs(array $phids) {16$this->phids = $phids;17return $this;18}1920public function withProviderFactorKeys(array $keys) {21$this->providerFactorKeys = $keys;22return $this;23}2425public function withStatuses(array $statuses) {26$this->statuses = $statuses;27return $this;28}2930public function newResultObject() {31return new PhabricatorAuthFactorProvider();32}3334protected function buildWhereClauseParts(AphrontDatabaseConnection $conn) {35$where = parent::buildWhereClauseParts($conn);3637if ($this->ids !== null) {38$where[] = qsprintf(39$conn,40'id IN (%Ld)',41$this->ids);42}4344if ($this->phids !== null) {45$where[] = qsprintf(46$conn,47'phid IN (%Ls)',48$this->phids);49}5051if ($this->statuses !== null) {52$where[] = qsprintf(53$conn,54'status IN (%Ls)',55$this->statuses);56}5758if ($this->providerFactorKeys !== null) {59$where[] = qsprintf(60$conn,61'providerFactorKey IN (%Ls)',62$this->providerFactorKeys);63}6465return $where;66}6768protected function willFilterPage(array $providers) {69$map = PhabricatorAuthFactor::getAllFactors();70foreach ($providers as $key => $provider) {71$factor_key = $provider->getProviderFactorKey();72$factor = idx($map, $factor_key);7374if (!$factor) {75unset($providers[$key]);76continue;77}7879$provider->attachFactor($factor);80}8182return $providers;83}8485public function getQueryApplicationClass() {86return 'PhabricatorAuthApplication';87}8889}909192