You are here

function _views_bulk_operations_object_permission in Views Bulk Operations (VBO) 6

Same name and namespace in other branches
  1. 6.3 views_bulk_operations.module \_views_bulk_operations_object_permission()

Helper function to verify access permission to operate on object.

3 calls to _views_bulk_operations_object_permission()
_views_bulk_operations_execute_multiple in ./views_bulk_operations.module
Helper function for multiple execution operations.
_views_bulk_operations_execute_queue in ./views_bulk_operations.module
Helper function to handle Drupal Queue operations.
_views_bulk_operations_execute_single in ./views_bulk_operations.module
Helper function to handle Batch API operations.

File

./views_bulk_operations.module, line 1917
Allows operations to be performed on items selected in a view.

Code

function _views_bulk_operations_object_permission($operation, $object, $object_info, $account = NULL) {

  // Check against object access permissions.
  if (!isset($object_info['access'])) {
    return TRUE;
  }
  $access_ops = array(
    VBO_ACCESS_OP_VIEW => 'view',
    VBO_ACCESS_OP_UPDATE => 'update',
    VBO_ACCESS_OP_CREATE => 'create',
    VBO_ACCESS_OP_DELETE => 'delete',
  );
  foreach ($access_ops as $bit => $op) {
    if ($operation['access op'] & $bit) {
      if (!call_user_func($object_info['access'], $op, $object, $account)) {
        return FALSE;
      }
    }
  }
  return TRUE;
}