LINUX.ORG.RU

Плагин Calendar для RoundCube выдает «Internal server error»

 , , ,


0

1

Приветствую! Частично не работает плагин календаря (https://plugins.roundcube.net/packages/kolab/calendar), а именно, выдает ошибку Internal Server Error при попытке добавить в событие участника, в логах пишет следующее:

roundcube: PHP Fatal error:  Class 'Sabre\VObject\Property\Text' not found in /opt/www/roundcubemail-1.2.0/plugins/libcalendaring/libvcalendar.php on line 1386
Уже неделю голову ломаю! Подскажите, если кто в курсе, как побороть эту проблему.


Убунта?

http://users.kolab.narkive.com/aBEERSx2/class-sabre-vobject-property-text-not-found - не оно?

I'm posting back as I found the solution for the problem (just in case somebody else look for that):

cd /usr/share/roundcubemail
mv composer.json-dist composer.json
apt-get install composer
composer.sh self-update
composer.sh update
composer.sh require sabre/dav ~3.1.3

And it works. The dependency seems to be missing from ubuntu package content.

alchemist
()
Ответ на: комментарий от alchemist

1.cd /usr/share/roundcubemail

2.mv composer.json-dist composer.json

3.apt-get install composer

4.composer.sh self-update

5.composer.sh update

6.composer.sh require sabre/dav ~3.1.3

Спасибо за ответ! 1 и 2 сделал, на 3 получил ответ, что такого пакета нету и сделал по этой инструкции: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-14-04 4,5 и 6 тоже сделал, ошибка «Internal Server Error» пропала, но теперь при подтверждении события от участника происходит следующая ошибка:

в браузере «Не удалось импортировать событие»

в логах:

roundcube: <96tq8u9h> PHP Error: iCal data parse error: Starting sabre/vobject 4.0 the children property is now protected. You should use the children() method instead in /opt/www/roundcubemail-1.2.0/plugins/libcalendaring/libvcalendar.php on line 155 (POST /mail/?_task=calendar&_framed=1&_action=mailimportitip)
Интернет по этой ошибке не многословен. Я так понял это из-за плагина rcmcarddav, когда его отключаешь то все события импортируются, правда нету такой удобной формы как с rcmcarddav. С плагином rcmcarddav я выполнил все требования, которые описаны здесь: https://github.com/blind-coder/rcmcarddav/blob/master/INSTALL но к сожалению не помогло, пока что пытаюсь решить проблему, но если вдруг Вы сталкивались с таким и знаете решение, то буду благодарен, если поделитесь им. Спасибо еще раз за помощь.

Sherman
() автор топика
Ответ на: комментарий от Sherman

С таки не сталкивался (да и вообще с roundcube, php, sabre и прочим дел практически не имел), но:

- Эта ошибка происходит из-за того, что sabre/vobject у вас установлен версии 4.х, а нечто под названием «libcalendaring» желает третью версию этой либы. А именно оно пытается получить доступ к $Vcalendar::$children, который в 4 версии заменили на геттер $Vcalendar->children() (и правильно сделали)

- Выхода два - либо адаптировать все под новый sabre/vobject, это долго и чревато, либо поставить старую версию. Как это сделать не подскажу, как уже говорил php не моя стихия =) Возможно как то через composer.

alchemist
()
Ответ на: комментарий от alchemist

Спасибо за ответ. Sabre я сам обновил в надежде, что ошибка исчезнет, но как видите. И дело отнюдь не в libcalendaring (хотя может я и ошибаюсь), а в rcmcarddav (название плагина говорит само за себя, но из его функционала не работает интеграция с calendar, когда юзеру приходит приглашение на почту, то он имеет удобный интерфейс управления приглашением(принять, отменить etc.), который предоставляется самим rcmcarddav). Но во всяком случае я еще покопаю в сторону sabre.

P.S. А вообще пора бы уже все это настроить с нуля, потому как это экспериментальный вариант и там установлена такая куча «ujdyf», что я вообще удивлен, как оно работает.

Sherman
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.