private function loadLintMessages(PhabricatorRepositoryBranch $branch, $limit, $offset) { $drequest = $this->getDiffusionRequest(); if (!$branch) { return array(); } $conn = $branch->establishConnection('r'); $where = array(qsprintf($conn, 'branchID = %d', $branch->getID())); if ($drequest->getPath() != '') { $path = '/' . $drequest->getPath(); $is_dir = substr($path, -1) == '/'; $where[] = $is_dir ? qsprintf($conn, 'path LIKE %>', $path) : qsprintf($conn, 'path = %s', $path); } if ($drequest->getLint() != '') { $where[] = qsprintf($conn, 'code = %s', $drequest->getLint()); } return queryfx_all($conn, 'SELECT * FROM %T WHERE %Q ORDER BY path, code, line LIMIT %d OFFSET %d', PhabricatorRepository::TABLE_LINTMESSAGE, implode(' AND ', $where), $limit, $offset); }