You are here

function views_bulk_operations_operation_advanced_action_list in Views Bulk Operations (VBO) 7.3

Get a list of advanced actions (created through the Action UI).

1 call to views_bulk_operations_operation_advanced_action_list()
views_bulk_operations_operation_action_list in plugins/operation_types/action.inc
Returns a prepared list of available actions.

File

plugins/operation_types/action.inc, line 81

Code

function views_bulk_operations_operation_advanced_action_list() {
  $actions = array();
  $static_actions = actions_list();
  $result = db_query("SELECT * FROM {actions} WHERE parameters > ''");
  foreach ($result as $action) {
    $parameters = unserialize($action->parameters);
    $actions[$action->aid] = array(
      'label' => isset($action->label) ? $action->label : '',
      'callback' => $action->callback,
      'type' => $action->type,
      'configurable' => FALSE,
      'parameters' => $parameters,
    );
    foreach (array(
      'aggregate',
      'behavior',
      'permissions',
      'pass rows',
    ) as $attribute) {
      if (isset($static_actions[$action->callback][$attribute])) {
        $actions[$action->aid][$attribute] = $static_actions[$action->callback][$attribute];
      }
    }
    if (isset($static_actions[$action->callback]['parameters'])) {
      $actions[$action->aid]['parameters'] = array_merge($actions[$action->aid]['parameters'], $static_actions[$action->callback]['parameters']);
    }
  }
  return $actions;
}