This file is indexed.

/usr/share/horde/nag/lib/Tasklists/Base.php is in php-horde-nag 4.2.7-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
<?php
/**
 * The base functionality of the tasklists handler.
 *
 * See the enclosed file COPYING for license information (GPL). If you
 * did not receive this file, see http://www.horde.org/licenses/gpl.
 *
 * @author  Gunnar Wrobel <wrobel@pardus.de>
 * @package Nag
 */
abstract class Nag_Tasklists_Base
{
    /**
     * The share backend.
     *
     * @var Horde_Share_Base
     */
    protected $_shares;

    /**
     * The current user.
     *
     * @var string
     */
    protected $_user;

    /**
     * Additional parameters for the tasklist handling.
     *
     * @var array
     */
    protected $_params;

    /**
     * Constructor.
     *
     * @param Horde_Share_Base $shares The share backend.
     * @param string           $user   The current user.
     * @param array            $params Additional parameters.
     */
    public function __construct($shares, $user, $params)
    {
        $this->_shares = $shares;
        $this->_user = $user;
        $this->_params = $params;
    }

    /**
     * Ensure the share system has a default tasklist share for the current user
     * if the default share feature is activated.
     *
     * @return string|NULL The id of the new default share or NULL if no share
     *                     was created.
     */
    public function ensureDefaultShare()
    {
        /* If the user doesn't own a task list, create one. */
        if (!empty($this->_params['auto_create']) && $this->_user &&
            !count(Nag::listTasklists(true))) {
            $share = $this->_shares->newShare(
                $this->_user,
                strval(new Horde_Support_Randomid()),
                $this->_getDefaultShareName()
            );
            $share->set('color', Nag::randomColor());
            $this->_prepareDefaultShare($share);
            $this->_shares->addShare($share);
            return $share->getName();
        }
    }

    /**
     * Returns the default share's ID, if it can be determined from the share
     * backend.
     *
     * @return string  The default share ID.
     */
    public function getDefaultShare()
    {
        $shares = $this->_shares->listShares(
            $this->_user,
            array('attributes' => $this->_user)
        );
        foreach ($shares as $id => $share) {
            if ($share->get('default')) {
                return $id;
            }
        }
    }

    /**
     * Runs any actions after setting a new default tasklist.
     *
     * @param string $share  The default share ID.
     */
    public function setDefaultShare($share)
    {
    }

    /**
     * Return the name of the default share.
     *
     * @return string The name of a default share.
     */
    abstract protected function _getDefaultShareName();

    /**
     * Add any modifiers required to the share in order to mark it as default.
     *
     * @param Horde_Share_Object $share The new default share.
     */
    protected function _prepareDefaultShare($share)
    {
    }

}