Changeset 6378
- Timestamp:
- 06/01/12 13:04:37 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/alarms.php
r6111 r6378 10 10 $target = (gmdate('U') - 300 ).'000'; 11 11 12 $parts = Controller::service('PostgreSQL')->execSql( "SELECT calendar_participant.user_info_id as user, co.id as schedulable, co.dtend as endTime, co.dtstart as startTime, co.summary as summary, co.tzid as timezone, co.location as location, al.id as id ".13 "FROM calendar_participant, calendar_alarm as al, calendar_object as co, calendar_repeat as rep WHERE ".14 15 16 17 18 19 "THEN ( select count(occurrence) FROM calendar_repeat_occurrence WHERE rep.object_id = co.id AND rep.id = calendar_repeat_occurrence.repeat_id AND occurrence - al.alarm_offset >= '$target') > 0 ".20 "ELSE co.range_start - al.alarm_offset >= '$target' END");12 $parts = Controller::service('PostgreSQL')->execSql('SELECT DISTINCT calendar_participant.user_info_id as "user", co.id as "schedulable", co.allDay as "allDay" ,co.dtend as "endTime", co.dtstart as "startTime", co.summary as "summary", co.tzid as "timezone", co.location as "location", al.id as "id" '. 13 'FROM calendar_participant, calendar_alarm as "al", calendar_object as "co", calendar_repeat as "rep" WHERE ('. 14 "al.participant_id = calendar_participant.id AND ". 15 "calendar_participant.object_id = co.id AND ". 16 "al.action_id = '".ALARM_MAIL."' AND ". 17 "al.sent = '0' AND ". 18 "CASE WHEN rep.object_id = co.id ". 19 "THEN ( select count(occurrence) FROM calendar_repeat_occurrence WHERE rep.object_id = co.id AND rep.id = calendar_repeat_occurrence.repeat_id AND ((occurrence - al.alarm_offset) >= '$target') AND ((occurrence - al.alarm_offset) >= '".($target + 360000)."') ) > 0 ". 20 "ELSE (co.range_start - al.alarm_offset >= '$target') AND (co.range_start - al.alarm_offset < '".($target + 360000)."') END )"); 21 21 22 22 if(!is_array($parts)) … … 41 41 } 42 42 43 ///////////////////////// 43 $timezone = new DateTimeZone('UTC'); 44 $sTime = new DateTime('@' . (int) ($part['startTime'] / 1000), $timezone); 45 $eTime = new DateTime('@' . (int) ($part['endTime'] / 1000), $timezone); 44 46 45 $timezone = ($part['timezone']) ? $part['timezone'] : 'UTC';46 $sTime = new DateTime( '@'.(int)($part['startTime'] / 1000) , new DateTimeZone($timezone));47 $eTime = new DateTime( '@'.(int)($part['endTime'] / 1000) , new DateTimeZone($timezone));48 47 $timezone = $part['timezone']; 48 $sTime->setTimezone(new DateTimeZone($part['timezone'])); 49 $eTime->setTimezone(new DateTimeZone($part['timezone'])); 50 49 51 $data = array('startDate' => date_format( $sTime , 'd/m/Y') , 50 'startTime' => date_format( $sTime , 'H:i'),52 'startTime' => $part['allDay'] ? '' : date_format( $sTime , 'H:i'), 51 53 'endDate' => date_format( $eTime , 'd/m/Y') , 52 'endTime' => date_format( $eTime , 'H:i'),54 'endTime' => $part['allDay'] ? '' : date_format( $eTime , 'H:i'), 53 55 'eventTitle' => $part['summary'], 54 56 'eventLocation' => $part['location'], … … 62 64 'to' => $part['mail'] ) ); 63 65 64 Config::regSet('noAlarm', TRUE); //Evita o envio de notifica ção ?????66 Config::regSet('noAlarm', TRUE); //Evita o envio de notificação ????? 65 67 $ids[] = $part['id']; 66 68 } 67 69 68 70 if( !empty( $ids ) ) 69 Controller::update( array( 'concept' => 'alarm' ) , array('sent' => '1'), array( 'IN', 'id', $ids ));71 Controller::update( array( 'concept' => 'alarm' ) , array('sent' => '1'), array('filter' => array( 'IN', 'id', $ids ) )); 70 72 71 73 ?>
Note: See TracChangeset
for help on using the changeset viewer.