- Timestamp:
- 08/10/12 19:11:37 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/interceptors/DBMapping.php
r6849 r6996 10 10 class DBMapping extends Helpers { 11 11 12 static function encodeCreateSchedulable(&$uri, &$params, &$criteria, $original) { 13 $params['type_id'] = EVENT_ID; 14 15 if (!is_numeric($params['startTime'])) 16 $params['startTime'] = self::parseTimeDate($params['startTime'], $params['timezone']); 17 18 if (!is_numeric($params['endTime'])) { 19 $params['endTime'] = self::parseTimeDate($params['endTime'], $params['timezone']); 20 21 if ($params['allDay']) 22 $params['endTime'] = $params['endTime'] + 86400000; 23 } 24 25 $params['rangeEnd'] = $params['endTime']; 26 $params['rangeStart'] = $params['startTime']; 27 28 /////////////////////////////////////////////////////////////////// 29 30 $params['dtstamp'] = (isset($params['dtstamp'])) ? $params['dtstamp'] : time() . '000'; 31 $params['lastUpdate'] = (isset($params['lastUpdate'])) ? $params['lastUpdate'] : time() . '000'; 32 $params['type'] = EVENT_ID; 33 $params['uid'] = isset($params['uid']) ? $params['uid'] : self::_makeUid(); 34 } 12 static function encodeCreateSchedulable(&$uri, &$params, &$criteria, $original) 13 { 14 15 if (isset($params['startTime']) && !is_numeric($params['startTime'])){ 16 $params['startTime'] = self::parseTimeDate($params['startTime'], $params['timezone']); 17 $params['rangeStart'] = $params['startTime']; 18 } 19 if (isset($params['endTime']) && !is_numeric($params['endTime'])) { 20 $params['endTime'] = self::parseTimeDate($params['endTime'], $params['timezone']); 21 22 if ($params['allDay']) 23 $params['endTime'] = $params['endTime'] + 86400000; 24 25 $params['rangeEnd'] = $params['endTime']; 26 } 27 28 if (isset($params['due']) && $params['due'] != '' && !is_numeric($params['due'])) 29 $params['due'] = self::parseTimeDate($params['due'], $params['timezone']); 30 31 /////////////////////////////////////////////////////////////////// 32 33 $params['dtstamp'] = (isset($params['dtstamp'])) ? $params['dtstamp'] : time() . '000'; 34 $params['lastUpdate'] = (isset($params['lastUpdate'])) ? $params['lastUpdate'] : time() . '000'; 35 $params['uid'] = isset($params['uid']) ? $params['uid'] : self::_makeUid(); 36 } 35 37 36 38 static function parseTimeDate($time, $timezone) { … … 66 68 if (isset($params['type'])) 67 69 $params['type'] = self::codeAlarmType($params['type']); 70 else{ 71 $alarm = Controller::read( array('concept' => 'alarm' , 'id' => $params['id'] )); 72 73 $params['unit'] = $alarm['unit']; 74 } 75 $params['offset'] = $params['time'] * 1000; 76 77 78 switch( strtolower($params['unit']) ) 79 { 80 case 'd': $params['offset'] *= 24; 81 case 'h': $params['offset'] *= 60; 82 case 'm': $params['offset'] *= 60; 83 } 84 68 85 } 69 86 … … 119 136 .'calendar_object.dtstart as "startTime", calendar_object.summary as "summary", ' 120 137 .'calendar_object.description as "description", calendar_object.dtend as "endTime" , ' 138 .'calendar_object.priority as "priority", calendar_object.due as "due", ' 139 .'calendar_object.percentage as "percentage", calendar_object.status as "status", ' 121 140 .'calendar_object.location as "location", calendar_object.allday as "allDay", ' 122 141 .'calendar_object.transp as "transparent", calendar_object.class_id as "class", ' … … 127 146 .'calendar FROM calendar_to_calendar_object , calendar_object ' 128 147 .'WHERE ( calendar_to_calendar_object.calendar_id IN (\'' . implode('\',\'', $criteria['filter'][2][2]) . '\')) ' 129 .'AND calendar_to_calendar_object.calendar_object_id = calendar_object.id '; 148 .'AND calendar_to_calendar_object.calendar_object_id = calendar_object.id ' 149 .'AND calendar_object.id NOT IN(select calendar_object_task_id from calendar_task_to_activity_object where owner = \'' . Config::me('uidNumber') . '\') '; 130 150 131 151 if(isset($criteria['searchEvent']) && $criteria['searchEvent']){ … … 157 177 $params = array_merge($params, $occ); 158 178 } 179 $params = self::deepnessFindEvent($uri, $params, $criteria, $original); 180 return false; 181 } 182 } 183 184 public function findTask(&$uri, &$params, &$criteria, $original) { 185 186 if (isset($criteria['filterTasks']) && $criteria['filterTasks']) { 187 188 $sql = ' SELECT calendar_object.id as id ,calendar_object.cal_uid as "uid", calendar_object.type_id as "type", ' 189 .'calendar_object.dtstart as "startTime", calendar_object.summary as "summary", ' 190 .'calendar_object.description as "description", calendar_object.dtend as "endTime" , ' 191 .'calendar_object.priority as "priority", calendar_object.due as "due", ' 192 .'calendar_object.percentage as "percentage", calendar_object.status as "status", ' 193 .'calendar_object.location as "location", calendar_object.allday as "allDay", ' 194 .'calendar_object.transp as "transparent", calendar_object.class_id as "class", ' 195 .'calendar_object.repeat as "repeat", calendar_object.range_start as "rangeStart", ' 196 .'calendar_object.range_end as "rangeEnd", calendar_object.last_update as "lastUpdate", ' 197 .'calendar_object.dtstamp as "dtstamp", calendar_object.sequence as "sequence", ' 198 .'calendar_object.tzid as "timezone" ,calendar_to_calendar_object.calendar_id as ' 199 .'calendar FROM calendar_to_calendar_object , calendar_object ' 200 .'WHERE ( calendar_to_calendar_object.calendar_id IN (\'' . implode('\',\'', $criteria['filter'][3][2]) . '\')) ' 201 .'AND calendar_to_calendar_object.calendar_object_id = calendar_object.id ' 202 .'AND calendar_to_calendar_object.calendar_object_id NOT IN (select calendar_object_activity_id from calendar_task_to_activity_object where owner = \'' . Config::me("uidNumber") . '\' ) ' 203 .'AND calendar_to_calendar_object.calendar_object_id NOT IN (select calendar_object_task_id from calendar_task_to_activity_object where owner = \'' . Config::me("uidNumber") . '\' ) '; 204 205 if(isset($criteria['filter'][4])) 206 $sql .= 'AND (((upper("summary") like upper(\'%'.$criteria['filter'][4][1][2].'%\') OR upper("description") like upper(\'%'.$criteria['filter'][4][1][2].'%\'))))'; 207 208 $sql .= 'AND (range_start >= \'' . $criteria['filter'][2][2] . '\' AND type_id <= \'' . $criteria['filter'][1][2] . '\')'; 209 210 $params = Controller::service('PostgreSQL')->execResultSql($sql); 159 211 $params = self::deepnessFindEvent($uri, $params, $criteria, $original); 160 212 return false; … … 405 457 public function encodeUpdateSchedulable(&$uri, &$params, &$criteria, $original) { 406 458 407 $event = Controller::read(array('concept' => 'schedulable', 'id' => $params['id'])); 408 409 if (isset($params['startTime'])) { 410 411 if (!is_numeric($params['startTime'])) 412 $params['startTime'] = self::parseTimeDate($params['startTime'], $event['timezone']); 413 414 $params['rangeStart'] = $params['startTime']; 415 }if (isset($params['endTime'])) { 416 417 if (!is_numeric($params['endTime'])) { 418 $params['endTime'] = self::parseTimeDate($params['endTime'], $event['timezone']); 419 420 if ((isset($params['allDay']) && $params['allDay']) || ( !isset($params['allDay']) && $event['allDay'])) 421 $params['endTime'] = $params['endTime'] + 86400000; 422 } 423 $params['rangeEnd'] = $params['endTime']; 424 } 459 $event = Controller::read(array('concept' => 'schedulable', 'id' => $params['id'])); 460 461 if (isset($params['startTime'])) { 462 463 if (!is_numeric($params['startTime'])) 464 $params['startTime'] = self::parseTimeDate($params['startTime'], $event['timezone']); 465 466 $params['rangeStart'] = $params['startTime']; 467 } 468 469 if (isset($params['endTime'])) { 470 471 if (!is_numeric($params['endTime'])) { 472 $params['endTime'] = self::parseTimeDate($params['endTime'], $event['timezone']); 473 474 if ((isset($params['allDay']) && $params['allDay']) || ( !isset($params['allDay']) && $event['allDay'])) 475 $params['endTime'] = $params['endTime'] + 86400000; 476 } 477 $params['rangeEnd'] = $params['endTime']; 478 } 479 480 481 if (isset($params['due']) && $params['due'] != '' && !is_numeric($params['due'])) 482 $params['due'] = self::parseTimeDate($params['due'], $event['timezone']); 483 484 485 if($event['type'] == '2'){ 486 487 $criteria['historic'] = $params; 488 $criteria['beforeValue'] = $event; 489 490 if(isset($params['startTime']) && $params['startTime'] == $event['startTime']) 491 unset($criteria['historic']['startTime']); 492 493 if(isset($params['endTime']) && $params['endTime'] == $event['endTime']) 494 unset($criteria['historic']['endTime']); 495 496 if(isset($params['due']) && $params['due'] == $event['due']) 497 unset($criteria['historic']['due']); 498 499 //necessário para atulizar a atividade de composta pela tarefa aqui sendo atualizada 500 if(isset($criteria['historic']['startTime']) || isset($criteria['historic']['endTime'])){ 501 $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'schedulable', $event['id']), array('=', 'owner', Config::me('uidNumber'))), 'deepness' => 2)); 502 503 if(!empty($taskToActivity)){ 504 $activity = Controller::read(array('concept' => 'schedulable', 'id' => $taskToActivity[0]['activity']), array('startTime', 'endTime', 'rangeStart', 'rangeEnd')); 505 $start = $params['startTime']; 506 $end = $params['endTime']; 507 foreach($taskToActivity as $t){ 508 if($t['task']['id'] != $params['id']){ 509 $start = $t['task']['startTime'] < $start ? $t['task']['startTime'] : $start; 510 $end = $t['task']['endTime'] < $end ? $t['task']['endTime'] : $end; 511 } 512 } 513 514 $toUpdate = array(); 515 516 if($start != $activity['startTime']) 517 $toUpdate['starTime'] = $start; 518 519 if($end != $activity['endTime']) 520 $toUpdate['endTime'] = $end; 521 522 if(!empty($toUpdate)) 523 Controller::update(array('concept' => 'schedulable', 'id' => $activity['id']), $toUpdate); 524 } 525 } 526 527 unset($criteria['historic']['rangeEnd']); 528 unset($criteria['historic']['rangeStart']); 529 unset($criteria['historic']['class']); 530 unset($criteria['historic']['type']); 531 unset($criteria['historic']['allDay']); 532 unset($criteria['historic']['id']); 533 } 425 534 } 426 535 … … 453 562 } 454 563 564 565 static function prepareParticipantHistoric(&$uri, &$params, &$criteria, $original){ 566 $participant = Controller::read(array('concept' => 'participant', 'id' => $uri['id'])); 567 $schedulable = Controller::read(array('concept' => 'schedulable', 'id' => $participant['schedulable'])); 568 569 570 if($schedulable['type'] == '2') 571 $criteria['historic']['participant'] = $participant; 572 } 573 574 static function removeParticipantHistoric(&$uri, &$params, &$criteria, $original){ 575 if(isset($criteria['historic'])){ 576 577 $participant = $criteria['historic']['participant']; 578 579 Controller::create(array('concept' => 'calendarHistoric'), 580 array('schedulable' => $participant['schedulable'], 581 'user' => Config::me('uidNumber'), 582 'time' => time() . '000', 583 'attribute' => 'participant', 584 'beforeValue' => $participant['user'], 585 'afterValue' => '' 586 ) 587 ); 588 589 } 590 591 } 592 593 static function createParticipantHistoric(&$uri, &$params, &$criteria, $original){ 594 595 if(isset($original['properties']) && $original['properties']['isOrganizer'] != '1'){ 596 if(!isset($criteria['event'])){ 597 $event = Controller::read(array('concept' => 'schedulable', 'id' => $original['properties']['schedulable'])); 598 $criteria['event'] = $event; 599 }else 600 $event = $criteria['event']; 601 602 if($event['type'] == '2'){ 603 Controller::create(array('concept' => 'calendarHistoric'), 604 array('schedulable' => $original['properties']['schedulable'], 605 'user' => Config::me('uidNumber'), 606 'time' => time() . '000', 607 'attribute' => 'participant', 608 'beforeValue' => '', 609 'afterValue' => $original['properties']['user'] 610 ) 611 ); 612 } 613 } 614 } 615 616 static function createHistoric(&$uri, &$result, &$criteria, $original) { 617 618 if(isset($criteria['historic']) && count($criteria['historic'])){ 619 $time = time() . '000'; 620 621 foreach($criteria['historic'] as $k => $v){ 622 Controller::create(array('concept' => 'calendarHistoric'), 623 array('schedulable' => $uri['id'], 624 'user' => Config::me('uidNumber'), 625 'time' => $time, 626 'attribute' => $k, 627 'beforeValue' => $criteria['beforeValue'][$k], 628 'afterValue' => $v 629 ) 630 ); 631 } 632 } 633 } 634 455 635 /////////////////////////////////////////////////////////////////////////////////////////////////////////////// 456 636 … … 466 646 } 467 647 468 public function createCreateSchedulableToAttachment(&$uri, &$params, &$criteria, $original) { 469 if (array_key_exists('attachments', $original['properties'])) 470 foreach ($original['properties']['attachments'] as $key => $value) { 471 if (isset($params['id'])) 472 Controller::create(array('concept' => 'schedulableToAttachment'), array('attachment' => $value['attachment'], 'schedulable' => $params['id'])); 473 } 648 //TODO: Remover apos suporte a ManytoMany na api 649 public function createTasksToActivity(&$uri, &$result, &$criteria, $original) { 650 651 if(isset($original['properties']['taskToActivity']) && $original['properties']['taskToActivity']){ 652 653 foreach($original['properties']['taskToActivity'] as $relational) 654 655 Controller::create(array('concept' => 'taskToActivity'), array('task' => $relational['task'], 'owner' => $relational['owner'], 'activity' => $result['id'])); 656 657 } 658 } 659 660 public function removeAttachmentHistoric(&$uri, &$params, &$criteria, $original) { 661 662 if(isset($criteria['historic'])){ 663 $attachment = $criteria['historic']['attachment']; 664 665 $attachment['attachment'] = Controller::read(array('concept' => 'attachment', 'id' => $attachment['attachment']), array('name')); 666 Controller::create(array('concept' => 'calendarHistoric'), 667 array('schedulable' => $attachment['schedulable'], 668 'user' => Config::me('uidNumber'), 669 'time' => time() . '000', 670 'attribute' => 'attachment', 671 'beforeValue' => $attachment['attachment']['name'], 672 'afterValue' => '' 673 ) 674 ); 675 676 } 677 678 } 679 680 public function createAttachmentHistoric(&$uri, &$params, &$criteria, $original) { 681 $event = Controller::read(array('concept' => 'schedulable', 'id' => $original['properties']['schedulable'])); 682 683 if($event['type'] == '2'){ 684 $attachment = Controller::read(array('concept' => 'attachment', 'id' => $original['properties']['attachment']), array('name')); 685 686 Controller::create(array('concept' => 'calendarHistoric'), 687 array('schedulable' => $original['properties']['schedulable'], 688 'user' => Config::me('uidNumber'), 689 'time' => time() . '000', 690 'attribute' => 'attachment', 691 'beforeValue' => '', 692 'afterValue' => $attachment['name'] 693 ) 694 ); 695 696 } 474 697 } 475 698 … … 512 735 513 736 //TODO: Remover apos suporte a deepness na api 737 public function deepnessFindTask(&$uri, &$result, &$criteria, $original) { 738 if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) 739 foreach($result as &$value) 740 $value['task'] = Controller::read(array('concept' => 'schedulable', 'id' => $value['task'])); 741 742 743 return $result; 744 } 745 746 //TODO: Remover apos suporte a deepness na api 747 public function deepnessFindHistoric(&$uri, &$result, &$criteria, $original) { 748 if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) { 749 foreach($result as &$v){ 750 $v['user'] = Controller::read(array('concept' => 'user', 'id' => $v['user'])); 751 752 if($v['attribute'] == 'participant'){ 753 if($v['beforeValue'] != '') 754 $v['beforeValue'] = Controller::read(array('concept' => 'user', 'id' => $v['beforeValue'])); 755 756 if($v['afterValue'] != '') 757 $v['afterValue'] = Controller::read(array('concept' => 'user', 'id' => $v['afterValue'])); 758 } 759 } 760 } 761 } 762 763 //TODO: Remover apos suporte a deepness na api 514 764 public function deepnessFindEvent(&$uri, &$result, &$criteria, $original) { 515 765 if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) { … … 543 793 544 794 $result[$i]['DayLigth'] = $DayLigth; 795 796 if(((int)$v['type']) == 2){ 797 798 $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'activity', $v['id']), array('=','owner', Config::me('uidNumber'))) , 'deepness' => 2)); 799 800 if($taskToActivity) 801 $result[$i]['taskToActivity'] = $taskToActivity; 802 803 $result[$i]['historic'] = Controller::find(array('concept' => 'calendarHistoric'), false, array('filter' => array('=', 'schedulable', $v['id']) , 'deepness' => 2)); 804 805 } 545 806 546 807 if (isset($v['id'])) { … … 608 869 } 609 870 871 } 872 873 if(isset($result['id']) && $result['type'] == '2'){ 874 $result['historic'] = Controller::find( array( 'concept' => 'calendarHistoric' ), false, array( 'filter' => array( '=', 'schedulable', $result['id'] ) ) ); 610 875 } 611 876 } … … 791 1056 792 1057 static private function countMyCalendarsEvent($id, $owner) { 793 $sig = Controller::find(array('concept' => 'calendarSignature'), array('user', 'calendar', 'isOwner'), array('filter' => array('AND', array('=', ' user', $owner), array('=', 'isOwner', '1'))));1058 $sig = Controller::find(array('concept' => 'calendarSignature'), array('user', 'calendar', 'isOwner'), array('filter' => array('AND', array('=', 'isOwner', '1'), array('=', 'user', $owner)))); 794 1059 $calendars = array(); 795 1060 foreach ($sig as $val) … … 807 1072 if(isset($criteria['filter']) && $criteria['filter'] && isset($criteria['filter'][1][2])){ 808 1073 $idSchedulable = $criteria['filter'][1][2]; 809 1074 $idCalendar = $criteria['filter'][2][2]; 810 1075 $owner = $criteria['filter'][3][2]; 811 1076 … … 844 1109 845 1110 $uri['id'] = $idSchedulable; 1111 1112 if(isset($criteria['filter']) && isset($criteria['filter'][4]) && isset($criteria['filter'][4][2])){ 1113 Controller::deleteALL(array('concept' => 'taskToActivity'), null, array('filter' => array('=', 'activity', $idSchedulable))); 1114 } 846 1115 } 847 1116 … … 894 1163 $schedulableAttachment = Controller::read(array('concept' => 'schedulableToAttachment'), false, array('filter' => array( '=', 'attachment' , $original['URI']['id'] ))); 895 1164 $uri['id'] = $schedulableAttachment[0]['id']; 1165 1166 $params = $schedulableAttachment[0]; 1167 1168 $event = Controller::read(array('concept' => 'schedulable', 'id' => $params['schedulable'])); 1169 if($event['type'] == '2') 1170 $criteria['historic']['attachment'] = $schedulableAttachment[0]; 1171 896 1172 } 897 1173 } 898 1174 899 1175 public function deleteAttachmentDependences(&$uri, &$params, &$criteria, $original) { 900 Controller::delete(array('concept' => 'attachment', 'id' => $original['URI']['id']));1176 Controller::delete(array('concept' => 'attachment', 'id' => (isset($params['attachment']) ? $params['attachment'] : $original['URI']['id']))); 901 1177 } 902 1178 … … 908 1184 } 909 1185 1186 1187 public function createDefaultGroup(&$uri, &$result, &$criteria, $original) { 1188 if( $original['criteria']['filter'][1][0] == '=' && 1189 $original['criteria']['filter'][1][1] == 'user' && 1190 $original['criteria']['filter'][1][2] == $_SESSION['phpgw_session']['account_id']){ 1191 1192 $existDefaultGroup = false; 1193 1194 foreach($result as $v){ 1195 if($v['type'] == 1 && $v['calendar']['type'] == 1) 1196 $existDefaultGroup = true; 1197 } 1198 1199 if(!$existDefaultGroup){ 1200 1201 $cal = array('name' => 'Sem grupo', 1202 'description' => 'Sem grupo', 1203 'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 1204 'dtstamp' => time() . '000', 1205 'type' => '1' 1206 ); 1207 1208 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 1209 1210 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 1211 'calendar' => $calCreated['id'], 1212 'isOwner' => '1', 1213 'dtstamp' => time() . '000', 1214 'fontColor' => 'FFFFFF', 1215 'backgroundColor' => '3366CC', 1216 'borderColor' => '3366CC', 1217 'type' => '1' 1218 ); 1219 1220 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 1221 $sigCreated = Controller::read(array('concept' => 'calendarSignature', 'id' => $sigCreated['id']), false, array('deepness' => 2 )); 1222 1223 array_push($result, $sigCreated); 1224 } 1225 1226 } 1227 1228 } 1229 910 1230 public function createDefaultSignature(&$uri, &$result, &$criteria, $original) { 1231 1232 if(count($result) == 0 && isset($criteria['filter'][3]) && isset($criteria['filter'][3]['isRecursion'])){ 1233 throw new Exception('It was not possible to find to calendar!'); 1234 return false; 1235 } 911 1236 912 1237 //Caso uma busca não retorne nenhum resultado e foi buscado pelas assinaturas do usuario logado apenas … … 916 1241 if (count($result) > 0) { 917 1242 foreach ($result as $value) { 918 if (isset($value['isOwner']) && $value['isOwner'] != 0)919 $isValidSignature = true;1243 if (isset($value['isOwner']) && $value['isOwner'] != 0 && isset($value['type']) && $value['type'] == 0) 1244 $isValidSignature = true; 920 1245 } 921 1246 } … … 928 1253 929 1254 if (Config::module('useCaldav', 'expressoCalendar')) { 930 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 931 932 $calendario = DAViCalAdapter::findCalendars(); 1255 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 1256 $calendario = DAViCalAdapter::findCalendars(); 933 1257 } 934 1258 935 1259 if (Config::module('useCaldav', 'expressoCalendar') && is_array($calendario) && count($calendario) > 0) { 936 foreach ($calendario as $i => $v) { 937 938 $urlA = explode('/', $v->url); 939 $name = isset($v->displayname) ? $v->displayname : $urlA[(count($urlA) - 2)]; 940 $cal = array('name' => $name, 941 'description' => isset($v->description) ? $v->description : $name, 942 'timezone' => isset($v->timezone) ? $v->timezone : (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 943 'dtstamp' => time() . '000', 944 'location' => $urlA[(count($urlA) - 3)] . '/' . $urlA[(count($urlA) - 2)] 945 ); 946 947 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 948 949 950 951 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 952 'calendar' => $calCreated['id'], 953 'isOwner' => '1', 954 'dtstamp' => time() . '000', 955 'fontColor' => 'FFFFFF', 956 'backgroundColor' => '3366CC', 957 'borderColor' => '3366CC', 958 ); 959 960 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 961 962 963 DAViCalAdapter::importCollection($v->url, $calCreated['id']); 964 } 1260 foreach ($calendario as $i => $v) { 1261 1262 $urlA = explode('/', $v->url); 1263 $name = isset($v->displayname) ? $v->displayname : $urlA[(count($urlA) - 2)]; 1264 $cal = array('name' => $name, 1265 'description' => isset($v->description) ? $v->description : $name, 1266 'timezone' => isset($v->timezone) ? $v->timezone : (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 1267 'dtstamp' => time() . '000', 1268 'location' => $urlA[(count($urlA) - 3)] . '/' . $urlA[(count($urlA) - 2)] 1269 ); 1270 1271 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 1272 1273 if(!$calCreated){ 1274 throw new Exception('Error to create calendar'); 1275 return false; 1276 } 1277 1278 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 1279 'calendar' => $calCreated['id'], 1280 'isOwner' => '1', 1281 'dtstamp' => time() . '000', 1282 'fontColor' => 'FFFFFF', 1283 'backgroundColor' => '3366CC', 1284 'borderColor' => '3366CC', 1285 ); 1286 1287 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 1288 1289 if(!$sigCreated){ 1290 throw new Exception('Error to create signature'); 1291 return false; 1292 } 1293 1294 DAViCalAdapter::importCollection($v->url, $calCreated['id']); 1295 } 965 1296 } else { 966 //Criaremos uma agenda padrão 967 $cal = array('name' => 'Calendario', 968 'description' => 'Calendario Padrão', 969 'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 970 'dtstamp' => time() . '000' 971 ); 972 973 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 974 975 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 976 'calendar' => $calCreated['id'], 977 'isOwner' => '1', 978 'dtstamp' => time() . '000', 979 'fontColor' => 'FFFFFF', 980 'backgroundColor' => '3366CC', 981 'borderColor' => '3366CC', 982 ); 983 984 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 985 } 986 987 $result = Controller::find($original['URI'], $original['properties'] ? $original['properties'] : null, $original['criteria']); 1297 //Criaremos uma agenda padrão 1298 $cal = array('name' => 'Calendario', 1299 'description' => 'Calendario Padrão', 1300 'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 1301 'dtstamp' => time() . '000' 1302 ); 1303 1304 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 1305 1306 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 1307 'calendar' => $calCreated['id'], 1308 'isOwner' => '1', 1309 'dtstamp' => time() . '000', 1310 'fontColor' => 'FFFFFF', 1311 'backgroundColor' => '3366CC', 1312 'borderColor' => '3366CC', 1313 ); 1314 1315 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 1316 } 1317 1318 $original['criteria']['filter'][] = array('isRecursion' => true); 1319 $result = Controller::find($original['URI'], $original['properties'] ? $original['properties'] : null, $original['criteria']); 988 1320 return false; 989 }1321 } 990 1322 } 991 1323 … … 1017 1349 1018 1350 public function davcalCreateCollection(&$uri, &$params, &$criteria, $original) { 1019 if (Config::module('useCaldav', 'expressoCalendar')) {1020 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php';1021 DAViCalAdapter::mkcalendar($params['location'], $params['name'], isset($params['description']) ? $params['description'] : '' );1022 }1351 if (Config::module('useCaldav', 'expressoCalendar')) { 1352 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 1353 DAViCalAdapter::mkcalendar($params['location'], $params['name'], isset($params['description']) ? $params['description'] : '' ); 1354 } 1023 1355 } 1024 1356 1025 1357 public function davcalDeleteCollection(&$uri, &$params, &$criteria, $original) { 1026 if (Config::module('useCaldav', 'expressoCalendar') && Config::module('onRemoveCascadeCalDav')) {1027 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php';1028 $calendar = Controller::read($uri);1029 DAViCalAdapter::rmCalendar($calendar['location']);1030 }1358 if (Config::module('useCaldav', 'expressoCalendar') && Config::module('onRemoveCascadeCalDav')) { 1359 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 1360 $calendar = Controller::read($uri); 1361 DAViCalAdapter::rmCalendar($calendar['location']); 1362 } 1031 1363 } 1032 1364 1033 1365 public function davcalUpdateCollection(&$uri, &$params, &$criteria, $original) { 1034 if (Config::module('useCaldav', 'expressoCalendar')) {1035 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php';1036 if (isset($params['location'])) {1037 $calendar = Controller::read($uri);1038 if ($calendar['location'] !== $params['location'])1039 DAViCalAdapter::mvcalendar($calendar['location'], $params['location']);1040 }1041 }1366 if (Config::module('useCaldav', 'expressoCalendar')) { 1367 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 1368 if (isset($params['location'])) { 1369 $calendar = Controller::read($uri); 1370 if ($calendar['location'] !== $params['location']) 1371 DAViCalAdapter::mvcalendar($calendar['location'], $params['location']); 1372 } 1373 } 1042 1374 } 1043 1375
Note: See TracChangeset
for help on using the changeset viewer.