You are here

function _workflow_actions_remove in Workflow 7.2

Remove an action assignment programmatically.

Helpful when deleting a workflow.

Parameters

int $tid: Transition ID.

int $aid: Action ID.

File

workflow_actions/workflow_actions.module, line 303
Enables actions to be fired upon a Workflow State change.

Code

function _workflow_actions_remove($tid, $aid) {
  foreach (_workflow_actions_get_trigger_assignments_by_aid($aid) as $data) {

    // Transition ID is the last part, e.g., foo-bar-1.
    $transition = array_pop(explode('-', $data->hook));
    if ($tid == $transition) {
      $hooks[] = $data->hook;
    }
  }
  foreach ($hooks as $hook) {
    _workflow_actions_delete_trigger_assignments_by_aid_op($aid, $hook);
    foreach (_workflow_actions_get_actions_by_aid($aid) as $action) {
      watchdog('workflow', 'Action %action has been unassigned.', array(
        '%action' => $action->description,
      ));
    }
  }
}