[Kolab-devel] Calendar plugin syntax error with PHP 5.4

Enrico Tagliavini <[email protected]> Mon, 12 Apr 2021 18:28:53 +0200
Newsgroups gmane.comp.kde.devel.kolab
Message-ID <CAMQd7mYm1vUex2ZNRV4YLJN2XGu_-NXng-RFJOf-aPLL-vs-4w__12777.1390763641$1618245572$gmane$org@mail.gmail.com>
--00000000000016a96505bfc90366
Content-Type: text/plain; charset="UTF-8"

Dear all,

I tried to register on your gitlab to report this issue, but nothing I
tried worked. Google and github authenticators are not authorized for
registration, so I'm writing here instead.

With the update of today the package
roundcubemail-plugin-calendar-3.5.6-2.1.el7.kolab_16.noarch was pushed
(previous version was 3.5.5-3). After the update roundcube web
interface stops working returning error 500. The roundcube error log
shows

[12-Apr-2021 15:49:58 UTC] PHP Fatal error:  Can't use function return
value in write context in
/usr/share/roundcubemail/plugins/calendar/calendar.php on line 862

It looks like the way the empty() function is used is valid only for
PHP 5.5 and up and not for PHP 5.4 which is what is used by default
for Kolab on CentOS 7 systems.

The fix is quite straightforward (also attached)


--- /usr/share/roundcubemail/plugins/calendar/calendar.php.orig
2021-04-12 17:54:29.890162437 +0200
+++ /usr/share/roundcubemail/plugins/calendar/calendar.php
2021-04-12 17:56:35.911593383 +0200
@@ -844,6 +844,7 @@
            $birthdays_alarm_offset =
rcube_utils::get_input_value('_birthdays_alarm_offset',
rcube_utils::INPUT_POST);
            $birthdays_alarm_value  =
rcube_utils::get_input_value('_birthdays_alarm_value',
rcube_utils::INPUT_POST);
            $birthdays_alarm_value  = $birthdays_alarm_offset[0] .
intval($birthdays_alarm_value) . $birthdays_alarm_offset[1];
+            $calendar_contact_birthdays_value =
rcube_utils::get_input_value('_contact_birthdays',
rcube_utils::INPUT_POST);

            $p['prefs'] = [
                'calendar_default_view' =>
rcube_utils::get_input_value('_default_view',
rcube_utils::INPUT_POST),
@@ -859,7 +860,8 @@
                'calendar_default_calendar'     =>
rcube_utils::get_input_value('_default_calendar',
rcube_utils::INPUT_POST),
                'calendar_date_format'          => null,  // clear
previously saved values
                'calendar_time_format'          => null,
-                'calendar_contact_birthdays'      =>
!empty(rcube_utils::get_input_value('_contact_birthdays',
rcube_utils::INPUT_POST)),
+#                'calendar_contact_birthdays'      =>
!empty(rcube_utils::get_input_value('_contact_birthdays',
rcube_utils::INPUT_POST)),
+                'calendar_contact_birthdays'      =>
!empty($calendar_contact_birthdays_value),
                'calendar_birthday_adressbooks'   => (array)
rcube_utils::get_input_value('_birthday_adressbooks',
rcube_utils::INPUT_POST),
                'calendar_birthdays_alarm_type'   =>
rcube_utils::get_input_value('_birthdays_alarm_type',
rcube_utils::INPUT_POST),
                'calendar_birthdays_alarm_offset' =>
$birthdays_alarm_value ?: null,



Kind regards.

Enrico

--00000000000016a96505bfc90366
Content-Type: text/x-patch; charset="US-ASCII"; name="fix_kolab_calendar.patch"
Content-Disposition: attachment; filename="fix_kolab_calendar.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_knet8t770>
X-Attachment-Id: f_knet8t770

LS0tIC91c3Ivc2hhcmUvcm91bmRjdWJlbWFpbC9wbHVnaW5zL2NhbGVuZGFyL2NhbGVuZGFyLnBo
cC5vcmlnIDIwMjEtMDQtMTIgMTc6NTQ6MjkuODkwMTYyNDM3ICswMjAwCisrKyAvdXNyL3NoYXJl
L3JvdW5kY3ViZW1haWwvcGx1Z2lucy9jYWxlbmRhci9jYWxlbmRhci5waHAgICAgICAyMDIxLTA0
LTEyIDE3OjU2OjM1LjkxMTU5MzM4MyArMDIwMApAQCAtODQ0LDYgKzg0NCw3IEBACiAgICAgICAg
ICAgICAkYmlydGhkYXlzX2FsYXJtX29mZnNldCA9IHJjdWJlX3V0aWxzOjpnZXRfaW5wdXRfdmFs
dWUoJ19iaXJ0aGRheXNfYWxhcm1fb2Zmc2V0JywgcmN1YmVfdXRpbHM6OklOUFVUX1BPU1QpOwog
ICAgICAgICAgICAgJGJpcnRoZGF5c19hbGFybV92YWx1ZSAgPSByY3ViZV91dGlsczo6Z2V0X2lu
cHV0X3ZhbHVlKCdfYmlydGhkYXlzX2FsYXJtX3ZhbHVlJywgcmN1YmVfdXRpbHM6OklOUFVUX1BP
U1QpOwogICAgICAgICAgICAgJGJpcnRoZGF5c19hbGFybV92YWx1ZSAgPSAkYmlydGhkYXlzX2Fs
YXJtX29mZnNldFswXSAuIGludHZhbCgkYmlydGhkYXlzX2FsYXJtX3ZhbHVlKSAuICRiaXJ0aGRh
eXNfYWxhcm1fb2Zmc2V0WzFdOworICAgICAgICAgICAgJGNhbGVuZGFyX2NvbnRhY3RfYmlydGhk
YXlzX3ZhbHVlID0gcmN1YmVfdXRpbHM6OmdldF9pbnB1dF92YWx1ZSgnX2NvbnRhY3RfYmlydGhk
YXlzJywgcmN1YmVfdXRpbHM6OklOUFVUX1BPU1QpOwogCiAgICAgICAgICAgICAkcFsncHJlZnMn
XSA9IFsKICAgICAgICAgICAgICAgICAnY2FsZW5kYXJfZGVmYXVsdF92aWV3JyA9PiByY3ViZV91
dGlsczo6Z2V0X2lucHV0X3ZhbHVlKCdfZGVmYXVsdF92aWV3JywgcmN1YmVfdXRpbHM6OklOUFVU
X1BPU1QpLApAQCAtODU5LDcgKzg2MCw4IEBACiAgICAgICAgICAgICAgICAgJ2NhbGVuZGFyX2Rl
ZmF1bHRfY2FsZW5kYXInICAgICA9PiByY3ViZV91dGlsczo6Z2V0X2lucHV0X3ZhbHVlKCdfZGVm
YXVsdF9jYWxlbmRhcicsIHJjdWJlX3V0aWxzOjpJTlBVVF9QT1NUKSwKICAgICAgICAgICAgICAg
ICAnY2FsZW5kYXJfZGF0ZV9mb3JtYXQnICAgICAgICAgID0+IG51bGwsICAvLyBjbGVhciBwcmV2
aW91c2x5IHNhdmVkIHZhbHVlcwogICAgICAgICAgICAgICAgICdjYWxlbmRhcl90aW1lX2Zvcm1h
dCcgICAgICAgICAgPT4gbnVsbCwKLSAgICAgICAgICAgICAgICAnY2FsZW5kYXJfY29udGFjdF9i
aXJ0aGRheXMnICAgICAgPT4gIWVtcHR5KHJjdWJlX3V0aWxzOjpnZXRfaW5wdXRfdmFsdWUoJ19j
b250YWN0X2JpcnRoZGF5cycsIHJjdWJlX3V0aWxzOjpJTlBVVF9QT1NUKSksCisjICAgICAgICAg
ICAgICAgICdjYWxlbmRhcl9jb250YWN0X2JpcnRoZGF5cycgICAgICA9PiAhZW1wdHkocmN1YmVf
dXRpbHM6OmdldF9pbnB1dF92YWx1ZSgnX2NvbnRhY3RfYmlydGhkYXlzJywgcmN1YmVfdXRpbHM6
OklOUFVUX1BPU1QpKSwKKyAgICAgICAgICAgICAgICAnY2FsZW5kYXJfY29udGFjdF9iaXJ0aGRh
eXMnICAgICAgPT4gIWVtcHR5KCRjYWxlbmRhcl9jb250YWN0X2JpcnRoZGF5c192YWx1ZSksCiAg
ICAgICAgICAgICAgICAgJ2NhbGVuZGFyX2JpcnRoZGF5X2FkcmVzc2Jvb2tzJyAgID0+IChhcnJh
eSkgcmN1YmVfdXRpbHM6OmdldF9pbnB1dF92YWx1ZSgnX2JpcnRoZGF5X2FkcmVzc2Jvb2tzJywg
cmN1YmVfdXRpbHM6OklOUFVUX1BPU1QpLAogICAgICAgICAgICAgICAgICdjYWxlbmRhcl9iaXJ0
aGRheXNfYWxhcm1fdHlwZScgICA9PiByY3ViZV91dGlsczo6Z2V0X2lucHV0X3ZhbHVlKCdfYmly
dGhkYXlzX2FsYXJtX3R5cGUnLCByY3ViZV91dGlsczo6SU5QVVRfUE9TVCksCiAgICAgICAgICAg
ICAgICAgJ2NhbGVuZGFyX2JpcnRoZGF5c19hbGFybV9vZmZzZXQnID0+ICRiaXJ0aGRheXNfYWxh
cm1fdmFsdWUgPzogbnVsbCwK
--00000000000016a96505bfc90366
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
devel mailing list
[email protected]
https://lists.kolab.org/mailman/listinfo/devel
--00000000000016a96505bfc90366--