[Tickets #6048] Re: cannot add ACLs to kolab's default tasklist "Aufgaben" (German)
bugs at horde.org
bugs at horde.org
Wed Dec 26 15:42:36 UTC 2007
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/?id=6048
-----------------------------------------------------------------------
Ticket | 6048
Updated By | m.gabriel at das-netzwerkteam.de
Summary | cannot add ACLs to kolab's default tasklist "Aufgaben" (German)
Queue | Kolab
Type | Bug
State | Feedback
Priority | 2. Medium
Owners |
-----------------------------------------------------------------------
m.gabriel at das-netzwerkteam.de (2007-12-26 10:42) wrote:
i have played around with it a little more.
i have replaced the original method in lib/Horde/Share.php:
function &getShareById($cid)
{
if (!isset($this->_shareMap[$cid])) {
$share = &$this->_getShareById($cid);
if (is_a($share, 'PEAR_Error')) {
return $share;
}
$share->setShareOb($this);
$name = $share->getName();
$this->_cache[$name] = &$share;
$this->_shareMap[$cid] = $name;
}
return $this->_cache[$this->_shareMap[$cid]];
}
by my own debug version (what it does: do not use _cache, but update
_cache):
function &getShareById($cid)
{
$share = &$this->_getShareById($cid);
if (is_a($share, 'PEAR_Error')) {
return $share;
}
$share->setShareOb($this);
$name = $share->getName();
$this->_cache[$name] = &$share;
$this->_shareMap[$cid] = $name;
return $share
}
this debug method raises the same error...
BUT!!! if i comment out one line in my this debug method, it suddenly
works (although on the first spot this does not make sense...):
function &getShareById($cid)
{
$share = &$this->_getShareById($cid);
if (is_a($share, 'PEAR_Error')) {
return $share;
}
$share->setShareOb($this);
$name = $share->getName();
$this->_cache[$name] = &$share;
/*
* $this->_shareMap[$cid] = $name;
*/
return $share
}
and the return value of the original getShareById() method is exactly what
is stored in $this->_shareMap[$cid] ("INBOX/Aufgaben", "INBOX/Aufgaben
(PRIVAT)", etc. i.e. the corresponding share name).
is it possible that $this->_cache[$name] and $this->_shareMap[$cid] refer
to the same data structure????
weird things going on in php...
BTW: where is the _shareMap stored? datatree, php session, filesystem?
hope this helps...
mike
More information about the bugs
mailing list