/** * resolves a single path * * @param String $_path * @return array of container ids */ protected function _resolvePath($_path) { $containerIds = array(); if ($containerId = Tinebase_Model_Container::pathIsContainer($_path)) { if ($this->_options['ignoreAcl'] == TRUE) { $containerIds[] = $containerId; } else { if (Tinebase_Core::getUser()->hasGrant($containerId, $this->_requiredGrants)) { $containerIds[] = $containerId; } } } else { if ($ownerId = Tinebase_Model_Container::pathIsPersonalNode($_path)) { $containerIds = $this->_resolveContainerNode('personal', $ownerId); } else { $node = $_path == '/' ? 'all' : substr($_path, 1); $node = $node === 'personal' ? Tinebase_Model_Container::TYPE_OTHERUSERS : $node; $containerIds = $this->_resolveContainerNode($node); } } return $containerIds; }