aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/MvvQuickSearch.php
blob: b0e79c03b991b9eeee2d7fa3b8d684e28002ab09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php

require_once 'lib/classes/searchtypes/SQLSearch.class.php';

class MvvQuickSearch extends SQLSearch
{
    private $qs_name;
    protected $zusatz;

    public function __construct($query, $title = '', $avatarLike = '')
    {
        parent::__construct($query, $title, $avatarLike);
    }

    public function getResults($input, $contextual_data = [],
            $limit = PHP_INT_MAX, $offset = 0)
    {
        $qs_id = md5(serialize($this));
        $results = parent::getResults($input, $contextual_data, 100, $offset);
        $count = sizeof($results);
        if ($count > $limit) {
            $results = array_slice($results, 0, $limit);
            if ($count < 100) {
                $result_txt = sprintf(_('Alle %s Treffer anzeigen'), $count);
            } else {
                $result_txt = sprintf(_('Die ersten %s Treffer anzeigen'), $count);
            }
            if (!$this->zusatz) {
                $this->zusatz =
                        '<span class="mvv-qs-selected" data-qs_name="'
                        . $this->qs_name
                        . '" data-qs_id="'
                        . $qs_id
                        . '" style="font-weight:bold">'
                        . $result_txt
                        . '</span>';
            }
            $results[sizeof($results)] = ['', ''];
        }
        return $results;
    }

    public function getAvatarImageTag($id, $size = Avatar::SMALL, $options = [])
    {
        if (!$id) {
            return $this->zusatz;
        }
        return parent::getAvatarImageTag($id, $size = Avatar::SMALL, $options);
    }

    public function setQsName($qs_name)
    {
        $this->qs_name = $qs_name;
    }

}