object; if(!$presentation instanceof Presentation) return $values; $serializerType = SerializerRegistry::SerializerType_Public; $currentUser = $this->resource_server_context->getCurrentUser(); if(!is_null($currentUser) && $currentUser->isAdmin()){ $serializerType = SerializerRegistry::SerializerType_Private; } // add video column $values['video'] = ''; $values['public_video'] = ''; foreach ($presentation->getMediaUploads() as $mediaUpload) { if($mediaUpload->getMediaUploadType()->isVideo()) { $media_upload_csv = SerializerRegistry::getInstance()->getSerializer($mediaUpload, $serializerType)->serialize(AbstractSerializer::filterExpandByPrefix($expand, 'media_uploads'));; if(!isset($media_upload_csv['private_url']) || !isset($media_upload_csv['filename'])){ Log::warning(sprintf("AdminPresentationCSVSerializer::serialize can not process media upload %s", json_encode($media_upload_csv))); continue; } $values['video'] = sprintf('=HYPERLINK("%s";"%s")', $media_upload_csv['private_url'], $media_upload_csv['filename']); if(!isset($media_upload_csv['public_url']) || !isset($media_upload_csv['filename'])){ Log::warning(sprintf("AdminPresentationCSVSerializer::serialize can not process media upload %s", json_encode($media_upload_csv))); continue; } $values['public_video'] = sprintf('=HYPERLINK("%s";"%s")', $media_upload_csv['public_url'], $media_upload_csv['filename']); } } return $values; } }