- Timestamp:
- 03/15/12 16:41:03 (12 years ago)
- Location:
- trunk/prototype/modules/calendar
- Files:
-
- 2 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 -
trunk/prototype/modules/calendar/js/calendar.codecs.js
r5729 r5737 687 687 var formatString = ( typeof form.allDay !== "undefined" && !!form.allDay )? User.preferences.dateFormat+" HH:mm" : User.preferences.dateFormat + " " + User.preferences.hourFormat; 688 688 689 var date = Date.parseExact( form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ). add( { days: 1 } ).toString('yyyy-MM-dd HH:mm:00');689 var date = Date.parseExact( form.startDate + (!!form.allDay ? " 00:00": " "+$.trim(form.startHour)) , formatString ).toString('yyyy-MM-dd HH:mm:00'); 690 690 691 691 patati['startTime'] = date.toString('yyyy-MM-dd HH:mm:00'); … … 979 979 var duration = parseInt( evt.endTime ) - parseInt( evt.startTime ), isRepeat = false; 980 980 981 var occurrences = [ evt.startTime];981 var occurrences = []; 982 982 983 983 if( evt.occurrences ) … … 986 986 occurrences = evt.occurrences; 987 987 } 988 989 occurrences[ occurrences.length ] = evt.startTime; 990 991 occurrences = DataLayer.unique( occurrences ); 988 992 989 993 for( var i = 0; i < occurrences.length; i++ )
Note: See TracChangeset
for help on using the changeset viewer.