예제 #1
0
 /**
  * {@inheritDoc}
  */
 public function find($privateUri, $userId)
 {
     if (!array_key_exists($privateUri, $this->uris)) {
         throw new BackendUtils\DoesNotExistException($privateUri . 'does not exist!');
     }
     return $this->factory->createEntity(['userId' => $userId, 'ownerId' => $userId, 'backend' => $this->backend, 'privateUri' => $privateUri, 'components' => ObjectType::EVENT, 'cruds' => Permissions::READ + Permissions::SHARE, 'color' => 'rgba(77,87,100,0.75)', 'order' => 0, 'enabled' => true, 'displayname' => $this->generateDisplayname($privateUri), 'ctag' => $this->generateCTag()], CalendarFactory::FORMAT_PARAM);
 }
예제 #2
0
 /**
  * {@inheritDoc}
  */
 public function formatItems($items, $format, $parameters = null)
 {
     $entities = [];
     foreach ($items as $item) {
         if (substr_count($item['item_source'], '::') === 0) {
             return false;
         }
         list($calendarId, $objectUri) = explode('::', $item['item_source'], 1);
         $ownerId = $item['uid_owner'];
         if ($format === Types::GROUPED) {
             if (!isset($entities[$ownerId])) {
                 $calendar = $this->factory->createEntity(['backend' => $this->sharingBackend, 'cruds' => Permissions::READ, 'privateUri' => 'objects::' . $ownerId, 'userId' => $item['share_with'], 'ownerId' => $ownerId, 'displayname' => strval($this->l10n->t('%s\'s events', [$ownerId])), 'color' => 'rgb(107, 107, 107)', 'components' => ObjectType::EVENT, 'enabled' => false, 'ctag' => 0], CalendarFactory::FORMAT_PARAM);
                 $entities[$ownerId] = ['calendar' => $calendar, 'ctag' => 0, 'objects' => []];
             }
             /** @var \OCA\Calendar\ICalendar $calendar */
             $calendar = $entities[$ownerId]['calendar'];
             $calendar->setCtag(max($calendar->getCtag(), $item['stime']));
             $entities[$ownerId]['objects'] = ['calendarId' => $calendarId, 'objectUri' => $objectUri, 'shareItem' => $item];
         } elseif ($format === Types::GROUPEDLIST) {
             $privateUri = 'object::' . $ownerId;
             if (!in_array($privateUri, $entities)) {
                 $entities[] = $privateUri;
             }
         }
     }
     return $entities;
 }
예제 #3
0
 /**
  * @param array $row
  * @return ICalendar
  */
 private function rowToEntity(array $row)
 {
     return $this->factory->createEntity(['userId' => strval($row['userid']), 'ownerId' => strval($row['userid']), 'backend' => $this->backend, 'privateUri' => strval($row['uri']), 'displayname' => strval($row['displayname']), 'components' => $this->getTypes($row['components'], 'int'), 'ctag' => intval($row['ctag']), 'color' => strval($row['calendarcolor']), 'order' => intval($row['calendarorder']), 'enabled' => (bool) $row['active'], 'cruds' => Permissions::ALL]);
 }