[horde] Horde categories and vCard [SOLVED]

Jan Schneider jan at horde.org
Mon Sep 28 15:30:41 UTC 2009


Zitat von Art <art2crazy at gmail.com>:

> Art <art2crazy <at> gmail.com> writes:
>
>>
>> Jan Schneider <jan <at> horde.org> writes:
>>
>> >
>> > Zitat von Art <art2crazy <at> gmail.com>:
>> >
>> > > Hi,
>> > > My setup is:
>> > >
>> > > Horde 3.3.5
>> > > Turba 2.3.2
>> > >
>> > > First thanks guys for an excellent product; the more I use it the
>> > > better it gets!
>> > > One of the problems I'm having is with horde categories and vCard.
>> > > Category filed in turba/config/attributes.php is set up as follows:
>> > >
>> > > $attributes['category'] = array(
>> > >      'label' => _("Category"),
>> > >      'type' => 'category',
>> > >      'params' => array(),
>> > >      'required' => false
>> > > );
>> > >
>> > > When I export my test address book to vCard everything is OK, but
>> > > when I try to import it back, category is cut to the first letter
>> > > and horde is treating it as new category.
>> > > Ex: if category in vCard is "CATEGORIES:Self" it will be imported as "S"
>> > > I first noticed it during sync with my Pocket PC, but I tested it
>> > > with just a regular import/export from turba and it's as I described
>> > > above. When I change the type to text in attributes file, horde
>> > > imports it correctly.
>> > > So, I guess the question is if this is a known bug/somebody can
>> > > confirm or if not how can I trace is it, and maybe you can tell me
>> > > which file/function is responsible for matching horde categories?
>> >
>> > The mapping between vCard properties and Turba attributes happens in
>> > the toHash() method in turba/lib/Driver.php.
>> >
>> > Jan.
>> >
>> Mapping between vCard and Horde attributes is working; value in the hash
> seems
>> to be OK - when I change the type of the filed to 'text' everything seems
>> fine. It's only when the type of the filed is set to 'category' and turba
>> suppose to use existing horde categories, the value from the hash gets cut
> to
>> just a first letter.
>> Is there some "post-processing"/matching to existing horde categories done
>> somewhere else?
>>
>> Thanks,
>> art
>>
>
> Problem was in turba/lib/Driver.php function toDriverKeys().
>
>         /* Handle category. */
>         if (!empty($hash['category']) &&
>             $GLOBALS['attributes']['category']['type'] == 'category') {
>             if (!empty($hash['category']['new'])) {
>                 require_once 'Horde/Prefs/CategoryManager.php';
>                 $cManager = new Prefs_CategoryManager();
> //                $cManager->add($hash['category']['value']); <--  
> problem line
>                 $cManager->add($hash['category']);
>             }
> //            $hash['category'] = $hash['category']['value']; <--  
> problem line
>         }
>
> I don't know much about php, but it looks like  
> '$hash['category']['value']' is
> causing this problem. When I changed it to just '$hash['category']'  
> everything
> is fine.
> I'm also not really sure why the value in the hash is being overwritten by
> itself (2nd problem line), but I comment it out as well, and now everything
> works as it should.

And can you still edit and create categories through the interface? I bet not.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the horde mailing list