private function loadPolls(AphrontPagerView $pager, $view) { $request = $this->getRequest(); $user = $request->getUser(); $poll = new PhabricatorSlowvotePoll(); $conn = $poll->establishConnection('r'); $offset = $pager->getOffset(); $limit = $pager->getPageSize() + 1; switch ($view) { case self::VIEW_ALL: $data = queryfx_all($conn, 'SELECT * FROM %T ORDER BY id DESC LIMIT %d, %d', $poll->getTableName(), $offset, $limit); break; case self::VIEW_CREATED: $data = queryfx_all($conn, 'SELECT * FROM %T WHERE authorPHID = %s ORDER BY id DESC LIMIT %d, %d', $poll->getTableName(), $user->getPHID(), $offset, $limit); break; case self::VIEW_VOTED: $choice = new PhabricatorSlowvoteChoice(); $data = queryfx_all($conn, 'SELECT p.* FROM %T p JOIN %T o ON o.pollID = p.id WHERE o.authorPHID = %s GROUP BY p.id ORDER BY p.id DESC LIMIT %d, %d', $poll->getTableName(), $choice->getTableName(), $user->getPHID(), $offset, $limit); break; } $data = $pager->sliceResults($data); return $poll->loadAllFromArray($data); }
protected function loadPage() { $table = new PhabricatorSlowvotePoll(); $conn_r = $table->establishConnection('r'); $data = queryfx_all($conn_r, 'SELECT p.* FROM %T p %Q %Q %Q %Q', $table->getTableName(), $this->buildJoinsClause($conn_r), $this->buildWhereClause($conn_r), $this->buildOrderClause($conn_r), $this->buildLimitClause($conn_r)); return $table->loadAllFromArray($data); }
<?php $table = new PhabricatorSlowvotePoll(); $conn_w = $table->establishConnection('w'); $iterator = new LiskMigrationIterator($table); foreach ($iterator as $slowvote) { $id = $slowvote->getID(); echo pht('Adding mail key for Slowvote %d...', $id); echo "\n"; queryfx($conn_w, 'UPDATE %T SET mailKey = %s WHERE id = %d', $table->getTableName(), Filesystem::readRandomCharacters(20), $id); }