This file is indexed.

/usr/share/php/Horde/Kolab/Storage/Data/Query/Preferences/Cache.php is in php-horde-kolab-storage 2.2.1-1ubuntu1.

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
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?php
/**
 * Cached access to the preferences data.
 *
 * PHP version 5
 *
 * @category Kolab
 * @package  Kolab_Storage
 * @author   Gunnar Wrobel <wrobel@pardus.de>
 * @license  http://www.horde.org/licenses/lgpl21 LGPL 2.1
 * @link     http://pear.horde.org/index.php?package=Kolab_Storage
 */

/**
 * Cached access to the preferences data.
 *
 * Copyright 2011-2016 Horde LLC (http://www.horde.org/)
 *
 * See the enclosed file COPYING for license information (LGPL). If you
 * did not receive this file, see http://www.horde.org/licenses/lgpl21.
 *
 * @category Kolab
 * @package  Kolab_Storage
 * @author   Gunnar Wrobel <wrobel@pardus.de>
 * @license  http://www.horde.org/licenses/lgpl21 LGPL 2.1
 * @link     http://pear.horde.org/index.php?package=Kolab_Storage
 */
class Horde_Kolab_Storage_Data_Query_Preferences_Cache
implements Horde_Kolab_Storage_Data_Query_Preferences
{
    /** The preferences query data */
    const PREFS = 'PREFS';

    /**
     * The data cache.
     *
     * @var Horde_Kolab_Storage_Cache_Data
     */
    private $_data_cache;

    /**
     * The queriable data.
     *
     * @var Horde_Kolab_Storage_Data
     */
    private $_data;

    /**
     * The cached preference mapping.
     *
     * @var array
     */
    private $_mapping;

    /**
     * Constructor.
     *
     * @param Horde_Kolab_Storage_Data $data   The queriable data.
     * @param array                    $params Additional parameters.
     */
    public function __construct(Horde_Kolab_Storage_Data $data,
                                $params)
    {
        $this->_data = $data;
        $this->_data_cache = $params['cache'];
    }

    /**
     * Ensure we have the query data.
     *
     * @return NULL
     */
    private function _init()
    {
        if ($this->_mapping !== null) {
            return;
        }
        if ($this->_data_cache->hasQuery(self::PREFS)) {
            $this->_mapping = $this->_data_cache->getQuery(self::PREFS);
        } else {
            $this->synchronize();
        }
    }

    /**
     * Return the preferences for the specified application.
     *
     * @param string $application The application.
     *
     * @return array The preferences.
     */
    public function getApplicationPreferences($application)
    {
        $this->_init();
        if (isset($this->_mapping[$application])) {
            return $this->_data->getObject($this->_mapping[$application]);
        } else {
            throw new Horde_Kolab_Storage_Exception(
                sprintf(
                    'No preferences for application %s available',
                    $application
                )
            );
        }
    }

    /**
     * Return the applications for which preferences exist in the backend.
     *
     * @param string $application The application.
     *
     * @return array The applications.
     */
    public function getApplications()
    {
        $this->_init();
        return array_keys($this->_mapping);
    }

    /**
     * Synchronize the preferences information with the information from the
     * backend.
     *
     * @param array $params Additional parameters.
     *
     * @return NULL
     */
    public function synchronize($params = array())
    {
        $this->_mapping = array();
        foreach ($this->_data->getObjects() as $id => $data) {
            $this->_mapping[$data['application']] = $id;
        }
        $this->_data_cache->setQuery(self::PREFS, $this->_mapping);
    }

    public function setLogger(Horde_Log_Logger $logger)
    {

    }

}