You are here

class ExportUser in Open Social 8.4

Same name in this branch
  1. 8.4 modules/social_features/social_user_export/src/ExportUser.php \Drupal\social_user_export\ExportUser
  2. 8.4 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
Same name and namespace in other branches
  1. 8.9 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  2. 8 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  3. 8.2 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  4. 8.3 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  5. 8.5 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  6. 8.6 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  7. 8.7 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  8. 8.8 modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  9. 10.3.x modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  10. 10.0.x modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  11. 10.1.x modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser
  12. 10.2.x modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php \Drupal\social_user_export\Plugin\Action\ExportUser

Exports a user accounts to CSV.

Plugin annotation


@Action(
  id = "social_user_export_user_action",
  label = @Translation("Export the selected user(s) to CSV"),
  type = "user",
  confirm_form_route_name = "social_user_export.export_user_confirm"
)

Hierarchy

Expanded class hierarchy of ExportUser

File

modules/social_features/social_user_export/src/Plugin/Action/ExportUser.php, line 21

Namespace

Drupal\social_user_export\Plugin\Action
View source
class ExportUser extends ActionBase implements ContainerFactoryPluginInterface {

  /**
   * The tempstore factory.
   *
   * @var \Drupal\user\PrivateTempStoreFactory
   */
  protected $tempStoreFactory;

  /**
   * The current user.
   *
   * @var \Drupal\Core\Session\AccountInterface
   */
  protected $currentUser;

  /**
   * Apply for all.
   *
   * @var bool
   */
  protected $applyAll;

  /**
   * The query.
   *
   * @var array
   */
  protected $query = [];

  /**
   * Constructs a ExportUser object.
   *
   * @param array $configuration
   *   A configuration array containing information about the plugin instance.
   * @param string $plugin_id
   *   The plugin ID for the plugin instance.
   * @param mixed $plugin_definition
   *   The plugin implementation definition.
   * @param \Drupal\user\PrivateTempStoreFactory $temp_store_factory
   *   The tempstore factory.
   * @param \Drupal\Core\Session\AccountInterface $current_user
   *   The current user.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, PrivateTempStoreFactory $temp_store_factory, AccountInterface $current_user) {
    $this->currentUser = $current_user;
    $this->tempStoreFactory = $temp_store_factory;
    parent::__construct($configuration, $plugin_id, $plugin_definition);
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition, $container
      ->get('user.private_tempstore'), $container
      ->get('current_user'));
  }

  /**
   * {@inheritdoc}
   */
  public function executeMultiple(array $entities) {
    if ($this->applyAll) {
      $this->tempStoreFactory
        ->get('user_operations_export')
        ->set($this->currentUser
        ->id(), [
        'apply_all' => TRUE,
        'query' => $this->query,
      ]);
    }
    else {
      $this->tempStoreFactory
        ->get('user_operations_export')
        ->set($this->currentUser
        ->id(), [
        'entities' => $entities,
      ]);
    }
  }

  /**
   * {@inheritdoc}
   */
  public function execute($object = NULL) {
    $this
      ->executeMultiple([
      $object,
    ]);
  }

  /**
   * {@inheritdoc}
   */
  public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) {

    /** @var \Drupal\user\UserInterface $object */
    return $object
      ->access('view', $account, $return_as_object);
  }

  /**
   * Set the apply_all property.
   *
   * @param bool $applyAll
   *   Boolean that determines if this applies for all or not.
   */
  public function setApplyAll($applyAll) {
    $this->applyAll = $applyAll;
  }

  /**
   * Set the query property.
   *
   * @param array $query
   *   An array with query properties.
   */
  public function setQuery(array $query) {
    $this->query = $query;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
ExportUser::$applyAll protected property Apply for all.
ExportUser::$currentUser protected property The current user.
ExportUser::$query protected property The query.
ExportUser::$tempStoreFactory protected property The tempstore factory.
ExportUser::access public function Checks object access. Overrides ActionInterface::access
ExportUser::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
ExportUser::execute public function Executes the plugin. Overrides ExecutableInterface::execute
ExportUser::executeMultiple public function Executes the plugin for an array of objects. Overrides ActionBase::executeMultiple
ExportUser::setApplyAll public function Set the apply_all property.
ExportUser::setQuery public function Set the query property.
ExportUser::__construct public function Constructs a ExportUser object. Overrides PluginBase::__construct
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.