You are here

public function ActivityEntityConditionManager::getOptionsList in Open Social 8

Same name and namespace in other branches
  1. 8.9 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  2. 8.2 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  3. 8.3 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  4. 8.4 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  5. 8.5 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  6. 8.6 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  7. 8.7 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  8. 8.8 modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  9. 10.3.x modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  10. 10.0.x modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  11. 10.1.x modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()
  12. 10.2.x modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php \Drupal\activity_creator\Plugin\ActivityEntityConditionManager::getOptionsList()

Retrieves an options list of available trackers.

Parameters

array $entities: Value of activity_bundle_entities array with "entity.bundle" values.

Return value

string[] An associative array mapping the IDs of all available tracker plugins to their labels.

File

modules/custom/activity_creator/src/Plugin/ActivityEntityConditionManager.php, line 43

Class

ActivityEntityConditionManager
Provides the Activity entity condition plugin manager.

Namespace

Drupal\activity_creator\Plugin

Code

public function getOptionsList(array $entities = []) {
  $options = [];
  if (!empty($entities)) {
    foreach ($entities as $entity) {
      $entity = explode('-', $entity);
      $entity_type = $entity[0];
      $bundle = $entity[1];

      // Get all entity condition plugin definitions.
      foreach ($this
        ->getDefinitions() as $plugin_id => $plugin_definition) {
        if (!empty($entity)) {
          if (isset($plugin_definition['entities'][$entity_type])) {

            // If only entity type is set in plugin.
            if (empty($plugin_definition['entities'][$entity_type])) {
              $options[$plugin_id] = Html::escape($plugin_definition['label']);
            }
            else {
              if (in_array($bundle, $plugin_definition['entities'][$entity_type])) {
                $options[$plugin_id] = Html::escape($plugin_definition['label']);
              }
            }
          }
        }
        else {
          $options[$plugin_id] = Html::escape($plugin_definition['label']);
        }
      }
    }
  }
  return $options;
}