You are here

function entity_qget_allowed_subque_list in Entityqueue Form Widget 8

Same name and namespace in other branches
  1. 2.0.x entityqueue_form_widget.module \entity_qget_allowed_subque_list()

Get allowed sub queue for entityqueues list.

Used to show module home page content.

Parameters

object $node: A node.

Return value

array List of allowed sub-queue

1 call to entity_qget_allowed_subque_list()
entityqueue_form_widget_form_node_form_alter in ./entityqueue_form_widget.module
Implements hook_form_node_form_alter().

File

./entityqueue_form_widget.module, line 119
Allows editors to add content to an entityqueue from the same add/edit form.

Code

function entity_qget_allowed_subque_list($node) {
  $allowed_entityqueues = [];
  $subqueues = EntitySubqueue::loadMultiple();
  if (isset($subqueues) && count($subqueues) > 0) {
    foreach ($subqueues as $subqueue) {
      $queue = $subqueue
        ->getQueue();
      if (isset($queue)) {
        $queue_settings = $queue
          ->getEntitySettings();
        $target_bundles = [];
        if (isset($queue_settings) && isset($queue_settings['handler_settings']) && isset($queue_settings['handler_settings']['target_bundles']) && !empty($queue_settings['handler_settings']['target_bundles'])) {
          $target_bundles = $queue_settings['handler_settings']['target_bundles'];
        }
        if ($queue_settings['target_type'] == $node
          ->getEntityTypeId() && (empty($target_bundles) || in_array($node
          ->bundle(), $target_bundles))) {
          $id = $queue
            ->id();
          $allowed_entityqueues[$id][] = $subqueue
            ->id();
        }
      }
    }
  }
  return $allowed_entityqueues;
}