[Tickets #11626] Re: ActiveSync : auto detection of special folders (trash, sent, etc...) and hierarchy fails
bugs at horde.org
bugs at horde.org
Mon Nov 5 19:16:35 UTC 2012
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/11626
------------------------------------------------------------------------------
Ticket | 11626
Updated By | Michael Rubinsky <mrubinsk at horde.org>
Summary | ActiveSync : auto detection of special folders (trash,
| sent, etc...) and hierarchy fails
Queue | Synchronization
Version | Git master
Type | Bug
State | Assigned
Priority | 2. Medium
Milestone |
Patch |
Owners | Michael Rubinsky
------------------------------------------------------------------------------
Michael Rubinsky <mrubinsk at horde.org> (2012-11-05 19:16) wrote:
> Ok, finally, I found a cleaner fix for the hierarchy problem.
>
> Juste replace line 1827 by :
>
> $parts = explode($f['d'], $sid);
So, in your case $f['label'] doesn't contain the full name with the
delimiters? What *does* it contain?
>
> and forget the block
>
> if (!empty($fl["INBOX." . implode($f['d'], $parts)])) {
> $folder->parentid = "INBOX." . implode($f['d'], $parts);
> $folder->displayname = $displayname;
> }
>
> Ryu
>
>> Ouch ! I forgot a change...
>>
>> I replaced the "split" function, line 1827 (which seems to return an
>> empty array) by "explode". Futhermore, split is deprecated since php
>> 5.3.0
>>
>> Ryu
>>
>>> Ok, I think I have the solution...
>>>
>>> For the first problem => bad type for special folders
>>>
>>> in Horde Framework / Core/ActiveSync/Driver.php, ~ line 1862 :
>>> replace mailbox property from "basename" to "value" for each special
>>> folders.
>>>
>>> INBOX prefix was missing with basename...
>>>
>>> With this fix, types are ok in ActiveSync
>>>
>>> ============================================
>>>
>>> Next, for the hierarchy problem.
>>> Always the same file (Core/ActiveSync/Driver.php), just above, ~ line 1829
>>>
>>> Add INBOX prefix
>>>
>>> if (!empty($fl["INBOX." . implode($f['d'], $parts)])) {
>>> $folder->parentid = "INBOX." . implode($f['d'], $parts);
>>> $folder->displayname = $displayname;
>>> }
>>>
>>> ============================================
>>>
>>> I don't know if it is the good fix... Maybe there is a cleaner
>>> solution ! But this works...
>>>
>>> Ryu
>>
>
More information about the bugs
mailing list