--- uc_webform_pane.module	2012-02-15 17:34:57.000000000 +0800
+++ uc_webform_pane.module.new	2012-02-15 17:34:51.000000000 +0800
@@ -424,12 +424,26 @@
   // Set a flag indicating processing should continue and be saved.
   $form_state['webform_completed'] = TRUE;
   
+  // trigger hook_webform_submission_presave
+  $submission = webform_submission_data($node, $form_state['values']['submitted']);
+  foreach (module_implements('webform_submission_presave') as $module) {
+    $function = $module . '_webform_submission_presave';
+    $function($node, $submission);
+  }
+
   webform_client_form_submit(array('#node' => $node), $form_state);
   
   if (!$sid) {
     $sid = $form_state['values']['details']['sid'];
     db_query("INSERT INTO {uc_webform_pane_submissions} (nid, sid, order_id) VALUES (%d, %d, %d)", $nid, $sid, $order_id);
   }
+
+  // trigger hook_webform_submission_insert
+  foreach (module_implements('webform_submission_insert') as $module) {
+    $function = $module . '_webform_submission_insert';
+    $function($node, $submission);
+  }
+
 }
 
 /**
