6.0.0-beta1
7/27/25
  • Error
    Ticket 5625 was not found.

[#6034] users' kolab addressbook entries not editable
Summary users' kolab addressbook entries not editable
Queue Kolab
Type Bug
State Resolved
Priority 1. Low
Owners wrobel (at) horde (dot) org
Requester m.gabriel (at) das-netzwerkteam (dot) de
Created 12/24/2007 (6425 days ago)
Due
Updated 03/20/2008 (6338 days ago)
Assigned 12/26/2007 (6423 days ago)
Resolved 03/20/2008 (6338 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
03/20/2008 10:01:15 PM Chuck Hagenbuch Comment #7
Assigned to Gunnar Wrobel
State ⇒ Resolved
Reply to this comment
Thanks.
03/20/2008 07:48:24 PM m (dot) gabriel (at) das-netzwerkteam (dot) de Comment #6 Reply to this comment
this issue is gone in current horde cvs... please close the ticket.
01/16/2008 10:47:59 PM Jan Schneider Priority ⇒ 1. Low
State ⇒ No Feedback
 
12/26/2007 03:43:29 PM Chuck Hagenbuch Comment #5 Reply to this comment
What might be most instructive is to var_dump the $this->driver object 
in Object.php, and then put a var_dump($this) inside getName() in 
Driver.php. See if the two objects match.



If you're posting object dumps please try to be selective as there are 
some recursive references that make things a bit repetitive. Also, 
please post them as text attachments to the ticket instead of mailing 
them to someone privately.



Thanks!
12/26/2007 12:07:56 PM m (dot) gabriel (at) das-netzwerkteam (dot) de Comment #4 Reply to this comment
i am using php-version 5.2.4-2 (as currently in debian 
testing/unstable). i have sent a phpinfo page link to chuck directly 
for further reference...



a table row for my kolab user default abook (INBOX/Kontakte) in html 
looks like this:



<tr class="">

   <td><label for="INBOX/Kontakte:ed447a863b47cbf07628091605afb456" 
class="hidden">Kontakt auswählen</label><input class="checkbox" 
name="objectkeys[]" 
id="INBOX/Kontakte:ed447a863b47cbf07628091605afb456" 
value="INBOX/Kontakte:ed447a863b47cbf07628091605afb456" 
type="checkbox"></td>

   <td><a nicetitle="Bearbeiten" 
href="/mailxchange/turba/contact.php?view=EditContact&amp;source=INBOX%2FKontakte&amp;key=ed447a863b47cbf07628091605afb456&amp;url=%2Fmailxchange%2Fturba%2Fbrowse.php"><img src="/mailxchange/themes/graphics/edit.png" alt="Bearbeiten" 
title=""></a></td>

   <td><a nicetitle="vCard herunterladen" 
href="/mailxchange/turba/vcard.php?source=INBOX%2FKontakte&amp;key=ed447a863b47cbf07628091605afb456"><img src="/mailxchange/themes/graphics/mime/vcard.png" alt="vCard herunterladen" 
title=""></a></td>

   <td>&nbsp;</td>

   <td class="linedRowSelectedCol"><a 
href="/mailxchange/turba/contact.php?source=user%40mailserver.dom&amp;key=ed447a863b47cbf07628091605afb456">Test 
Abookuser</a></td></tr>



in the several hrefs the option "source" is passed to the contact.php 
script. once it says



   source=user%40mailserver.dom



which works fine (renderer by ob::url() in row.inc).



the other times it says



   source=INBOX%2FKontakte



which breaks kolab/cyrus (rendered by ob::getSource() in row.inc).



for more information on the related turba object i have sent a 
Var_Dump() of one $ob in row.inc to chuck directly.



thanks,

mike
12/26/2007 03:25:14 AM Chuck Hagenbuch Comment #3
State ⇒ Feedback
Reply to this comment

[Show Quoted Text - 19 lines]
I'm going to need to see some other info about what object is what for 
this patch to make sense. What PHP version are you running? Have you 
tried using debug_backtrace() and var_dump() on the objects involved 
to see why the $name property seems to differ?
12/26/2007 03:17:47 AM m (dot) gabriel (at) das-netzwerkteam (dot) de Comment #2
New Attachment: Object.php.patch Download
Reply to this comment
did a bit of debugging...



the problem is that with kolab the source of kolab's default user 
contact folder is equal to the user's email adress. other non-default 
contact folders have the name of the cyrus path, e.g. 
INBOX/Contacts_private.



So address book entries in non-default contact folders are 
modifiable... but not so the kolab user default contact folder...



the issue originates in turba/lib/ListView.php and goes further down 
into turba/lib/Object.php. Everything rendered in ListView.php is 
passed on to further pages (view.php, edit.php, etc. by 
Variables::getDefaultVariables())



when rendering a table row (row.inc) in ListView.php, the method 
ob->getSource() (row.inc) returns INBOX/Contacts for the kolab user 
default contact folder, but should return user@domain.



looking closely at the Turba_Driver::getSource() method in 
turba/lib/Object.php:



<quoting>

function getSource() {

   return $this->driver->getName()

}

</quoting>



this should call the Turba_Driver::getName() method in 
turba/lib/Driver.php, which then - in a proper object oriented 
environment - should return



function getName() {

   return $this->driver->name;

}



but it does not... or it does, but we have two different values for 
the same expression ($this->driver->name).



anyway, find a patch attached, that works well with kolab, not sure 
about other backends...






12/24/2007 12:48:45 PM m (dot) gabriel (at) das-netzwerkteam (dot) de Comment #1
Priority ⇒ 3. High
State ⇒ Unconfirmed
Queue ⇒ Kolab
Summary ⇒ users' kolab addressbook entries not editable
Type ⇒ Bug
Reply to this comment
i am using kolab 2.1 (debian unstable), kronolith-2.2-rc1 from the 
horde-webmail-edition-1.1-rc1.



with turba i can add entries to "My Contacts" (kolab-cyrus addressbook 
in user/<mailaddress>/Contacts), i can view them, i can even delete 
them.



but: any modification of a contact item (adding mail address, phone 
number, etc.) is not stored in kolab-cyrus.



works fine when editing contacts with kaddressbook... changes 
performed from kaddressbook are also immediately present in turba.



best & merry x-mas,

mike

Saved Queries