phorge/src/applications/countdown/query/CountdownQuery.php689c6f2f3068master
phorge/src/applications/countdown/query/CountdownQuery.php
689c6f2f3068master
CountdownQuery.php
CountdownQuery.php
689c6f2f3068 | <?php | ||
---|---|---|---|
/** | |||
* @group countdown | |||
*/ | |||
final class CountdownQuery | |||
extends PhabricatorCursorPagedPolicyAwareQuery { | |||
private $ids; | |||
private $phids; | |||
private $authorPHIDs; | |||
public function withIDs(array $ids) { | |||
$this->ids = $ids; | |||
return $this; | |||
} | |||
public function withPHIDs(array $phids) { | |||
$this->phids = $phids; | |||
return $this; | |||
} | |||
public function withAuthorPHIDs(array $author_phids) { | |||
$this->authorPHIDs = $author_phids; | |||
return $this; | |||
} | |||
protected function loadPage() { | |||
$table = new PhabricatorCountdown(); | |||
$conn_r = $table->establishConnection('r'); | |||
$data = queryfx_all( | |||
$conn_r, | |||
'SELECT * FROM %T %Q %Q %Q', | |||
$table->getTableName(), | |||
$this->buildWhereClause($conn_r), | |||
$this->buildOrderClause($conn_r), | |||
$this->buildLimitClause($conn_r)); | |||
$countdowns = $table->loadAllFromArray($data); | |||
return $countdowns; | |||
} | |||
private function buildWhereClause(AphrontDatabaseConnection $conn_r) { | |||
$where = array(); | |||
$where[] = $this->buildPagingClause($conn_r); | |||
if ($this->ids) { | |||
$where[] = qsprintf( | |||
$conn_r, | |||
'id IN (%Ld)', | |||
$this->ids); | |||
} | |||
if ($this->phids) { | |||
$where[] = qsprintf( | |||
$conn_r, | |||
'phid IN (%Ls)', | |||
$this->phids); | |||
} | |||
if ($this->authorPHIDs) { | |||
$where[] = qsprintf( | |||
$conn_r, | |||
'authorPHID in (%Ls)', | |||
$this->authorPHIDs); | |||
} | |||
return $this->formatWhereClause($where); | |||
} | |||
} |
Owner Packages
Owner Packages
- No Owners