place['limit'] ?: 10; $path = ' '.escapeshellarg('*.html'); $query = @$_REQUEST['q'] ?: $Page->place[0] ?? $Page->link; if (!trim($query, '/')) return; if (!empty($Page->place['suggest'])) { $cmd = "git ls-files -- $path"; exec($cmd, $ls); if (!$ls) { die("fout bij zoeken van bestanden"); } # 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); $results = array_keys($ls); } else { $cmd = "git grep -li -- ".escapeshellarg($query).$path; exec($cmd, $results); if (count($results) > $limit) { shuffle($results); // avoid alphabetical top set } } if (isset($Page->place['verbose'])) { printf("

%s gevonden voor %s:

\n", $results ? count($results).' resultaten' : 'Niets', htmlspecialchars($query) ); } if (!$results) { print "Niets gevonden."; return; } if (count($results) > $limit) { array_splice($results, $limit); } if ($limit > 1) { print '\n"; }