- Timestamp:
- 03/01/12 03:35:01 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/interceptors/DBMapping.php
r5514 r5592 9 9 public function encodeCreateSchedulable( &$uri , &$params , &$criteria , $original ){ 10 10 $params['type_id'] = EVENT_ID; 11 12 $params['rangeStart'] = gmdate( 'd-m-Y' , (int)($params['startTime'] / 1000) ); 11 12 $params['startTime'] = strtotime( $params['startTime'] . ' ' .$params['timezone']).'000'; 13 14 $params['endTime'] = strtotime( $params['endTime'] . ' ' .$params['timezone']).'000'; 15 16 if($params['allDay']) 17 $params['endTime'] = $params['endTime'] + 86400000; 13 18 14 19 // if( !isset( $new['repeat'] )) 15 20 // $new['range_end'] = '7287926400'; // 12/12/2200 16 21 // else 17 $params['rangeEnd'] = gmdate( 'd-m-Y' , (int)($params['endTime'] / 1000) ); 22 $params['rangeEnd'] = $params['endTime']; 23 $params['rangeStart'] = $params['startTime']; 24 18 25 /////////////////////////////////////////////////////////////////// 19 26 … … 24 31 25 32 } 33 26 34 public function encodeCreateAlarm( &$uri , &$params , &$criteria , $original ){ 27 35 … … 59 67 $params = $_FILES[$params['source']]; 60 68 61 //$params['source'] = base64_encode( $params['source'] ); 69 if(isset($params['owner'])) 70 $params['owner'] = Config::me('uidNumber'); 62 71 63 72 } … … 112 121 public function encodeUpdateSchedulable( &$uri , &$params , &$criteria , $original ){ 113 122 if(isset($params['startTime'])) 114 $params['rangeStart'] = gmdate( 'd-m-Y' , (int)($params['startTime'] / 1000) );123 $params['rangeStart'] = $params['startTime'] ; 115 124 if(isset($params['endTime'])) 116 $params['rangeEnd'] = gmdate( 'd-m-Y' , (int)($params['endTime'] / 1000) );125 $params['rangeEnd'] = $params['endTime'] ; 117 126 118 127 … … 172 181 } 173 182 183 public function deepnessFindCalendarShared( &$uri , &$result , &$criteria , $original ){ 184 if(isset($original['criteria']['deepness']) && count($result) > 0){ 185 $calendarIds = array(); 186 foreach($result as $key => $value) 187 array_push($calendarIds, $value['calendar']); 188 189 $calendar = Controller::find( array( 'concept' => 'calendar' ) , false ,array( 'filter' => array('AND', array('IN','id', $calendarIds), $original['criteria']['filter']))); 190 191 if(!is_array($calendar)) 192 $result = ''; 193 194 $newResult = array(); 195 foreach($calendar as $key => $value){ 196 foreach($result as $k => $r){ 197 198 if($r['calendar'] == $value['id']){ 199 $r['calendar'] = $value; 200 array_push($newResult, $r); 201 } 202 } 203 } 204 205 foreach($newResult as $key => &$value){ 206 if($value['user'] != 0) 207 $value['user'] = Controller::read( array( 'concept' => 'user' , 'id' => $value['user'] )); 208 } 209 210 211 $result = $newResult; 212 } 213 } 214 174 215 //TODO: Remover apos suporte a deepness na api 175 216 public function deepnessFindEvent( &$uri , &$result , &$criteria , $original ){ 176 217 177 218 if(isset($original['criteria']['deepness'])) 178 219 { 220 221 $Time = new DateTime( 'now', new DateTimeZone('UTC') ); 222 $DayLigth = array(); 179 223 foreach ($result as $i => $v) 180 224 { 225 226 if(!isset($currentTimezone) || $currentTimezone != $original['criteria']['timezones'][$v['calendar']]){ 227 $currentTimezone = $original['criteria']['timezones'][$v['calendar']]; 228 $Time->setTimezone(new DateTimeZone($currentTimezone)); 229 } 230 231 $Time->setTimestamp( (int)($v['startTime'] / 1000)); 232 $DayLigth['calendar']['startTime'] = $Time->format('I') ? 1 : 0; 233 234 $Time->setTimestamp( (int)($v['endTime'] / 1000)); 235 $DayLigth['calendar']['endTime'] = $Time->format('I') ? 1 : 0; 236 237 if($currentTimezone != $v['timezone']){ 238 $currentTimezone = $v['timezone']; 239 $Time->setTimezone(new DateTimeZone($v['timezone'])); 240 241 $Time->setTimestamp( (int)($v['startTime'] / 1000)); 242 $DayLigth['event']['startTime'] = $Time->format('I') ? 1 : 0; 243 244 $Time->setTimestamp( (int)($v['endTime'] / 1000)); 245 $DayLigth['event']['endTime'] = $Time->format('I') ? 1 : 0; 246 }else 247 $DayLigth['event'] = $DayLigth['calendar']; 248 249 250 $result[$i]['DayLigth'] = $DayLigth; 251 181 252 if(isset($v['id'])) 182 253 { … … 195 266 } 196 267 $result[$i]['participants'] = $participants; 197 268 269 270 198 271 $attachmentRelation = Controller::find( array( 'concept' => 'schedulableToAttachment' ) , false ,array( 'filter' => array('=', 'schedulable' , $v['id']) )); 199 272 if(is_array($attachmentRelation)){ … … 214 287 215 288 } 216 289 217 290 //TODO: Remover apos suporte a deepness na api 218 291 public function deepnessReadEvent( &$uri , &$result , &$criteria , $original ){ … … 295 368 if(isset($v['calendar'])){ 296 369 $result[$i]['calendar'] = Controller::read( array( 'concept' => 'calendar' , 'id' => $v['calendar'])); 297 $result[$i]['defaultAlarms'] = Controller::find( array( 'concept' => 'calendarSignatureAlarm' ) , false ,array( 'filter' => array('=', 'calendarSignature' , $v['id']) )); 370 $result[$i]['defaultAlarms'] = Controller::find( array( 'concept' => 'calendarSignatureAlarm' ) , false ,array( 'filter' => array('=', 'calendarSignature' , $v['id']) )); 371 //Caso não seja o dono da agenda retorna o objeto permission com as acls 372 if($result[$i]['isOwner'] == 0){ 373 $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' , $v['calendar']), array('=', 'user', Config::me('uidNumber') ) ) ) ); 374 375 376 377 378 if(!is_array($permission) || !$permission ){ 379 ob_start(); 380 var_dump($permission); 381 382 $output = ob_get_clean(); 383 file_put_contents( "/tmp/acoutinho.log", $output , FILE_APPEND); 384 $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' , $v['calendar']), array('=', 'type', '1' ) ) ) ); 385 386 ob_start(); 387 var_dump($permission); 388 389 $output = ob_get_clean(); 390 file_put_contents( "/tmp/acoutinho.log", $output , FILE_APPEND); 391 392 } 393 $result[$i]['permission'] = $permission[0]; 394 } 298 395 } 299 396 } … … 627 724 } 628 725 } 629 630 631 726 } 632 727 … … 640 735 641 736 public function davcalDeleteCollection( &$uri , &$params , &$criteria , $original ){ 642 if( Config::module('useCaldav') )737 if( Config::module('useCaldav') && Config::module('onRemoveCascadeCalDav')) 643 738 { 644 739 require_once ROOTPATH.'/modules/calendar/interceptors/DAViCalAdapter.php';
Note: See TracChangeset
for help on using the changeset viewer.