function workflow_deletewf in Workflow 6
Same name and namespace in other branches
- 5.2 workflow.module \workflow_deletewf()
 - 5 workflow.module \workflow_deletewf()
 - 6.2 workflow.module \workflow_deletewf()
 
Delete a workflow from the database. Deletes all states, transitions and node type mappings, too. Removes workflow state information from nodes participating in this workflow.
Parameters
$wid: The ID of the workflow.
1 call to workflow_deletewf()
- workflow_admin_ui_delete_form_submit in workflow_admin_ui/
workflow_admin_ui.module  - Submit handler for workflow deletion form.
 
File
- ./
workflow.module, line 780  - Support workflows made up of arbitrary states.
 
Code
function workflow_deletewf($wid) {
  $wf = workflow_get_name($wid);
  $result = db_query('SELECT sid FROM {workflow_states} WHERE wid = %d', $wid);
  while ($data = db_fetch_object($result)) {
    // Delete the state and any associated transitions and actions.
    workflow_state_delete($data->sid);
    db_query('DELETE FROM {workflow_node} WHERE sid = %d', $data->sid);
  }
  db_query("DELETE FROM {workflow_type_map} WHERE wid = %d", $wid);
  db_query('DELETE FROM {workflows} WHERE wid = %d', $wid);
  // Notify any interested modules.
  module_invoke_all('workflow', 'workflow delete', $wid, NULL, NULL);
  // Workflow deletion affects tabs (local tasks), so force menu rebuild.
  cache_clear_all('*', 'cache_menu', TRUE);
  menu_rebuild();
}