4 * Implements hook_permission().
6 function actions_permissions_permission() {
7 $permissions = array();
8 $actions = actions_list() + _actions_permissions_advanced_actions_list();
9 foreach ($actions as $key => $action) {
10 $permission = actions_permissions_get_perm($action['label'], $key);
12 $permissions[$permission] = array(
13 'title' => t('Execute %label', array('%label' => $action['label'])),
20 * Get a list of advanced actions (created through the Action UI).
22 function _actions_permissions_advanced_actions_list() {
24 // Actions provided by Drupal that aren't usable in a VBO context.
25 $hidden_actions = array(
26 'system_block_ip_action',
28 'system_message_action',
31 $result = db_query("SELECT * FROM {actions} WHERE parameters > ''");
32 foreach ($result as $action) {
33 if (in_array($action->callback, $hidden_actions)) {
37 $parameters = unserialize($action->parameters);
38 $actions[$action->aid] = array(
39 'label' => $action->label,
40 'type' => $action->type,
47 * Returns the permission name used in user_access().
49 function actions_permissions_get_perm($label, $key) {
50 return "execute $key";