/** * Create one or more calendar items * * @param $items CalendarItemType[]|CalendarItemType|array or more calendar items to create * @param $options array Options to merge in to the request * @return Type\ItemIdType[] */ public function createCalendarItems($items, $options = array()) { //If the item passed in is an object, or if it's an associative] // array waiting to be an object, let's put it in to an array if (!is_array($items) || Type::arrayIsAssoc($items)) { $items = array($items); } $item = array('CalendarItem' => $items); $defaultOptions = array('SendMeetingInvitations' => Enumeration\CalendarItemCreateOrDeleteOperationType::SEND_TO_NONE, 'SavedItemFolderId' => array('FolderId' => $this->getFolderId()->toXmlObject())); $options = array_replace_recursive($defaultOptions, $options); $items = $this->createItems($item, $options); if (!is_array($items)) { $items = array($items); } return $items; }
/** * @param $items Type\ItemIdType|Type\ItemIdType[] * @param array $options * @return bool */ public function deleteItems($items, $options = array()) { if (!is_array($items) || Type::arrayIsAssoc($items)) { $items = array($items); } $items = array_map(function ($item) { $item = Type\ItemIdType::buildFromArray($item); return $item->toArray(); }, $items); $request = array('ItemIds' => array('ItemId' => $items), 'DeleteType' => 'MoveToDeletedItems'); $request = array_replace_recursive($request, $options); $request = Type::buildFromArray($request); $this->getClient()->DeleteItem($request); //If the delete fails, an Exception will be thrown in processResponse before it gets here return true; }