Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/diviner/controller/DivinerFindController.php b/src/applications/diviner/controller/DivinerFindController.php
index e672a21f4b..56b6af89b7 100644
--- a/src/applications/diviner/controller/DivinerFindController.php
+++ b/src/applications/diviner/controller/DivinerFindController.php
@@ -1,80 +1,92 @@
<?php
final class DivinerFindController extends DivinerController {
public function shouldAllowPublic() {
return true;
}
public function processRequest() {
$request = $this->getRequest();
$viewer = $request->getUser();
$book_name = $request->getStr('book');
+ $query_text = $request->getStr('name');
$book = null;
if ($book_name) {
$book = id(new DivinerBookQuery())
->setViewer($viewer)
->withNames(array($book_name))
->executeOne();
if (!$book) {
return new Aphront404Response();
}
}
$query = id(new DivinerAtomQuery())
->setViewer($viewer);
if ($book) {
$query->withBookPHIDs(array($book->getPHID()));
}
$context = $request->getStr('context');
if (strlen($context)) {
$query->withContexts(array($context));
}
$type = $request->getStr('type');
if (strlen($type)) {
$query->withTypes(array($type));
}
$name_query = clone $query;
$name_query->withNames(
array(
- $request->getStr('name'),
+ $query_text,
// TODO: This could probably be more smartly normalized in the DB,
// but just fake it for now.
- phutil_utf8_strtolower($request->getStr('name')),
+ phutil_utf8_strtolower($query_text),
));
$atoms = $name_query->execute();
if (!$atoms) {
$title_query = clone $query;
- $title_query->withTitles(array($request->getStr('name')));
+ $title_query->withTitles(array($query_text));
$atoms = $title_query->execute();
}
+ $not_found_uri = $this->getApplicationURI();
+
if (!$atoms) {
- return new Aphront404Response();
+ $dialog = id(new AphrontDialogView())
+ ->setUser($viewer)
+ ->setTitle(pht('Documentation Not Found'))
+ ->appendChild(
+ pht(
+ 'Unable to find the specified documentation. You may have '.
+ 'followed a bad or outdated link.'))
+ ->addCancelButton($not_found_uri, pht('Read More Documentation'));
+
+ return id(new AphrontDialogResponse())->setDialog($dialog);
}
if (count($atoms) == 1 && $request->getBool('jump')) {
$atom_uri = head($atoms)->getURI();
return id(new AphrontRedirectResponse())->setURI($atom_uri);
}
$list = $this->renderAtomList($atoms);
return $this->buildApplicationPage(
$list,
array(
- 'title' => 'derp',
+ 'title' => array(pht('Find'), pht('"%s"', $query_text)),
'device' => true,
));
}
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Sep 7, 7:59 AM (2 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
222655
Default Alt Text
(2 KB)

Event Timeline