class EntityTypeCount in Open Social 8.5
Same name and namespace in other branches
- 8.9 modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- 8.6 modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- 8.7 modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- 8.8 modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- 10.3.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- 10.0.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- 10.1.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- 10.2.x modules/custom/social_lets_connect/modules/social_lets_connect_usage/src/Plugin/ShareUsageDataPlugin/EntityTypeCount.php \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
Provides a 'EntityTypeCount' share usage data plugin.
Plugin annotation
@ShareUsageDataPlugin(
id = "entity_type_count",
label = @Translation("Entity Type Count"),
setting = "entity_type_count",
weight = -440,
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPluginBase implements ContainerFactoryPluginInterface, ShareUsageDataPluginInterface uses StringTranslationTrait
- class \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPlugin\EntityTypeCount
- class \Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPluginBase implements ContainerFactoryPluginInterface, ShareUsageDataPluginInterface uses StringTranslationTrait
Expanded class hierarchy of EntityTypeCount
File
- modules/
custom/ social_lets_connect/ modules/ social_lets_connect_usage/ src/ Plugin/ ShareUsageDataPlugin/ EntityTypeCount.php, line 18
Namespace
Drupal\social_lets_connect_usage\Plugin\ShareUsageDataPluginView source
class EntityTypeCount extends ShareUsageDataPluginBase {
/**
* Get the value.
*
* @return array
* $json array.
*/
public function getValue() {
$value = [];
$definitions = $this->entityTypeManager
->getDefinitions();
foreach ($definitions as $definition) {
$entity_type_id = $definition
->id();
// We don't need to add config entities.
if ($definition instanceof ConfigEntityType) {
continue;
}
$entity_bundle_info = \Drupal::service('entity_type.bundle.info');
$bundle_info = $entity_bundle_info
->getBundleInfo($entity_type_id);
$bundles = [];
if (count($bundle_info) > 1) {
foreach ($bundle_info as $bundle_id => $bundle_data) {
// Suppress warning about unused variable.
unset($bundle_data);
$keys = $definition
->getKeys();
$bundle_key = $keys['bundle'] === NULL ? 'bundle' : $keys['bundle'];
$query = \Drupal::entityQuery($entity_type_id);
$query
->condition($bundle_key, $bundle_id);
$query
->count();
$count = $query
->execute();
$row = [
'bundle' => $bundle_id,
'count' => $count,
];
$bundles[] = $row;
}
}
$storage = $this->entityTypeManager
->getStorage($entity_type_id);
$query = $storage
->getAggregateQuery();
$query
->count();
$count = $query
->execute();
$entity = [
'entity_type' => $entity_type_id,
'count' => $count,
'bundles' => $bundles,
];
$value[$entity_type_id] = $entity;
}
return $value;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityTypeCount:: |
public | function |
Get the value. Overrides ShareUsageDataPluginBase:: |
|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
ShareUsageDataPluginBase:: |
public | property | The config. | |
ShareUsageDataPluginBase:: |
public | property | The entity type manager. | |
ShareUsageDataPluginBase:: |
public static | function |
The create method. Overrides ContainerFactoryPluginInterface:: |
|
ShareUsageDataPluginBase:: |
public | function |
Check if this plugin should be enabled. Overrides ShareUsageDataPluginInterface:: |
|
ShareUsageDataPluginBase:: |
public | function |
UserExportPluginBase constructor. Overrides PluginBase:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |