- Timestamp:
- 03/15/12 16:41:03 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/interceptors/DBMapping.php
r5731 r5737 107 107 $end = $criteria['filter'][2][2]; 108 108 109 $sql = ' SELECT calendar_object.id as id ,calendar_object.cal_uid as "uid", calendar_object.type_id as "type", calendar_object.dtstart as "startTime", calendar_object.summary as "summary", calendar_object.description as "description", calendar_object.dtend as "endTime" , calendar_object.location as "location", calendar_object.allday as "allDay", calendar_object.transp as "transparent", calendar_object.class_id as "class", calendar_object.repeat as "repeat", calendar_object.range_start as "rangeStart",calendar_object.range_end as "rangeEnd", calendar_object.last_update as "lastUpdate", calendar_object.dtstamp as "dtstamp", calendar_object.sequence as "sequence", calendar_object.tzid as "timezone" ,calendar_to_calendar_object.calendar_id as calendar FROM calendar_to_calendar_object , calendar_object WHERE (range_start >= \''.$start.'\' AND range_end <= \''.$end.'\' AND calendar_to_calendar_object.calendar_id IN (\''. implode('\',\'', $criteria['filter'][3][2]).'\')) AND calendar_to_calendar_object.calendar_object_id = calendar_object.id'; 110 109 $ids = array(); 110 $occ = array(); 111 112 if( $occurrences = self::checkOccurrences( $start, $end, intval($criteria['deepness']) + 1 ) ) 113 foreach( $occurrences as $id => $occurrence ) 114 { 115 $ids[] = $id; 116 $occ[] = $occurrence; 117 } 118 119 $sql = ' SELECT calendar_object.id as id ,calendar_object.cal_uid as "uid", calendar_object.type_id as "type", calendar_object.dtstart as "startTime", calendar_object.summary as "summary", calendar_object.description as "description", calendar_object.dtend as "endTime" , calendar_object.location as "location", calendar_object.allday as "allDay", calendar_object.transp as "transparent", calendar_object.class_id as "class", calendar_object.repeat as "repeat", calendar_object.range_start as "rangeStart",calendar_object.range_end as "rangeEnd", calendar_object.last_update as "lastUpdate", calendar_object.dtstamp as "dtstamp", calendar_object.sequence as "sequence", calendar_object.tzid as "timezone" ,calendar_to_calendar_object.calendar_id as calendar FROM calendar_to_calendar_object , calendar_object WHERE (range_start >= \''.$start.'\' AND range_end <= \''.$end.'\' AND calendar_to_calendar_object.calendar_id IN (\''. implode('\',\'', $criteria['filter'][3][2]).'\')) AND calendar_to_calendar_object.calendar_object_id = calendar_object.id'.( !empty($ids) ? ' AND calendar_object.id NOT IN (\'' .implode( '\',\'', $ids ). '\')' : ''); 120 111 121 $params = Controller::service('PostgreSQL')->execResultSql($sql); 112 122 $params = self::deepnessFindEvent( &$uri , &$params , &$criteria , $original); 113 114 $occ = self::checkOccurrences( $criteria['filter'][1][2], $criteria['filter'][2][2], intval($criteria['deepness']) + 1 ); 115 116 if( $occ ) 117 $params = array_merge( $params, $occ ); 123 124 $params = array_merge( $params, $occ ); 118 125 119 126 return false; … … 252 259 { 253 260 $result[ $currentId ] = $ret['repeat']['schedulable']; 261 $result[ $currentId ]['repeat']['schedulable'] = $currentId; 262 254 263 $result[ $currentId ][ 'occurrences' ] = array(); 255 264 256 265 $calendarToCalendarObj = self::schedulable2calendarToObject( $currentId ); 257 266 258 $result[ $currentId ]['calendar'] = $calendarToCalendarObj[0]['calendar_id']; 259 260 unset( $result[ $currentId ]['repeat'] ); 267 $result[ $currentId ]['calendar'] = $calendarToCalendarObj[0]['calendar_id']; 261 268 } 262 269 263 270 $result[ $currentId ][ 'occurrences' ][] = $ret['occurrence']; 264 265 271 } 266 272 267 foreach( $result as $id => $res ) 268 $params[] = $res; 269 270 return( $params ); 273 return( $result ); 271 274 } 272 275
Note: See TracChangeset
for help on using the changeset viewer.