1: <?php
2: /**
3: * Interface for session validators.
4: *
5: * PHP version 5
6: *
7: * @category Kolab
8: * @package Kolab_Session
9: * @author Gunnar Wrobel <wrobel@pardus.de>
10: * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
11: * @link http://pear.horde.org/index.php?package=Kolab_Session
12: */
13:
14: /**
15: * Interface for session validators.
16: *
17: * Copyright 2009-2012 Horde LLC (http://www.horde.org/)
18: *
19: * See the enclosed file COPYING for license information (LGPL). If you
20: * did not receive this file, see http://www.horde.org/licenses/lgpl21.
21: *
22: * @category Kolab
23: * @package Kolab_Session
24: * @author Gunnar Wrobel <wrobel@pardus.de>
25: * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
26: * @link http://pear.horde.org/index.php?package=Kolab_Session
27: */
28: interface Horde_Kolab_Session_Valid
29: {
30: /**
31: * Reset the current session information in case it does not match the
32: * authentication information anymore.
33: *
34: * @param string $user The user the session information is being requested
35: * for. This is usually empty, indicating the current
36: * user.
37: *
38: * @return boolean True if the session is still valid.
39: */
40: public function validate($user = null);
41:
42: /**
43: * Return the session this validator checks.
44: *
45: * @return Horde_Kolab_Session The session checked by this
46: * validator.
47: */
48: public function getSession();
49:
50: /**
51: * Return the auth driver of this validator.
52: *
53: * @return mixed The user ID or false if no user is logged in.
54: */
55: public function getAuth();
56: }