|
@@ -257,6 +257,40 @@ class SearchController extends Controller
|
257
|
257
|
|
258
|
258
|
}
|
259
|
259
|
|
|
260
|
+ // Uniquement dans le cas de présence d'un espace/separateur ou plus
|
|
261
|
+ // on cherche les mot composé comme lui
|
|
262
|
+ $terms = array_merge(
|
|
263
|
+ explode(' ', $search),
|
|
264
|
+ explode('-', $search)
|
|
265
|
+ );
|
|
266
|
+ $tags_counteds = array();
|
|
267
|
+ foreach ($tags as $i => $tag)
|
|
268
|
+ {
|
|
269
|
+ foreach ($terms as $word)
|
|
270
|
+ {
|
|
271
|
+ if (strpos(strtoupper($tag['slug']), strtoupper($word)) !== false)
|
|
272
|
+ {
|
|
273
|
+ $count = 1;
|
|
274
|
+ if (array_key_exists($tag['id'], $tags_counteds))
|
|
275
|
+ {
|
|
276
|
+ $count = ($tags_counteds[$tag['id']]['count'])+1;
|
|
277
|
+ }
|
|
278
|
+ $tags_counteds[$tag['id']] = array(
|
|
279
|
+ 'count' => $count,
|
|
280
|
+ 'tag' => $tag
|
|
281
|
+ );
|
|
282
|
+ }
|
|
283
|
+ }
|
|
284
|
+ }
|
|
285
|
+
|
|
286
|
+ foreach ($tags_counteds as $id => $counted)
|
|
287
|
+ {
|
|
288
|
+ if ($counted['count'] > 1)
|
|
289
|
+ {
|
|
290
|
+ $tag_sorted = $this->sort_addtop_if_isnt_in($tag_sorted, $counted['tag']);
|
|
291
|
+ }
|
|
292
|
+ }
|
|
293
|
+
|
260
|
294
|
foreach ($tags as $i => $tag)
|
261
|
295
|
{
|
262
|
296
|
// Chaine de caractère identique
|