• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Resolved Onyx, Horde (Kronolith) and WebDAV

Boas Simon

Basic Pleskian
Hi,

I have an issue with my horde installation
  • Plesk Onyx Version 17.0.17 Update #13
  • Horde 5.2.11 (comig with plesk, so psa-horde)
I try to connect Tunderbird lightning via WebDAV to the calendar, but nothing happens. Thunderbird gives no error messages but no calendar entries are synced.
Horde's logfile (/var/log/psa-horde/psa-horde.log) says:
[30-Jan-2017 12:56:26 Europe/Berlin] PHP Fatal error: Call to a member function toHash() on a non-object in /usr/share/psa-horde/kronolith/lib/Application.php on line 690
2017-01-30T12:56:26+01:00 EMERG: HORDE [kronolith] Call to a member function toHash() on a non-object [pid 3237 on line 690 of "/usr/share/psa-horde/kronolith/lib/Application.php"]

line 960 in Application.php is a "->toHash" call in a "public function davGetCollections($user)". I'm not a programmer, so i don't understand the code. Here is the function:

public function davGetCollections($user)
{
global $calendar_manager, $injector, $registry;

$hordeUser = $registry->convertUsername($user, true);
$shares = $injector->getInstance('Kronolith_Shares')
->listShares($hordeUser);
$dav = $injector->getInstance('Horde_Dav_Storage');
$calendars = array();
foreach ($shares as $id => $share) {
if ($user == '-system-' && $share->get('owner')) {
continue;
}
$calendar = $calendar_manager
->getEntry(Kronolith::ALL_CALENDARS, $id)
->toHash();
try {
$id = $dav->getExternalCollectionId($id, 'calendar');
} catch (Horde_Dav_Exception $e) {
}
$calendars[] = array(
'id' => $id,
'uri' => $id,
'{' . CalDAV\Plugin::NS_CALENDARSERVER . '}shared-url' =>
$calendar['caldav'],
'principaluri' => 'principals/' . $user,
'{http://sabredav.org/ns}owner-principal' =>
'principals/'
. ($share->get('owner')
? $registry->convertUsername($share->get('owner'), false)
: '-system-'
),
'{DAV:}displayname' => Kronolith::getLabel($share),
'{' . CalDAV\Plugin::NS_CALDAV . '}calendar-description' =>
$share->get('desc'),
'{http://apple.com/ns/ical/}calendar-color' =>
$share->get('color') . 'ff',
'{' . CalDAV\Plugin::NS_CALDAV . '}supported-calendar-component-set' => new CalDAV\Property\SupportedCalendarComponentSet(array('VEVENT')),
'{http://sabredav.org/ns}read-only' => !$share->hasPermission($hordeUser, Horde_Perms::EDIT),
);
}
return $calendars;


What's wrong?
Thanks,
Boas
 
Hi IgorG,
problem solved - adding "calendar.network.multirealm=true" to Thunderbird config is a solution.

Thanks again!
Boas
 
Back
Top