You are here

function _drush_salesforce_mapping_confirm_and_delete in Salesforce Suite 5.0.x

Same name and namespace in other branches
  1. 8.4 modules/salesforce_mapping/salesforce_mapping.drush.inc \_drush_salesforce_mapping_confirm_and_delete()
  2. 8.3 modules/salesforce_mapping/salesforce_mapping.drush.inc \_drush_salesforce_mapping_confirm_and_delete()

Helper to interactively confirm delete.

Parameters

array $object_ids: Records to be deleted.

\Drupal\Core\Entity\ContentEntityStorageInterface $storage: Storage.

string $extra: Extra message parts.

Throws

\Drupal\Core\Entity\EntityStorageException

3 calls to _drush_salesforce_mapping_confirm_and_delete()
drush_salesforce_mapping_sf_purge_drupal in modules/salesforce_mapping/salesforce_mapping.drush.inc
Support for drush 8 is deprecated and will be removed in a future release.
drush_salesforce_mapping_sf_purge_mapping in modules/salesforce_mapping/salesforce_mapping.drush.inc
Support for drush 8 is deprecated and will be removed in a future release.
drush_salesforce_mapping_sf_purge_salesforce in modules/salesforce_mapping/salesforce_mapping.drush.inc
Support for drush 8 is deprecated and will be removed in a future release.

File

modules/salesforce_mapping/salesforce_mapping.drush.inc, line 307
Drush integration for Salesforce.

Code

function _drush_salesforce_mapping_confirm_and_delete(array $object_ids, ContentEntityStorageInterface $storage, $extra = '') {
  if (empty($object_ids)) {
    return;
  }
  $message = 'Delete ' . count($object_ids) . ' orphaned mapped objects';
  if ($extra) {
    $message .= ' for ' . $extra;
  }
  $message .= '?';
  if (!drush_confirm($message)) {
    return;
  }

  // Still have to *load* entities in order to delete them. **UGH**.
  $mapped_objs = $storage
    ->loadMultiple($object_ids);
  $storage
    ->delete($mapped_objs);
}