/usr/share/php/Horde/Notification/Storage/Session.php is in php-horde-notification 2.0.4-3ubuntu1.
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 | <?php
/**
* A class that stores notifications in the session.
*
* @category Horde
* @package Notification
* @author Gunnar Wrobel <wrobel@pardus.de>
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @link http://pear.horde.org/index.php?package=Notification
*/
/**
* A class that stores notifications in the session.
*
* Copyright 2009-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 Horde
* @package Notification
* @author Gunnar Wrobel <wrobel@pardus.de>
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @link http://pear.horde.org/index.php?package=Notification
*/
class Horde_Notification_Storage_Session
implements Horde_Notification_Storage_Interface
{
/**
* The stack name.
*
* @var string
*/
protected $_stack;
/**
* Constructor.
*
* @param string $stack The name of the notification stack.
*/
public function __construct($stack)
{
$this->_stack = $stack;
/* Make sure the message stack is registered in the session. */
if (!isset($_SESSION[$this->_stack])) {
$_SESSION[$this->_stack] = array();
}
}
/**
* Return the given stack from the notification store.
*
* @param string $key The key for the data.
*
* @return mixed The notification data stored for the given key.
*/
public function get($key)
{
return $_SESSION[$this->_stack][$key];
}
/**
* Set the given stack in the notification store.
*
* @param string $key The key for the data.
* @param mixed $value The data.
*/
public function set($key, $value)
{
$_SESSION[$this->_stack][$key] = $value;
}
/**
* Is the given stack present in the notification store?
*
* @param string $key The key of the data.
*
* @return boolean True if the element is set, false otherwise.
*/
public function exists($key)
{
return isset($_SESSION[$this->_stack][$key]);
}
/**
* Unset the given stack in the notification store.
*
* @param string $key The key of the data.
*/
public function clear($key)
{
unset($_SESSION[$this->_stack][$key]);
}
/**
* Store a new event for the given listener stack.
*
* @param string $listener The event will be stored for
* this listener.
* @param Horde_Notification_Event $event The event to store.
*/
public function push($listener, Horde_Notification_Event $event)
{
/* No need to serialize() ourselves - PHP's session handling does
* this automatically. */
$_SESSION[$this->_stack][$listener][] = $event;
}
}
|