1: <?php
2: /**
3: * Maps a single Horde group permission element to a Kolab_Storage ACL.
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 Horde group permission element to a Kolab_Storage ACL.
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_Element_Group
29: extends Horde_Perms_Permission_Kolab_Element
30: {
31: /**
32: * The Horde group id.
33: *
34: * @var string
35: */
36: private $_horde_id;
37:
38: /**
39: * The Kolab group id.
40: *
41: * @var string
42: */
43: private $_kolab_id;
44:
45: /**
46: * Constructor.
47: *
48: * @param integer $permission The folder permission as provided by
49: * Horde.
50: * @param string $id The group id.
51: * @param Horde_Group_Base $groups The horde group handler.
52: */
53: public function __construct($permission, $id, Horde_Group_Base $groups)
54: {
55: $this->_horde_id = $id;
56: $this->_kolab_id = 'group:' . $groups->getName($id);
57: parent::__construct($permission);
58: }
59:
60: /**
61: * Get the Kolab_Storage ACL id for this permission.
62: *
63: * @return string The ACL string.
64: */
65: public function getId()
66: {
67: return $this->_kolab_id;
68: }
69:
70: /**
71: * Unset the element in the provided permission array.
72: *
73: * @param array &$current The current permission array.
74: *
75: * @return NULL
76: */
77: public function unsetInCurrent(&$current)
78: {
79: unset($current['groups'][$this->_horde_id]);
80: }
81: }
82: