From 5e4df696230339173f54c322bd05c43e22081a5a Mon Sep 17 00:00:00 2001
From: Harpreet Singh <65639-Harpreet_singh_web@users.noreply.drupalcode.org>
Date: Sat, 22 Feb 2025 07:11:44 +0000
Subject: [PATCH 1/2] Update 3 files

- /src/Commands/FilesToMediaMigrate.php
- /composer.json
- /files_to_media_migrate.module
---
 composer.json                        | 12 ++++++++++--
 files_to_media_migrate.module        |  4 ++--
 src/Commands/FilesToMediaMigrate.php | 10 +++++-----
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/composer.json b/composer.json
index cbe1852..a68eedb 100644
--- a/composer.json
+++ b/composer.json
@@ -3,12 +3,20 @@
     "description": "The  files_to_media_migrate allows user to migrate files entity to media entity with drush command",
     "type": "drupal-module",
     "license": "GPL-2.0-or-later",
-    "minimum-stability": "stable",
     "authors": [
         {
             "name": "Vivek kumar",
             "email": "vivekkumar.lnweb@gmail.com"
         }
     ],
-    "require": {}
+    "homepage": "https://drupal.org/project/files_to_media_migrate",
+    "support": {
+        "issues": "https://www.drupal.org/project/issues/files_to_media_migrate",
+        "source": "https://git.drupalcode.org/project/files_to_media_migrate"
+    },
+    "require": {
+        "drupal/core": "^8.8 || ^9 || ^10 || ^11"
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true
 }
diff --git a/files_to_media_migrate.module b/files_to_media_migrate.module
index 80cd035..ac1d228 100644
--- a/files_to_media_migrate.module
+++ b/files_to_media_migrate.module
@@ -29,10 +29,10 @@ function files_to_media_migrate_help($route_name, RouteMatchInterface $route_mat
 function files_to_media_migrate_migrating_files_to_media($entity_id, $field_name, $type, $entity_type) {
 
   // Media field name.
-  $field_name_length = strlen($field_name);
+  $field_name_length = mb_strlen($field_name);
   $new_field = $field_name;
   if ($field_name_length >= 29) {
-    $new_field = substr_replace($field_name, "", -6);
+    $new_field = mb_substr($field_name, "", -6);
 
   }
   $media_field_name = $new_field . '_media';
diff --git a/src/Commands/FilesToMediaMigrate.php b/src/Commands/FilesToMediaMigrate.php
index 0ace57a..b19bdb6 100644
--- a/src/Commands/FilesToMediaMigrate.php
+++ b/src/Commands/FilesToMediaMigrate.php
@@ -9,7 +9,7 @@ use Drupal\Core\Entity\EntityFieldManagerInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Database\Connection;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
-use Drupal\Core\Logger\LoggerChannelFactory;
+use Drupal\Core\Logger\LoggerChannelFactoryInterface;
 
 /**
  * A drush command file.
@@ -61,7 +61,7 @@ class FilesToMediaMigrate extends DrushCommands {
    *   The Entity Field Manager Interface.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The Entity Entity TypeManager Interface.
-   * @param Drupal\Core\Database\Connection $database
+   * @param \Drupal\Core\Database\Connection $database
    *   The $database.
    * @param \Drupal\Core\Logger\LoggerChannelFactory $loggerFactory
    *   The logger channel factory.
@@ -70,7 +70,7 @@ class FilesToMediaMigrate extends DrushCommands {
     EntityFieldManagerInterface $entityFieldManager,
     EntityTypeManagerInterface $entity_type_manager,
     Connection $database,
-    LoggerChannelFactory $loggerFactory
+    LoggerChannelFactoryInterface $loggerFactory
   ) {
     $this->entityFieldManager = $entityFieldManager;
     $this->entityTypeManager = $entity_type_manager;
@@ -106,7 +106,7 @@ class FilesToMediaMigrate extends DrushCommands {
 
     $source_fields = [];
     if (empty($map)) {
-      $this->loggerFactory->notice("Media field doesn't created, Please check your field_type and target_media_bundle.");
+      $this->loggerFactory->get('file_to_media')->notice("Media field doesn't created, Please check your field_type and target_media_bundle.");
       return;
     }
 
@@ -119,7 +119,7 @@ class FilesToMediaMigrate extends DrushCommands {
       }
     }
     // Create missing fields.
-    $missing_fields = array_diff_key($source_fields);
+    $missing_fields = array_diff_key($source_fields, $all_bundle_fields);
     foreach ($missing_fields as $new_field_name => $field) {
       try {
         $existingField = $this->entityTypeManager->getStorage('field_config')->load($new_field_name, $entity_type);
-- 
GitLab


From 7846d885f5db800ea236e1da3501f8a9a065086c Mon Sep 17 00:00:00 2001
From: Harpreet Singh <65639-Harpreet_singh_web@users.noreply.drupalcode.org>
Date: Sat, 22 Feb 2025 07:18:28 +0000
Subject: [PATCH 2/2] Update file files_to_media_migrate.info.yml

---
 files_to_media_migrate.info.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/files_to_media_migrate.info.yml b/files_to_media_migrate.info.yml
index ade0551..2f9996c 100644
--- a/files_to_media_migrate.info.yml
+++ b/files_to_media_migrate.info.yml
@@ -2,7 +2,7 @@ name: Files To Media Migrate
 type: module
 description: Migrate file fields to media fields using Drush batch Command.
 package: Migration
-core_version_requirement: ^9 || ^10
+core_version_requirement: ^9 || ^10 || ^11
 dependencies:
   - drupal:media
   - drupal:media_library
-- 
GitLab