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();
}