[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-developers] A bug in Calendar app
From: |
Eugene Sandulenko |
Subject: |
[Phpgroupware-developers] A bug in Calendar app |
Date: |
Wed, 9 Jan 2002 07:12:25 +0200 |
Hi all,
another bug appeared in Calendar app. I tried to investigate it by
myself but with no success. The code is still obscure to me.
It happens when I try to switch to another user's calendar.
It dies with error as follows (sorry for a long line):
Database error: Invalid SQL: SELECT DISTINCT
phpgw_cal.cal_id,phpgw_cal.datetime,phpgw_cal.edatetime,phpgw_cal.priority FROM
phpgw_cal, phpgw_cal_user, phpgw_cal_repeats WHERE (phpgw_cal_user.cal_id =
phpgw_cal.cal_id) AND (phpgw_cal_repeats.cal_id = phpgw_cal.cal_id) AND
(phpgw_cal.cal_type='M') AND (phpgw_cal_user.cal_login in () AND
((phpgw_cal_repeats.recur_enddate >= 1007157600) OR
(phpgw_cal_repeats.recur_enddate=0))) ORDER BY phpgw_cal.datetime ASC,
phpgw_cal.edatetime ASC, phpgw_cal.priority ASC
PostgreSQL Error: 1 (ERROR: parser: parse error at or near ")" )
File: /usr/local/www/data/phpgroupware/calendar/inc/class.socalendar_sql.inc.php
Line: 396
The problem particularly lies in this statement:
...AND (phpgw_cal_user.cal_login in () AND...
The code to produce it is located at class.socalendar_sql.inc.php lines 87-104:
code: 87> $sql = "AND (phpgw_cal.cal_type='M') "
code: 88> . 'AND (phpgw_cal_user.cal_login in (';
code: 90> if($owner_id)
code: 91> {
[skipped...]
code: 100> }
code: 101> else
code: 102> {
code: 103> $sql .=
(!$this->is_group?$this->owner:implode(',',$this->g_owner));
code: 104> }
For some reason $this->is_group is set but array $this->g_owner is
empty. This produces '()' which upsets DBMS.
The execution stage for this code is call to
$this->bo->store_to_cache() in mini_calendar().
Eugene
- [Phpgroupware-developers] A bug in Calendar app,
Eugene Sandulenko <=