Skip to content
Snippets Groups Projects
Commit 68937bad authored by Ghislain Loas's avatar Ghislain Loas
Browse files

dev #14376 autocomplete with 2 words

parent 55d35750
Branches
Tags
5 merge requests!258Dev/13872 Orphee Allow Hold Available Items,!215Dev#12992 Custom Fields,!209Hotline#13914 Album Link Config Menu,!190Dev#12691 Autocomplete,!185Dev#12691 Autocomplete
......@@ -24,7 +24,18 @@ class Class_Autocomplete_IndexSearcher {
public function search($file_path, $terms) {
$terms = str_replace("'", "'\''", $terms);
$terms = str_replace('e', '[éeèêë]', $terms);
exec("grep -ri -E -m10 --no-filename '(^|\s)" . $terms . "' " . $file_path . " | sort --unique", $out);
$terms = explode(' ', $terms);
$terms = array_filter($terms);
$grep = "grep -ri -E -m10 --no-filename '(^|\s)" . $terms[0] . "' " . $file_path . " | sort --unique";
$out=[];
if(count($terms) > 1) {
for($i = 1; $i < count($terms); $i++) {
$grep.= " | grep -i -E '(^|\s)" . $terms[$i] . "'";
}
}
exec($grep, $out);
return $out;
}
}
......
......@@ -100,7 +100,13 @@ class Class_Autocomplete_IndexSearcherTest extends Storm_Test_ModelTestCase{
/** @test */
public function autocompleteTermAccentedShouldBeFound() {
$this->assertequals('Jacques Réda', $this->searchFor('reda')[0]);
$this->assertEquals('Jacques Réda', $this->searchFor('reda')[0]);
}
/** @test */
public function autocompleteTwoTermsShouldBeFound() {
$this->assertEquals('First impressions de The Strokes', $this->searchFor('first strokes')[0]);
}
}
......
La condition urbaine de Olivier Mongin
La danse de la vie de Edward Twitchell Hall
Etre arabe de Faruq Mardam bayk
L'illusion coloniale de Eric Deroo
Australie de Jeff Drewitz
Dub fire blazing de Bush Chemists
First impressions de The Strokes
Blue Bay Palace de Nathacha Appanah
Bleu de chauffe de Nan Aurousseau
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment