Page MenuHomePhabricator

D20375.diff
No OneTemporary

D20375.diff

diff --git a/src/applications/conpherence/query/ConpherenceThreadQuery.php b/src/applications/conpherence/query/ConpherenceThreadQuery.php
--- a/src/applications/conpherence/query/ConpherenceThreadQuery.php
+++ b/src/applications/conpherence/query/ConpherenceThreadQuery.php
@@ -136,7 +136,7 @@
protected function buildGroupClause(AphrontDatabaseConnection $conn_r) {
if ($this->participantPHIDs !== null || strlen($this->fulltext)) {
- return 'GROUP BY thread.id';
+ return qsprintf($conn_r, 'GROUP BY thread.id');
} else {
return $this->buildApplicationSearchGroupClause($conn_r);
}
@@ -192,18 +192,24 @@
if ($can_optimize) {
$members_policy = id(new ConpherenceThreadMembersPolicyRule())
->getObjectPolicyFullKey();
+ $policies = array(
+ $members_policy,
+ PhabricatorPolicies::POLICY_USER,
+ PhabricatorPolicies::POLICY_ADMIN,
+ PhabricatorPolicies::POLICY_NOONE,
+ );
if ($viewer->isLoggedIn()) {
$where[] = qsprintf(
$conn,
- 'thread.viewPolicy != %s OR vp.participantPHID = %s',
- $members_policy,
+ 'thread.viewPolicy NOT IN (%Ls) OR vp.participantPHID = %s',
+ $policies,
$viewer->getPHID());
} else {
$where[] = qsprintf(
$conn,
- 'thread.viewPolicy != %s',
- $members_policy);
+ 'thread.viewPolicy NOT IN (%Ls)',
+ $policies);
}
}
diff --git a/src/applications/conpherence/view/ConpherenceLayoutView.php b/src/applications/conpherence/view/ConpherenceLayoutView.php
--- a/src/applications/conpherence/view/ConpherenceLayoutView.php
+++ b/src/applications/conpherence/view/ConpherenceLayoutView.php
@@ -224,12 +224,12 @@
private function buildNUXView() {
$viewer = $this->getViewer();
- $engine = new ConpherenceThreadSearchEngine();
- $engine->setViewer($viewer);
+ $engine = id(new ConpherenceThreadSearchEngine())
+ ->setViewer($viewer);
$saved = $engine->buildSavedQueryFromBuiltin('all');
$query = $engine->buildQueryFromSavedQuery($saved);
- $pager = $engine->newPagerForSavedQuery($saved);
- $pager->setPageSize(10);
+ $pager = $engine->newPagerForSavedQuery($saved)
+ ->setPageSize(10);
$results = $engine->executeQuery($query, $pager);
$view = $engine->renderResults($results, $saved);

File Metadata

Mime Type
text/plain
Expires
Mar 18 2025, 7:11 AM (5 w, 19 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7509993
Default Alt Text
D20375.diff (2 KB)

Event Timeline