Path: blob/master/src/applications/calendar/query/PhabricatorCalendarImportQuery.php
12256 views
<?php12final class PhabricatorCalendarImportQuery3extends PhabricatorCursorPagedPolicyAwareQuery {45private $ids;6private $phids;7private $authorPHIDs;8private $isDisabled;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 withAuthorPHIDs(array $phids) {21$this->authorPHIDs = $phids;22return $this;23}2425public function withIsDisabled($is_disabled) {26$this->isDisabled = $is_disabled;27return $this;28}2930public function newResultObject() {31return new PhabricatorCalendarImport();32}3334protected function buildWhereClauseParts(AphrontDatabaseConnection $conn) {35$where = parent::buildWhereClauseParts($conn);3637if ($this->ids !== null) {38$where[] = qsprintf(39$conn,40'import.id IN (%Ld)',41$this->ids);42}4344if ($this->phids !== null) {45$where[] = qsprintf(46$conn,47'import.phid IN (%Ls)',48$this->phids);49}5051if ($this->authorPHIDs !== null) {52$where[] = qsprintf(53$conn,54'import.authorPHID IN (%Ls)',55$this->authorPHIDs);56}5758if ($this->isDisabled !== null) {59$where[] = qsprintf(60$conn,61'import.isDisabled = %d',62(int)$this->isDisabled);63}6465return $where;66}6768protected function willFilterPage(array $page) {69$engines = PhabricatorCalendarImportEngine::getAllImportEngines();70foreach ($page as $key => $import) {71$engine_type = $import->getEngineType();72$engine = idx($engines, $engine_type);7374if (!$engine) {75unset($page[$key]);76$this->didRejectResult($import);77continue;78}7980$import->attachEngine(clone $engine);81}8283return $page;84}8586protected function getPrimaryTableAlias() {87return 'import';88}8990public function getQueryApplicationClass() {91return 'PhabricatorCalendarApplication';92}9394}959697