/**
  * Add correct fe_group info and public_url
  *
  * @param Item $item
  * @param \ArrayObject $metadata
  */
 public function fileMetaDataRetrieved(Item $item, \ArrayObject $metadata)
 {
     if ($item->getFile() instanceof File && !$item->getFile()->getStorage()->isPublic()) {
         $resourcePermissions = $this->checkPermissionsService->getPermissions($item->getFile());
         // If there are already permissions set, refine these with actual file permissions
         if ($metadata['fe_groups']) {
             $metadata['fe_groups'] = implode(',', GeneralUtility::keepItemsInArray(explode(',', $resourcePermissions), $metadata['fe_groups']));
         } else {
             $metadata['fe_groups'] = $resourcePermissions;
         }
     }
     // Re-generate public url
     $this->publicUrlAspect->setEnabled(FALSE);
     $metadata['public_url'] = $item->getFile()->getPublicUrl();
     $this->publicUrlAspect->setEnabled(TRUE);
 }
 /**
  * Get user permissions
  *
  * @param string|File $file
  * @param string $content
  * @param array $additionalFields
  * @param array $indexRecordValues
  * @param \tx_kesearch_indexer_types_file $indexer
  */
 public function modifyFileIndexEntry($file, $content, $additionalFields, &$indexRecordValues, $indexer)
 {
     if ($file instanceof File && !$file->getStorage()->isPublic()) {
         $indexRecordValues['fe_group'] = $this->checkPermissionsService->getPermissions($file);
     }
 }