Page MenuHomePhorge

User personal calendars marked as 'other' - when username has a @
Closed, ResolvedPublic

Description

kolab-plugins git pull as of Apr 10, 2024 (last commit 0333d78048c591aae9fbd3b8bca54c29cdbb33b5 - fix phpstan error)

This was tested on radicale, but $owner = $this->get_owner(); is returning a url encoded string

ex:/ if the login is example@domain.com, it was returning example%40domain.com, causing the $owner != $user codepath to trigger.

  • Unknown if radicale is giving this directly, or something after that changes it
  • Untested with cyrus imapd

Worked around that on our setup with adding:

if ($owner != $user) $owner = urldecode($owner);

<pre>
libkolab/lib/kolab_storage_dav_folder.php

public function get_namespace()
{
    // TODO: Support for global shared folders?

    $owner = $this->get_owner();
    $user = rcube::get_instance()->get_user_name();

+ if ($owner != $user) $owner = urldecode($owner);

    if ($owner != $user) {
        return 'other';
    }

    return 'personal';
}

</pre>

Details

Ticket Type
Task