Changeset 7594 for branches/2.4/prototype/modules/calendar/interceptors
- Timestamp:
- 12/03/12 17:01:59 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.4/prototype/modules/calendar/interceptors/DBMapping.php
r7556 r7594 822 822 //TODO: Remover apos suporte a deepness na api 823 823 public function deepnessFindEvent(&$uri, &$result, &$criteria, $original) { 824 if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) { 825 $Time = new DateTime('now', new DateTimeZone('UTC')); 826 $DayLigth = array(); 827 foreach ($result as $i => $v) { 828 829 if ( isset($v['calendar']) && (!isset($currentTimezone) || $currentTimezone != $original['criteria']['timezones'][$v['calendar']])) { 830 $currentTimezone = isset($original['criteria']['timezones'][$v['calendar']]) ? $original['criteria']['timezones'][$v['calendar']] : $v['timezone']; 831 $Time->setTimezone(new DateTimeZone($currentTimezone)); 832 } 833 834 $Time->setTimestamp((int) ($v['startTime'] / 1000)); 835 $DayLigth['calendar']['startTime'] = $Time->format('I') ? 1 : 0; 836 837 $Time->setTimestamp((int) ($v['endTime'] / 1000)); 838 $DayLigth['calendar']['endTime'] = $Time->format('I') ? 1 : 0; 839 840 if (!isset($currentTimezone) || ($currentTimezone != $v['timezone'])) { 841 $currentTimezone = $v['timezone']; 842 $Time->setTimezone(new DateTimeZone($v['timezone'])); 843 844 $Time->setTimestamp((int) ($v['startTime'] / 1000)); 845 $DayLigth['event']['startTime'] = $Time->format('I') ? 1 : 0; 846 847 $Time->setTimestamp((int) ($v['endTime'] / 1000)); 848 $DayLigth['event']['endTime'] = $Time->format('I') ? 1 : 0; 849 }else 850 $DayLigth['event'] = $DayLigth['calendar']; 851 852 853 $result[$i]['DayLigth'] = $DayLigth; 854 855 if(((int)$v['type']) == 2){ 856 857 $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'activity', $v['id']), array('=','owner', Config::me('uidNumber'))) , 'deepness' => 2)); 858 859 if($taskToActivity) 860 $result[$i]['taskToActivity'] = $taskToActivity; 861 862 $result[$i]['historic'] = Controller::find(array('concept' => 'calendarHistoric'), false, array('filter' => array('=', 'schedulable', $v['id']) , 'deepness' => 2)); 863 864 } 865 866 if (isset($v['id'])) { 867 $data = self::decodeParticipantsEvent($uri, $v, $criteria, $original); 868 869 $result[$i]['statusAttendees'] = isset($data['statusAttendees']) ? $data['statusAttendees'] : false; 870 $result[$i]['sizeAttendees'] = isset($data['sizeAttendees']) ? $data['sizeAttendees'] : false; 871 $result[$i]['participants'] = $data['attendees']; 872 873 $attachmentRelation = Controller::find(array('concept' => 'schedulableToAttachment'), false, array('filter' => array('=', 'schedulable', $v['id']))); 874 if (is_array($attachmentRelation)) { 875 $attachments = array(); 876 foreach ($attachmentRelation as $key => $value) 877 if (isset($value['attachment']) || !!$value['attachment']) 878 $attachments[$key] = $value['attachment']; 879 //Pega os anexos sem source 880 $result[$i]['attachments'] = Controller::find(array('concept' => 'attachment'), array('id', 'name', 'type', 'size'), array('filter' => array('IN', 'id', $attachments))); 881 } 882 883 $repeat = Controller::find(array('concept' => 'repeat'), false, array('filter' => array('=', 'schedulable', $v['id']))); 884 885 unset($result[$i]['repeat']); 886 887 if (is_array($repeat)) 888 $result[$i]['repeat'] = $repeat[0]; 889 } 824 if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) { 825 826 $date = new DateTime('now', new DateTimeZone('UTC')); 827 $DayLigth = array(); 828 829 foreach ($result as $i => $v) { 830 831 $currentTimezone = isset($original['criteria']['timezones'][$v['calendar']]) ? $original['criteria']['timezones'][$v['calendar']] : $v['timezone']; 832 833 $date->setTimestamp((int) ($v['startTime'] / 1000)); 834 $date->setTimezone( new DateTimeZone( $v['timezone'] )); 835 $DayLigth['event']['startTime'] = ($date->getTimestamp() + $date->getOffset()).'000'; 836 837 $date->setTimezone( new DateTimeZone($currentTimezone)); 838 $DayLigth['calendar']['startTime'] = ($date->getTimestamp() + $date->getOffset()).'000'; 839 840 $date->setTimestamp((int) ($v['endTime'] / 1000)); 841 $date->setTimezone( new DateTimeZone($currentTimezone)); 842 $DayLigth['event']['endTime'] = ($date->getTimestamp() + $date->getOffset()).'000'; 843 844 $date->setTimezone( new DateTimeZone($currentTimezone)); 845 $DayLigth['calendar']['endTime'] = ($date->getTimestamp() + $date->getOffset()).'000'; 846 847 848 $result[$i]['DayLigth'] = $DayLigth; 849 850 if(((int)$v['type']) == 2){ 851 852 $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'activity', $v['id']), array('=','owner', Config::me('uidNumber'))) , 'deepness' => 2)); 853 854 if($taskToActivity) 855 $result[$i]['taskToActivity'] = $taskToActivity; 856 857 $result[$i]['historic'] = Controller::find(array('concept' => 'calendarHistoric'), false, array('filter' => array('=', 'schedulable', $v['id']) , 'deepness' => 2)); 858 859 } 860 861 if (isset($v['id'])) { 862 $data = self::decodeParticipantsEvent($uri, $v, $criteria, $original); 863 864 $result[$i]['statusAttendees'] = isset($data['statusAttendees']) ? $data['statusAttendees'] : false; 865 $result[$i]['sizeAttendees'] = isset($data['sizeAttendees']) ? $data['sizeAttendees'] : false; 866 $result[$i]['participants'] = $data['attendees']; 867 868 $attachmentRelation = Controller::find(array('concept' => 'schedulableToAttachment'), false, array('filter' => array('=', 'schedulable', $v['id']))); 869 if (is_array($attachmentRelation)) { 870 $attachments = array(); 871 foreach ($attachmentRelation as $key => $value) 872 if (isset($value['attachment']) || !!$value['attachment']) 873 $attachments[$key] = $value['attachment']; 874 //Pega os anexos sem source 875 $result[$i]['attachments'] = Controller::find(array('concept' => 'attachment'), array('id', 'name', 'type', 'size'), array('filter' => array('IN', 'id', $attachments))); 876 } 877 878 $repeat = Controller::find(array('concept' => 'repeat'), false, array('filter' => array('=', 'schedulable', $v['id']))); 879 880 unset($result[$i]['repeat']); 881 882 if (is_array($repeat)) 883 $result[$i]['repeat'] = $repeat[0]; 884 } 885 } 890 886 } 891 } 892 893 return $result; 887 888 return $result; 894 889 } 895 890
Note: See TracChangeset
for help on using the changeset viewer.