[Tickets #11626] Re: ActiveSync : auto detection of special folders (trash, sent, etc...) and hierarchy fails

bugs at horde.org bugs at horde.org
Sat Nov 3 11:23:28 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         | ryu at ryux.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
------------------------------------------------------------------------------


ryu at ryux.org (2012-11-03 11:23) wrote:

Ok, finally, I found a cleaner fix for the hierarchy problem.

Juste replace line 1827 by :

$parts = explode($f['d'], $sid);

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