Hi Stefan,
thanks for the bug report.
The bug (and other ones related to newer postgres versions) are fixed in
the current release 1.4. The old version 1.2 is no longer supported by
the egroupware project.
Committing the fix is of cause easy, thought there would be no new 1.2
release, as 1.2 also has other security, php5 and postgres related problems.
I can only recommend to update eGroupWare version 1.4, which is still in
testing in debian afaik.
Ralf
Stefan Bellon schrieb:
Package: egroupware-infolog
Version: 1.2.107-2.dfsg-2
Severity: serious
Tags: patch
--- Please enter the report below this line. ---
After upgrading to egroupware version 1.2.107, the day view in the
calendar does not work for single users anymore, only for groups. Week
and month views still work for single users. The error message one gets
when visiting a person's day view is the following:
Database error: Invalid SQL: SELECT main.info_id FROM egw_infolog main
WHERE ( ((info_owner=6 AND info_responsible=0 OR
','||info_responsible||',' LIKE '%,6,%') AND (info_owner=6 OR
(','||info_responsible||',' LIKE '%,6,%' AND info_access='public') OR
info_owner IN (6) OR (info_access='public' AND info_owner
IN(-11,6,12,7,9,-1,8,-10))) ) AND NOT (info_status IN
('done','billed','cancelled')) AND info_startdate '1204326000' )
pgsql Error: -1 (ERROR: operator does not exist: character varying =
integer LINE 1: ... main WHERE ( ((info_owner=6 AND info_responsible=0
OR ','|... ^ HINT: No operator matches the given name and argument
type(s). You might need to add explicit type casts.)
File: /usr/share/egroupware/infolog/inc/class.soinfolog.inc.php
Line: 590
Function: soinfolog::search / boinfolog::search /
boinfolog::cal_to_include /
ExecMethod(infolog.boinfolog.cal_to_include) / hooks::single /
hooks::process / uiviews::get_todos / uiviews::day /
ExecMethod(calendar.uiviews.day)
Session halted.
Having looked at the database schema of egw_infolog I verified that
postgresql is correct here as the info_responsible column is of type
character varying but gets compared to integer. Having looked
inside /usr/share/egroupware/infolog/inc/class.soinfolog.inc.php I
indeed spotted the problem in line 167 where info_responsible=0 is
missing the quotation marks to make the 0 a string literal. After
replacing it with info_responsible='0', the day view works again.
--- System information. ---
Architecture: i386
Kernel: Linux 2.6.16
Debian Release: lenny/sid
500 unstablewww.debian-multimedia.org
500 unstableftp.debian.org
--- Package information. ---
Depends (Version) | Installed
=-+-=
egroupware-core (= 1.2.107-2.dfsg-2) | 1.2.107-2.dfsg-2
egroupware-etemplate (= 1.2.107-2.dfsg-2) | 1.2.107-2.dfsg-2
--
Ralf Becker
eGroupWare Training Support == http://www.egroupware-support.de
Outdoor Unlimited Training GmbH [www.outdoor-training.de]
Handelsregister HRB Kaiserslautern 3587
Geschäftsführer Birgit und Ralf Becker
Leibnizstr. 17, 67663 Kaiserslautern, Germany
Telefon +49 (0)631 31657-0