2 $limit = @$Page->place['limit'] ?: 10;
3 $path = ' '.escapeshellarg('*.html');
4 $query = @$_REQUEST['q'] ?: $Page->path ?: $Page->handler;
6 if (!trim($query, '/')) return;
8 if (!empty($Page->place['suggest'])) {
9 $cmd = "git ls-files -- $path";
12 die("fout bij zoeken van bestanden");
15 # order files by similarity to query
16 $ls = array_combine($ls, array_map(function ($row) use ($query) {
17 $row = preg_replace('{(?:^|/)index\.html$}', '', $row);
18 return similar_text($row, $query) - strlen($row) / 8;
21 $results = array_keys($ls);
24 $cmd = "git grep -li -- ".escapeshellarg($query).$path;
26 if (count($results) > $limit) {
27 shuffle($results); // avoid alphabetical top set
31 if (isset($Page->place['verbose'])) {
32 printf("<p>%s gevonden voor <q>%s</q>:</p>\n",
33 $results ? count($results).' resultaten' : 'Niets',
34 htmlspecialchars($query)
39 print "Niets gevonden.";
42 if (count($results) > $limit) {
43 array_splice($results, $limit);
49 foreach ($results as $result) {
50 $page = new ArchiveArticle($result);
51 $name = sprintf('<a href="/%s">%s</a>', $page->link, $page->name);
52 print $limit > 1 ? "<li>$name</li>\n" : $name;