1: <?php
2: /**
3: * Maps a single Kolab_Storage group ACL element to the Horde permission system.
4: *
5: * PHP version 5
6: *
7: * @category Horde
8: * @package Perms
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=Perms
12: */
13:
14: /**
15: * Maps a single Kolab_Storage group ACL element to the Horde permission system.
16: *
17: * Copyright 2006-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 Horde
23: * @package Perms
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=Perms
27: */
28: class Horde_Perms_Permission_Kolab_Acl_Group
29: extends Horde_Perms_Permission_Kolab_Acl
30: {
31: /**
32: * The group id.
33: *
34: * @var string
35: */
36: private $_id;
37:
38: /**
39: * The group handler.
40: *
41: * @var Group
42: */
43: private $_groups;
44:
45: /**
46: * Constructor.
47: *
48: * @param string $acl The folder ACL element as provided by
49: * the driver.
50: * @param string $id The group id.
51: */
52: public function __construct($acl, $id)
53: {
54: $this->_id = $id;
55: parent::__construct($acl);
56: }
57:
58: /**
59: * Convert the Acl string to a Horde_Perms:: mask and store it in the
60: * provided data array.
61: *
62: * @param array &$data The horde permission data.
63: *
64: * @return NULL
65: */
66: public function toHorde(array &$data)
67: {
68: $data['groups'][$this->_id] = $this->convertAclToMask();
69: }
70: }
71: