--- workflow.module	2007-03-02 22:51:57.000000000 +0200
+++ workflow.module.new	2007-07-22 11:29:12.000000000 +0300
@@ -1138,6 +1138,12 @@ function workflow_overview() {
         'href' => "admin/build/workflow/delete/$wid"),
     );
 
+    // Allow other modules to insert new workflow operations.
+    $mod_links = module_invoke_all('workflow_operations', 'workflow', $wid);
+    if (is_array($mod_links)) {
+      $links = array_merge($links, $mod_links);
+    }
+
     $states = workflow_get_states($wid);
     if (!(module_exists('actions') && $states)) {
       unset($links['workflow_overview_actions']);
@@ -1159,6 +1165,13 @@ function workflow_overview() {
           ),
         );
       }
+
+      // Allow other modules to insert new state operations including on (creation).
+      $mod_statelinks = module_invoke_all('workflow_operations', 'state', $wid, $sid);
+      if (is_array($mod_statelinks)) {
+        $statelinks = array_merge(is_array($statelinks) ? $statelinks : array(), $mod_statelinks);
+      }
+
       $subrows[] = array(t($statename), theme('links', $statelinks));
       unset ($statelinks);
     }
