Browse Source

File types added

main
ajstanley 2 weeks ago
parent
commit
06e008ed63
  1. 3
      src/Form/CreateMediaFromFileForm.php
  2. 16
      src/Utils.php

3
src/Form/CreateMediaFromFileForm.php

@ -142,8 +142,7 @@ final class CreateMediaFromFileForm extends FormBase {
$destination = "{$file_system}{$directory}";
$media_type = $form_state->getValue('media_type');
$media_use = $form_state->getValue('media_use');
// $results = $this->mediaUtils->buildMedia($source_path, $destination, $media_type, $media_use);
$results = $this->mediaUtils->buildMediaBatch($source_path, $destination, $media_type, $media_use);
$this->mediaUtils->buildMediaBatch($source_path, $destination, $media_type, $media_use);
$this->messenger()->addStatus($this->t('Media files have been processed from %source to %destination.', [
'%source' => $source_path,
'%destination' => $destination,

16
src/Utils.php

@ -20,6 +20,14 @@ class Utils {
if (!isset($context['results'])) {
$context['results'] = [];
}
$file_types = [
'audio' => 'field_media_audio_file',
'document' => 'field_media_document',
'file' => 'field_media_file',
'image' => 'field_media_image',
'video' => 'field_media_video_file',
];
$file_type = $file_types[$media_type] ?? 'field_media_file';
$logger = \Drupal::logger('islandora_inplace_media');
$fileSystem = \Drupal::service('file_system');
@ -27,12 +35,15 @@ class Utils {
$source_path = $dir . '/' . $file_name;
$destination_path = $dest . '/' . $file_name;
if (!file_exists($source_path)) {
if (!\file_exists($source_path)) {
$logger->warning('File does not exist: @file', ['@file' => $source_path]);
return;
}
$moved_file = $fileSystem->move($source_path, $destination_path, FileSystemInterface::EXISTS_RENAME);
$absolute_path = $fileSystem->realpath($destination_path);
chown($absolute_path, 'www-data');
chgrp($absolute_path, 'lib-dev');
$new_file = File::create([
'uri' => $moved_file,
'status' => 1,
@ -43,13 +54,12 @@ class Utils {
if (preg_match('/^(\d+)_/', $file_name, $matches)) {
$nid = $matches[1] ?? NULL;
}
unlink($source_path);
if ($nid) {
$media = Media::create([
"bundle" => $media_type,
"name" => $file_name,
"field_media_file" => [
$file_type => [
"target_id" => $new_file->id(),
],
'field_media_use' => [

Loading…
Cancel
Save