本文整理汇总了PHP中PhabricatorApplicationSearchEngine类的典型用法代码示例。如果您正苦于以下问题:PHP PhabricatorApplicationSearchEngine类的具体用法?PHP PhabricatorApplicationSearchEngine怎么用?PHP PhabricatorApplicationSearchEngine使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PhabricatorApplicationSearchEngine类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: renderPanelContent
public function renderPanelContent(PhabricatorUser $viewer, PhabricatorDashboardPanel $panel, PhabricatorDashboardPanelRenderingEngine $engine)
{
$class = $panel->getProperty('class');
$engine = PhabricatorApplicationSearchEngine::getEngineByClassName($class);
if (!$engine) {
throw new Exception(pht('The application search engine "%s" is not known to Phabricator!', $class));
}
$engine->setViewer($viewer);
$engine->setContext(PhabricatorApplicationSearchEngine::CONTEXT_PANEL);
$key = $panel->getProperty('key');
if ($engine->isBuiltinQuery($key)) {
$saved = $engine->buildSavedQueryFromBuiltin($key);
} else {
$saved = id(new PhabricatorSavedQueryQuery())->setViewer($viewer)->withEngineClassNames(array($class))->withQueryKeys(array($key))->executeOne();
}
if (!$saved) {
throw new Exception(pht('Query "%s" is unknown to application search engine "%s"!', $key, $class));
}
$query = $engine->buildQueryFromSavedQuery($saved);
$pager = $engine->newPagerForSavedQuery($saved);
if ($panel->getProperty('limit')) {
$limit = (int) $panel->getProperty('limit');
if ($pager->getPageSize() !== 0xffff) {
$pager->setPageSize($limit);
}
}
$results = $engine->executeQuery($query, $pager);
return $engine->renderResults($results, $saved);
}
示例2: getSearchEngine
private function getSearchEngine(PhabricatorDashboardPanel $panel)
{
$class = $panel->getProperty('class');
$engine = PhabricatorApplicationSearchEngine::getEngineByClassName($class);
if (!$engine) {
throw new Exception(pht('The application search engine "%s" is not known to Phabricator!', $class));
}
if (!$engine->canUseInPanelContext()) {
throw new Exception(pht('Application search engines of class "%s" can not be used to build ' . 'dashboard panels.', $class));
}
return $engine;
}
示例3: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
$viewer = $this->requireViewer();
$viewer_phid = $viewer->getPHID();
$status_open = DiffusionCommitQuery::AUDIT_STATUS_OPEN;
switch ($query_key) {
case 'all':
return $query;
case 'open':
$query->setParameter('auditStatus', $status_open);
return $query;
case 'need':
$needs_tokens = array($viewer_phid, 'projects(' . $viewer_phid . ')', 'packages(' . $viewer_phid . ')');
$query->setParameter('needsAuditByPHIDs', $needs_tokens);
$query->setParameter('auditStatus', $status_open);
return $query;
case 'authored':
$query->setParameter('commitAuthorPHIDs', array($viewer->getPHID()));
return $query;
case 'problem':
$query->setParameter('commitAuthorPHIDs', array($viewer->getPHID()));
$query->setParameter('auditStatus', DiffusionCommitQuery::AUDIT_STATUS_CONCERN);
return $query;
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例4: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'all':
return $query;
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例5: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
$viewer_phid = $this->requireViewer()->getPHID();
switch ($query_key) {
case 'all':
return $query;
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例6: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'all':
return $query;
case 'active':
return $query->setParameter('isDestroyed', false);
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例7: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'all':
return $query;
case 'active':
return $query->setParameter('status', PhrictionDocumentQuery::STATUS_OPEN);
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例8: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'modern':
return $query->setParameter('isStable', true)->setParameter('isUnstable', true);
case 'all':
return $query->setParameter('isStable', true)->setParameter('isUnstable', true)->setParameter('isDeprecated', true);
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例9: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'all':
return $query;
case 'projects':
return $query->setParameter('viewerProjects', true);
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例10: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'signed':
return $query->setParameter('withViewerSignature', true);
case 'all':
return $query;
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例11: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'all':
return $query;
case 'open':
return $query->setParameter('statuses', array(PhabricatorBadgesBadge::STATUS_OPEN));
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例12: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'active':
return $query->setParameter('statuses', array(DrydockLeaseStatus::STATUS_PENDING, DrydockLeaseStatus::STATUS_ACQUIRED, DrydockLeaseStatus::STATUS_ACTIVE));
case 'all':
return $query;
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例13: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'all':
return $query->setParameter('order', PhrequentUserTimeQuery::ORDER_ENDED_DESC);
case 'tracking':
return $query->setParameter('ended', PhrequentUserTimeQuery::ENDED_NO)->setParameter('order', PhrequentUserTimeQuery::ORDER_ENDED_DESC);
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例14: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'launcher':
return $query->setParameter('installed', true)->setParameter('launchable', true);
case 'all':
return $query;
}
return parent::buildSavedQueryFromBuiltin($query_key);
}
示例15: buildSavedQueryFromBuiltin
public function buildSavedQueryFromBuiltin($query_key)
{
$query = $this->newSavedQuery();
$query->setQueryKey($query_key);
switch ($query_key) {
case 'all':
return $query;
case 'participant':
return $query->setParameter('participants', array($this->requireViewer()->getPHID()));
}
return parent::buildSavedQueryFromBuiltin($query_key);
}