/** * @param record_adapter $record */ private function mirror(record_adapter $record) { $this->mime = $record->getMimeType(); $this->sha256 = $record->getSha256(); $this->original_name = $record->getOriginalName(); $this->type = $record->getType(); $this->isStory = $record->isStory(); $this->uuid = $record->getUuid(); $this->updated = $record->getUpdated(); $this->created = $record->getCreated(); $this->base_id = $record->getBaseId(); $this->collection_id = $record->getCollectionId(); }
/** * Retrieve detailed information about one record * * @param Request $request * @param \record_adapter $record * @return array */ public function listRecord(Request $request, \record_adapter $record) { $technicalInformation = []; foreach ($record->get_technical_infos()->getValues() as $name => $value) { $technicalInformation[] = ['name' => $name, 'value' => $value]; } $data = ['databox_id' => $record->getDataboxId(), 'record_id' => $record->getRecordId(), 'mime_type' => $record->getMimeType(), 'title' => $record->get_title(), 'original_name' => $record->get_original_name(), 'updated_on' => $record->getUpdated()->format(DATE_ATOM), 'created_on' => $record->getCreated()->format(DATE_ATOM), 'collection_id' => $record->getCollectionId(), 'base_id' => $record->getBaseId(), 'sha256' => $record->getSha256(), 'thumbnail' => $this->listEmbeddableMedia($request, $record, $record->get_thumbnail()), 'technical_informations' => $technicalInformation, 'phrasea_type' => $record->getType(), 'uuid' => $record->getUuid()]; if ($request->attributes->get('_extended', false)) { $subdefs = $caption = []; foreach ($record->get_embedable_medias([], []) as $name => $media) { if (null !== ($subdef = $this->listEmbeddableMedia($request, $record, $media))) { $subdefs[] = $subdef; } } foreach ($record->get_caption()->get_fields() as $field) { $caption[] = ['meta_structure_id' => $field->get_meta_struct_id(), 'name' => $field->get_name(), 'value' => $field->get_serialized_values(';')]; } $extendedData = ['subdefs' => $subdefs, 'metadata' => $this->listRecordCaption($record->get_caption()), 'status' => $this->listRecordStatus($record), 'caption' => $caption]; $data = array_merge($data, $extendedData); } return $data; }