This file is indexed.

/usr/share/horde/turba/lib/Tagger.php is in php-horde-turba 4.2.2-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
/**
 * Copyright 2013-2014 Horde LLC (http://www.horde.org/)
 *
 * See the enclosed file LICENSE for license information (ASL).  If you did
 * did not receive this file, see http://www.horde.org/licenses/apache.
 *
 * @category  Horde
 * @copyright 2013-2014 Horde LLC
 * @license   http://www.horde.org/licenses/apache ASL
 * @package   Turba
 */

/**
 * Interface to the Horde_Content tagger.
 *
 * @author    Michael J Rubinsky <mrubinsk@horde.org>
 * @author    Jan Schneider <jan@horde.org>
 * @category  Horde
 * @copyright 2013-2014 Horde LLC
 * @license   http://www.horde.org/licenses/apache ASL
 * @package   Turba
 */
class Turba_Tagger extends Horde_Core_Tagger
{
    /**
     */
    protected $_app = 'turba';

    /**
     */
    protected $_types = array('contact');

    /**
     * Searches for resources that are tagged with all of the requested tags.
     *
     * @param array $tags    Either a tag_id, tag_name or an array.
     * @param array $filter  Array of filter parameters:
     * <pre>
     *   - user: (array) Only include objects owned by these users.
     *   - list: (array) Restrict to contacts contained in these address
     *           books.
     * </pre>
     *
     * @return array  A hash of results.
     */
    public function search($tags, $filter = array())
    {
        global $injector;

        $args = array();
        $tagger = $injector->getInstance('Content_Tagger');

        // These filters are mutually exclusive
        if (array_key_exists('user', $filter)) {
            // Items owned by specific user(s)
            $args['userId'] = $filter['user'];
        } elseif (!empty($filter['list'])) {
            // Only events located in specific address book(s)
            if (!is_array($filter['list'])) {
                $filter['list'] = array($filter['list']);
            }
            $args['listId'] = $filter['list'];
        }

        // Add the tags to the search
        $args['tagId'] = $tagger->ensureTags($tags);
        $args['typeId'] = $this->_type_ids['contact'];

        return array_values($tagger->getObjects($args));
    }

}