From 796364cf9d39e1f51fb00fbf850469f09d1bbc89 Mon Sep 17 00:00:00 2001 From: Yeni Atencio Date: Fri, 20 Sep 2024 14:36:15 +1000 Subject: [PATCH] Updated hook uninstall --- .../tide_media_secure_files.install | 116 +++++++----------- tide_media.install | 2 - 2 files changed, 41 insertions(+), 77 deletions(-) diff --git a/modules/tide_media_secure_files/tide_media_secure_files.install b/modules/tide_media_secure_files/tide_media_secure_files.install index 9b95dd9..148bff1 100644 --- a/modules/tide_media_secure_files/tide_media_secure_files.install +++ b/modules/tide_media_secure_files/tide_media_secure_files.install @@ -5,10 +5,51 @@ * Tide Media Secure Files. */ +use Drupal\user\Entity\Role; + /** * Implements hook_uninstall(). */ function tide_media_secure_files_uninstall() { + \Drupal::configFactory()->getEditable('pfdp.pfdp_directory.secure')->delete(); + + $secure_file_media_type = 'secure_file'; + $ids = \Drupal::entityQuery('media') + ->condition('bundle', $secure_file_media_type) + ->accessCheck(FALSE) + ->execute(); + $storageHandler = \Drupal::entityTypeManager()->getStorage('media'); + $entities = $storageHandler->loadMultiple($ids); + if ($entities) { + foreach ($entities as $entity) { + $entity->delete(); + } + } + +$media_type = \Drupal::entityTypeManager() + ->getStorage('media_type') + ->load($secure_file_media_type); + if ($media_type) { + $media_type->delete(); + } + + $secure_file_user_role = 'secure_file_user'; + $secure_file_users = \Drupal::entityTypeManager()->getStorage('user')->loadByProperties(['roles' => 'secure_file_user']); + if ($secure_file_users) { + foreach ($secure_file_users as $user) { + $user->removeRole($secure_file_user_role); + $user->save(); + } + } + + $role = Role::load($secure_file_user_role); + if ($role) { + $role->delete(); + } + + drupal_flush_all_caches(); + + \Drupal::service('module_installer')->uninstall(['pfdp']); } /** @@ -21,78 +62,3 @@ function tide_media_secure_files_install() { $module_installer->install(['pfdp']); } } - -/** - * Enable Private files download permission module. - */ -/* function tide_media_update_10004() { - if (!\Drupal::moduleHandler()->moduleExists('pfdp')) { - $module_installer = \Drupal::service('module_installer'); - $module_installer->install(['pfdp']); - - $configs = [ - 'pfdp.pfdp_directory.secure', - 'media.type.secure_file', - 'user.role.secure_file_user', - ]; - - $config_path = \Drupal::service('extension.list.module')->getPath('tide_media') . '/config/install'; - $source = new FileStorage($config_path); - $config_storage = \Drupal::service('config.storage'); - - foreach ($configs as $config) { - $config_storage->write($config, $source->read($config)); - } - - // Add field. - $field_configs = [ - 'field.storage.media.field_secure_file' => 'field_storage_config', - 'field.field.media.secure_file.field_secure_file' => 'field_config', - ]; - module_load_include('inc', 'tide_core', 'includes/helpers'); - $config_location = [\Drupal::service('extension.list.module')->getPath('tide_media') . '/config/install']; - - // Check if field already exported to config/sync. - foreach ($field_configs as $config => $type) { - $config_read = _tide_read_config($config, $config_location, TRUE); - $storage = \Drupal::entityTypeManager()->getStorage($type); - $id = substr($config, strrpos($config, '.') + 1); - if ($storage->load($id) == NULL) { - $config_entity = $storage->createFromStorageRecord($config_read); - $config_entity->save(); - } - } - - $update_configs = [ - 'core.entity_form_display.media.secure_file.default' => 'entity_form_display', - 'core.entity_view_display.media.secure_file.default' => 'entity_view_display', - ]; - $skipped_settings = [ - 'uuid', - 'langcode', - 'status', - 'id', - 'bundle', - ]; - foreach ($update_configs as $update_config => $type) { - $config_read = _tide_read_config($update_config, $config_location, FALSE); - $config = \Drupal::configFactory()->getEditable($update_config); - if (!$config) { - continue; - } - $data = $config->getRawData(); - foreach ($config_read as $key => $item) { - if (in_array($key, $skipped_settings)) { - continue; - } - NestedArray::setValue($data, [ - $key, - ], NestedArray::getValue($config_read, [ - $key, - ])); - } - $config->setData($data)->save(); - } - } -} */ - diff --git a/tide_media.install b/tide_media.install index ff2dc41..ed59aa1 100644 --- a/tide_media.install +++ b/tide_media.install @@ -5,8 +5,6 @@ * Tide Media install. */ -use Drupal\Component\Utility\NestedArray; -use Drupal\Core\Config\FileStorage; use Drupal\field\Entity\FieldConfig; use Drupal\tide_media\TideOperation;