$calendarData $data $data $vcardData $principalUri $data $cardData array IEventListener IEventListener IEventListener IEventListener $uids ]]> IEventListener $baseuri $baseuri \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog) \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false) $baseuri $baseuri $baseuri $baseuri CalendarDeletionDefaultUpdaterListener::class setDateTime setDateTime VEVENT->DTSTART]]> VEVENT->SUMMARY]]> VEVENT->DTSTART]]> VEVENT->SUMMARY]]> $calendarData objectData['calendardata']]]> $calendarData $calendarData array array Reader::read($objectData) $objectData $uris $uris VCalendar atomic(function () use ($calendarId, $syncToken, $syncLevel, $limit, $calendarType) { // Current synctoken $qb = $this->db->getQueryBuilder(); $qb->select('synctoken') ->from('calendars') ->where( $qb->expr()->eq('id', $qb->createNamedParameter($calendarId)) ); $stmt = $qb->executeQuery(); $currentToken = $stmt->fetchOne(); if ($currentToken === false) { return null; } $result = [ 'syncToken' => $currentToken, 'added' => [], 'modified' => [], 'deleted' => [], ]; if ($syncToken) { $qb = $this->db->getQueryBuilder(); $qb->select('uri', 'operation') ->from('calendarchanges') ->where( $qb->expr()->andX( $qb->expr()->gte('synctoken', $qb->createNamedParameter($syncToken)), $qb->expr()->lt('synctoken', $qb->createNamedParameter($currentToken)), $qb->expr()->eq('calendarid', $qb->createNamedParameter($calendarId)), $qb->expr()->eq('calendartype', $qb->createNamedParameter($calendarType)) ) )->orderBy('synctoken'); if (is_int($limit) && $limit > 0) { $qb->setMaxResults($limit); } // Fetching all changes $stmt = $qb->executeQuery(); $changes = []; // This loop ensures that any duplicates are overwritten, only the // last change on a node is relevant. while ($row = $stmt->fetch()) { $changes[$row['uri']] = $row['operation']; } $stmt->closeCursor(); foreach ($changes as $uri => $operation) { switch ($operation) { case 1: $result['added'][] = $uri; break; case 2: $result['modified'][] = $uri; break; case 3: $result['deleted'][] = $uri; break; } } } else { // No synctoken supplied, this is the initial sync. $qb = $this->db->getQueryBuilder(); $qb->select('uri') ->from('calendarobjects') ->where( $qb->expr()->andX( $qb->expr()->eq('calendarid', $qb->createNamedParameter($calendarId)), $qb->expr()->eq('calendartype', $qb->createNamedParameter($calendarType)) ) ); $stmt = $qb->executeQuery(); $result['added'] = $stmt->fetchAll(\PDO::FETCH_COLUMN); $stmt->closeCursor(); } return $result; }, $this->db)]]> null INode INode getCalendarInCalendarHome($this->principalInfo['uri'], $calendarUri)]]> calendarSearch $principal string|null $principalInfo $paths DTEND]]> hasTime isFloating isFloating $emailAddresses ]]> getDateTime getDateTime isFloating $provider::NOTIFICATION_TYPE $diff === false $vevents VObject\Reader::read($calendarData, VObject\Reader::OPTION_FORGIVING) VObject\Component\VCalendar|null VObject\Component\VEvent[] getDateTime getDateTime parent->UID]]> array $principals string[] null null recipientName]]> is_array($modified['old']) getNormalizedValue getNormalizedValue [$aclPlugin, 'propFind'] [$aclPlugin, 'propFind'] DTEND]]> get getChildren getDateTime hasTime isFloating isFloating principalSearch bool $property, 'parameter' => $parameter, ]]]> string !is_array($newProps['filters']['comps']) !is_array($newProps['filters']['params']) !is_array($newProps['filters']['props']) !isset($newProps['filters']['comps']) || !is_array($newProps['filters']['comps']) !isset($newProps['filters']['params']) || !is_array($newProps['filters']['params']) !isset($newProps['filters']['props']) || !is_array($newProps['filters']['props']) $webcalData getKey()]]> getKey()]]> Reader::read($cardData) VCard $principal false Reader::read($cardData) VCard $addressBooks[$row['id']][$readOnlyPropertyName] === 0 bool string $type, 'body' => $val ]]]> false|array{body: string, Content-Type: string} $type string|null getChanges null principalUri]]> principalUri]]> $groups \Sabre\HTTP\toDate($value) bool $data array{bool, string} tryTokenLogin $nodes dirContent]]> \Sabre\DAV\INode[] node]]> Folder null null null $fullSourcePath node]]> $data \OCP\Files\File 0 200 bool new PreconditionFailed('Cannot filter by non-existing tag', 0, $e) \OCA\Circles\Api\v1\Circles getById getPath int integer info->getId()]]> info->getId()]]> array $principals string[] $results circleToPrincipal($decodedName) ?: $this->circleToPrincipal($name)]]> null null null null null null null \OCA\Circles\Api\v1\Circles \OCA\Circles\Api\v1\Circles getPath getPath new \OCA\DAV\Connector\Sabre\QuotaPlugin($view, true) $shareType getShareType()]]> null getId DTSTAMP]]> $whereValues array string $principals string[] $members null null null null null null null array null enablePropfindDepthInfinityf]]> $value ?string $search getTimestamp() !== false]]> arguments[0]->name]]> arguments[0]->name]]> backend->getArbiterPath()]]> bool usersToDelete]]> usersToDelete]]> IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener $arguments $arguments getCursor()]]> l10n->l('date', $startDateTime, ['width' => 'medium'])]]> getCursor()]]> ['CN'], 'ORGANIZER' => ['CN'], ]]]> l10n->l('date', $startDateTime, ['width' => 'medium'])]]> string getDateTime getDateTime hasTime isFloating isFloating getCursor()]]> getDateTime getDateTime hasTime $tagId $tagName $objectName $members false currentStream]]> $context array array_values getId getId getId getInternalPath getNode getSize $addressBookNode->getName(), 'displayName' => $addressBookInfo['{DAV:}displayname'], 'description' => $addressBookInfo['{' . CardDAVPlugin::NS_CARDDAV . '}addressbook-description'], 'vCards' => $vCards, ]]]> array{name: string, displayName: string, description: ?string, vCards: VCard[]} ]]> $userSession get_class($res) === 'OpenSSLAsymmetricKey' $position time() time() time() throw $exception; new Exceptions\PrivateKeyMissingException('please try to log-out and log-in again', 0) files->getMount($path)->getStorage()]]> \OC\Files\Storage\Storage|null $userSession $id $id $id $id $id $id $remoteId $shareId $shareId $shareId $shareId (int)$data['id'] $nodes[0] \OCP\Files\File|\OCP\Files\Folder IEventListener bool bool bool $id $id $id $id $shareId string (int)$share['id'] $result ]]> IEventListener dbHandler->getAllServer()]]> ]]> $files_list fileEncrypted[$fileId]]]> $folder fileEncrypted[$fileId]]]> Folder fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> fileIsEncrypted]]> null null $templateId getTemplates open $fileId getById getRelativePath getRelativePath $file $i $i $i $i $i $i $i $i $i $i $i $i $legacyEvent IEventListener IEventListener IEventListener empty($encryptedFiles) isReadyForUser self::class . '::' . $eventName dispatch $this getCode()]]> (int)$status storageClass]]> ]]> put getCode()]]> getCode()]]> getCode()]]> getCode()]]> getCode()]]> getCode()]]> getCode()]]> lastModified]]> filetype fopen IEventListener IEventListener IEventListener login decrypt encrypt setIV setIV test 'OCA\\Files_External::loadAdditionalBackends' dispatch (int)$code (int)$code \OCA\Circles\Api\v1\Circles \OCA\Circles\Api\v1\Circles getRoomShareHelper()]]> getRoomShareHelper()]]> getRoomShareHelper()]]> \OCA\Talk\Share\Helper\ShareAPIController $files_list $mount Mount $cacheData $legacyEvent IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener getMessage()]]> array_values $itemSource $itemSource $shareWith fetchRow bool sourceRootInfo]]> ICacheEntry new FailedCache() sourceRootInfo]]> moveMount $_['hideFileList'] !== true IEventListener int data->getId()]]> $entry ITrash getChild null INode $entry ITrash mountPoint]]> $trashFiles null $file getById false $timestamp $timestamp $this $this IEventListener IEventListener IEventListener getChild null getChild instanceOfStorage('\OC\Files\ObjectStore\ObjectStoreStorage')]]> retries + 1]]> request->server]]> $groupid === null $groupid === null IEventListener Response AppPasswordCreatedActivityListener::class getSettingsManager ignoreNextcloudRequirementForApp getEMailAddress() => $user->getDisplayName()]]]> IEventListener IEventListener IEventListener isReady null getId()]]> (int)$data['id'] $nodes[0] \OCP\Files\File|\OCP\Files\Folder getObjectId()]]> getObjectId()]]> TIME_SENSITIVE IEventListener IEventListener getRgb())]]> array{0: int, 1: int, 2: int} IEventListener IEventListener IEventListener IEventListener IEventListener IEventListener false users]]> $ln + 1 $this $uuid $values string[] getCode()]]> $subj default: $subj = $key; break; $groupID $gid $i null isset($qb) isset($qb) protected function handleRequest($id, $method, $parameters, $passOnWhen = false) { public function setLdapAccess(Access $access) { avatarImage]]> refreshedFeatures]]> null 0)]]> string|false $limit $offset null 0)]]> is_string($dn) $uid $possibleAttrs[$i] registerProvider IEventListener IEventListener IEventListener null size]]> $size size]]> string storage]]> $decodedValue[1] $decodedValue[1] $decodedValue[1] $decodedValue[1] $hour1 $minute1 Application::APP_ID, 'class' => get_class($subject)]]]> string $uid IEventListener $missingCheck $result $result bool getAllConfiguredScopesForOperation getChecks getOperations getOperations isUserScopeEnabled $arguments $arguments $arguments $result === false array $result === true 0 1 appConfig->getValues($app, false)]]> getFilteredValues 0 1 null [0] string[] $levelNum timeFactory->getTime()]]> getAllMappings updateFilecache getAllAliases $found $found array{shareId: int, fileTarget: string, initiator: string, receiver: string, owner: string, mountOwner: string}[] array{shareId: int, fileTarget: string, initiator: string, receiver: string, owner: string, mountOwner: string}[] section section [] !is_string($stateToken) searchCollections getCode()]]> findMatchingRoute IEventListener request->server]]> $this $this create('core_ajax_update', '/core/ajax/update.php')]]> getIcon memoryCache]]> $restrictions 'OC\AccountManager::userUpdated' dispatch $affectedUser filterClasses]]> providerClasses]]> settingsClasses]]> settings]]> ActivitySettings[] $key !is_array($userIds) array array fetch bool version_compare($first, $second, $operator) $array[$element][] $array[$element][] (string)$xml array $values $default bootedApps]]> getName boolean|null server]]> \OCP\IServerContainer mixed getAppDataDir request->method]]> null @readfile($path) http_response_code() bool int \ArrayAccess $name $remoteAddress getOverwriteHost()]]> method]]> $uri cookies[$key]) ? $this->cookies[$key] : null]]> env[$key]) ? $this->env[$key] : null]]> files[$key]) ? $this->files[$key] : null]]> \is_array($params) \Sabre\HTTP\decodePath($pathInfo) log setOCSVersion request->server]]> request->server]]> request->server]]> \OCA\Talk\Controller\PageController $action['url-postfix'] $default newInstance()]]> newInstanceArgs(array_map(function (ReflectionParameter $parameter) { $parameterType = $parameter->getType(); $resolveName = $parameter->getName(); // try to find out if it is a class or a simple parameter if ($parameterType !== null && ($parameterType instanceof ReflectionNamedType) && !$parameterType->isBuiltin()) { $resolveName = $parameterType->getName(); } try { $builtIn = $parameter->hasType() && ($parameter->getType() instanceof ReflectionNamedType) && $parameter->getType()->isBuiltin(); return $this->query($resolveName, !$builtIn); } catch (QueryException $e) { // Service not found, use the default value when available if ($parameter->isDefaultValueAvailable()) { return $parameter->getDefaultValue(); } if ($parameterType !== null && ($parameterType instanceof ReflectionNamedType) && !$parameterType->isBuiltin()) { $resolveName = $parameter->getName(); try { return $this->query($resolveName); } catch (QueryException $e2) { // don't lose the error we got while trying to query by type throw new QueryException($e->getMessage(), (int) $e->getCode(), $e); } } throw $e; } }, $constructor->getParameters()))]]> ArrayAccess \stdClass getCode()]]> tar->extractInString($path)]]> IEventListener IEventListener $trySession DO_NOT_REMEMBER PERMANENT_TOKEN REMEMBER TEMPORARY_TOKEN WIPE_TOKEN getExpires getLastCheck getLoginName getName getPassword getRemember getScope setExpires setLastCheck setName setPassword setPasswordInvalid setScope setScope setToken setType $row['provider_id'], 'uid' => $row['uid'], 'enabled' => 1 === (int) $row['enabled'], ]; }, $rows)]]> ]]> providers]]> providers]]> [] providers]]> IProvider[] providers]]> $jobList $jobList \ArrayAccess bool|mixed bool|mixed container->get($registration->getService()); } catch (Throwable $e) { $this->logger->error('Could not load calendar provider ' . $registration->getService() . ': ' . $e->getMessage(), [ 'exception' => $e, ]); return []; } return $provider->getCalendars($principalUri, $calendarUris); }, $context->getCalendarProviders()) )]]> ICreateFromString[] container->get($registration->getService()); } catch (Throwable $e) { $this->logger->error('Could not load calendar provider ' . $registration->getService() . ': ' . $e->getMessage(), [ 'exception' => $e, ]); return []; } return $provider->getCalendars($principalUri, $calendarUris); }, $context->getCalendarProviders())]]> $serializedCallable [LaravelClosure::class, OpisClosure::class] $serializedCallable $serializedCommand (string)$id delete($key)]]> set($key, $value)]]> $CONFIG $CONFIG request->server]]> $searchOptions IAddressBook array bool null null null null null $addressBook $addressBook execute()]]> int getParams $params['collation'] getParams $params $params['adapter'] $params['tablePrefix'] adapter->lastInsertId($seqName)]]> string $seqName $statement getCode())]]> 0 $offset $offset $s IMigrationStep $key[0] functionBuilder->lower($x)]]> $y $y getParams $params['collation'] string $alias $groupBys $selects string $string l($type, $timestamp, [ 'width' => $format, ])]]> public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) { public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null) { l($type, $timestamp, [ 'width' => $format, ])]]> string $timestamp float microtime(true) stopQuery execute()]]> TemplateResponse int $template $template $template $template manager->getFileForToken($this->data['user_id'], $this->data['file_id'], $this->data['file_path'])]]> getShareForToken $uniqueUserIds, 'public' => $public]]]> array{users: string[], public: bool} deleteUserKey null null null bool dispatch event->setArgument($key, $value)]]> event->setArguments($args)]]> setArgument setArguments $eventName $listener $eventName dispatch $providerId folder]]> Folder $parentData array $path \OC_Util::normalizeUnicode($path) null null $searchQuery [] getIncomplete insert put $data $file $file self::SCAN_RECURSIVE_INCOMPLETE $existingChildren array[] array getStorageInfo($storageId)]]> cache instanceof Cache]]> array array $searchQuery $user get_class($provider) !== 'OCA\Files_Sharing\MountProvider' get_class($provider) === 'OCA\Files_Sharing\MountProvider' remoteStorageMounts removeUserStorageMount array cacheInfoCache[$fileId]]]> array{int, string, int} \ArrayAccess getStorage()]]> findByNumericId($id)]]> findByStorageId($id)]]> Mount\MountPoint[] Mount\MountPoint[] \OC\Files\Storage\Storage|null addStorageWrapper wrap \OCP\Files\Mount\IMountPoint null view->hash($type, $this->path, $raw)]]> string root->get($this->getFullPath($path))]]> root->getByIdInPath((int)$id, $this->getPath())]]> createNode($file->getPath(), $file); }, $files)]]> $node \OC\Files\Node\Node \OC\Files\Node\Node[] \OC\Files\Node\Node[] emit emit emit emit emit emit emit emit emit emit emit emit emit __call(__FUNCTION__, func_get_args())]]> $node Folder '\OCP\Files::' . $hook FileInfo getChecksum parent]]> INode|IRootFolder fileInfo]]> $type dispatch fileInfo]]> fileInfo]]> $folders createNode($fullPath, $fileInfo, false)]]> mountManager->findByNumericId($numericId)]]> mountManager->findByStorageId($storageId)]]> mountManager->findIn($mountPoint)]]> user]]> MountPoint[] Node \OC\Files\Mount\MountPoint[] \OC\Files\Mount\MountPoint[] \OC\User\User user]]> remove false|string $source ClientResolver::_default_signature_provider() ClientResolver::_default_signature_provider() ClientResolver::_default_signature_provider() Promise\promise_for( new Credentials($key, $secret) ) \Aws\or_chain([self::class, 'legacySignatureProvider'], ClientResolver::_default_signature_provider()) upload \Aws\serialize($command) null string string|false !$permissions copyFromStorage($sourceStorage, $sourceInternalPath . '/' . $file, $targetInternalPath . '/' . $file)]]> cache]]> cache]]> propagator]]> propagator]]> scanner]]> scanner]]> updater]]> updater]]> ArrayCache ArrayCache getBody()]]> fopen null new FailedCache() true getCache verifyPath $file $space === false || is_null($space) is_null($space) $stat === false scanner]]> scanner]]> \Normalizer::FORM_C \Normalizer::FORM_C \Normalizer::FORM_D namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> namesCache]]> $result $result copyFromStorage($sourceStorage, $sourceInternalPath . '/' . $file, $targetInternalPath . '/' . $file, false, $isRename)]]> $newUnencryptedSize $result bool int $lastChunkPos $size getWrapperStorage()->filetype($this->getUnjailedPath($path))]]> bool getWrapperStorage()->test()]]> true stream_close stream_flush !$isDefaultTemplates $mimetype execute()]]> int $mounts \OC\Files\Mount\MountPoint[] $mtime acquireLock changeLock releaseLock getContent())]]> groupCache[$gid]['displayname']]]> groupCache]]> groupCache]]> groupCache]]> IEventListener bool $hide $users $user \OC\User\User[] emitter]]> emitter]]> emitter]]> addToGroup countUsersInGroup deleteGroup removeFromGroup $groups array_values($groups) array_values($groups) \OC\Group\Group[] \OC\Group\Group[] createGroup getGroupDetails isAdmin string|resource stream ? $this->response->getBody()->detach(): $this->response->getBody()->getContents()]]> false false false $app['path'] $app['path'] null getDN(X509::DN_OPENSSL)['CN']]]> getDN(X509::DN_OPENSSL)['CN']]]> getDN(true)['CN']]]> getAllAliases getOnlyDefaultAliases ExcludeFileByNameFilterIterator ExcludeFoldersByPathFilterIterator null|string array|mixed $matches[1] get [] getIncomplete -1, 'parent' => -1, 'name' => '', 'path' => '', 'size' => '0', 'mtime' => time(), 'storage_mtime' => time(), 'etag' => '', 'mimetype' => FileInfo::MIMETYPE_FOLDER, 'mimepart' => 'httpd', 'permissions' => Constants::PERMISSION_READ ])]]> getOwner getPermissions new IteratorDirectory([]) new NullCache() getCache opendir null null new IteratorDirectory([]) $callback() $sessionCallback $request $limit === null getMethod())]]> $dummy syslogId, 'MESSAGE=' . $this->logDetailsAsJSON($app, $message, $level))]]> getPrefix() . $key, $value, $ttl)]]> bool mixed mixed mixed mixed \ArrayAccess \ArrayAccess $id [] $maxPreviewImage $semId $sem false|resource null|string ISimpleFile height height preciseResizeCopy resizeCopy valid width width $thumbnail === false ? null: $thumbnail ?IImage \RedisCluster::OPT_SLAVE_FAILOVER array getBody()]]> bool|string $response false $arguments $arguments $counter % 100 === 0 userToNotify]]> $out $out $out \OC_APP string collectionName]]> $provider instanceof Provider getId()]]> getMtime()]]> getPermissions()]]> hasPreview($data)]]> null request->server]]> value)]]> execute()]]> execute()]]> int int decrypt encrypt setIV setIV setPassword setPassword \OCP\Calendar\Resource\IManager \OCP\Calendar\Room\IManager \OCP\Files\Folder|null get(IFile::class)]]> get(IGroupManager::class)]]> get(INavigationManager::class)]]> get(IUserManager::class)]]> get(IUserSession::class)]]> get(\OCP\Encryption\IManager::class)]]> \OC\Encryption\File \OC\Encryption\Manager \OC\Group\Manager \OC\NavigationManager \OC\User\Manager \OC\User\Session \OC\OCSClient hasNoAppContainer]]> appContainers[$namespace];]]> \ArrayAccess $value $value \ArrayAccess $content !== '' $type === 'pdo' $vendor dbPort)]]> dbprettyname]]> dbprettyname]]> dbprettyname]]> dbprettyname]]> !self::isResharingAllowed() getParents getParents getId()]]> getId()]]> (int)$data['id'] set getParent $id 'OCP\Share::postAcceptShare' 'OCP\Share::postShare' 'OCP\Share::postUnshare' 'OCP\Share::postUnshareFromSelf' 'OCP\Share::preShare' 'OCP\Share::preUnshare' dispatch dispatch dispatch dispatch dispatch dispatch update \OCA\Circles\Api\v1\Circles getChildren FederatedShareProvider ShareByMailProvider $provider $provider shareByCircleProvider]]> getProviderForType null null null null null null $shareProviderClass \OCA\Circles\ShareByCircleProvider RoomShareProvider \OCA\Circles\ShareByCircleProvider \OCA\Talk\Share\RoomShareProvider private $roomShareProvider = null; private $shareByCircleProvider = null; getLazyRootFolder getLazyRootFolder getLazyRootFolder getLazyRootFolder node]]> getNode $stream get listen listen getSupportedApps \OCP\ITags null $from $names $tag false false $style $style null null false $script $script string string $appName $appName getInitialStates $path false IEventListener IUser|false $backend createUser getUsersForUserValueCaseInsensitive boolean|null IUser::class . '::firstLogin' server]]> server]]> dispatch emit emit emit emit emit int null $groupsList ManagerEvent::EVENT_APP_UPDATE $dir['path'] $dir['url'] null null dispatch $appId === null $appId === null \OC\InsufficientStorageException $getType === self::ZIP_DIR $getType === self::ZIP_DIR get get $matches[0][$last_match] $matches[1][$last_match] $path getQuota bool|string \Test\Util\User\Dummy void request->server]]> container, $router, $routes)]]> string $column headers)]]> array{X-Request-Id: string, Cache-Control: string, Content-Security-Policy: string, Feature-Policy: string, X-Robots-Tag: string, Last-Modified?: string, ETag?: string, ...H} \ArrayAccess $step array{0: int, 1: int, 2: int} mixed ArrayAccess IteratorAggregate \OC_App::getStorage($app) ArrayAccess array \Iterator mode]]> null|IPreview::MODE_FILL|IPreview::MODE_COVER