if (!trim($query, '/')) return;
-$cmd = "git grep -li -- ".escapeshellarg($query).$path;
-exec($cmd, $results);
-if (count($results) > $limit) {
- shuffle($results);
- array_splice($results, $limit);
-}
+if (!empty($Place['suggest'])) {
+ $cmd = "git ls-files -- $path";
+ exec($cmd, $ls);
+ if (!$ls) {
+ die("fout bij zoeken van bestanden");
+ }
-$cmd = "git ls-files -- $path";
-exec($cmd, $ls);
-if ($ls) {
# order files by similarity to query
$ls = array_combine($ls, array_map(function ($row) use ($query) {
$row = preg_replace('{(?:^|/)index\.html$}', '', $row);
return similar_text($row, $query) - strlen($row) / 8;
}, $ls));
arsort($ls);
-
- # prepend best match, replace unless duplicate
- array_unshift($results, key($ls));
- $results = array_unique($results);
- array_splice($results, $limit);
+ $results = array_keys($ls);
}
-
-elseif (!$results) {
- $results = ['index.html'];
+else {
+ $cmd = "git grep -li -- ".escapeshellarg($query).$path;
+ exec($cmd, $results);
+ if (count($results) > $limit) {
+ shuffle($results); // avoid alphabetical top set
+ }
}
if (isset($Place['verbose'])) {
}
require_once('nieuws.inc.php');
-print '<ul>';
+
+if (!$results) {
+ print "Niets gevonden.";
+ return;
+}
+if (count($results) > $limit) {
+ array_splice($results, $limit);
+}
+
+if ($limit > 1) {
+ print '<ul>';
+}
foreach ($results as $result) {
$page = new ArchiveArticle($result);
- printf('<li><a href="/%s">%s</a></li>'."\n", $page->link, $page->name);
+ $name = sprintf('<a href="/%s">%s</a>', $page->link, $page->name);
+ print $limit > 1 ? "<li>$name</li>\n" : $name;
+}
+if ($limit > 1) {
+ print "</ul>\n";
}
-print "</ul>\n";