You are here

function views_rules_data_types in Views Rules 7

Builds data options for Rules data types.

3 calls to views_rules_data_types()
ViewsRulesFrameworkTestCase::testDataTypes in tests/views_rules.test
Tests data type listing.
views_rules_data_type_options in ./views_rules.module
Gets data types.
views_rules_plugin_display_rules::get_variable_form in views/views_rules_plugin_display_rules.inc
Builds the form element for a single variable.

File

./views_rules.module, line 32
Views & Rules deep-level integration.

Code

function views_rules_data_types($options = array()) {

  // Enumerate data types.
  $cache = rules_get_cache();
  $items = $cache['data_info'];

  // Add default data options.
  $options += array(
    'list' => FALSE,
    'entity' => FALSE,
  );

  // Remove list items.
  if (empty($options['list'])) {
    if (isset($items['list'])) {
      unset($items['list']);
    }
    foreach ($items as $name => $info) {
      if (strpos($name, 'list<') === 0) {
        unset($items[$name]);
      }
    }
  }

  // Remove entity items.
  if (empty($options['entity'])) {
    if (isset($items['entity'])) {
      unset($items['entity']);
    }
    $items = array_diff_key($items, entity_get_info());
  }
  return $items;
}