Index: mysite.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mysite/mysite.module,v
retrieving revision 1.98
diff -u -p -r1.98 mysite.module
--- mysite.module	1 Oct 2008 14:01:37 -0000	1.98
+++ mysite.module	16 Jul 2009 14:43:33 -0000
@@ -1859,15 +1859,15 @@ function mysite_edit_form_submit($form_i
   }
   if ($form_values['op'] == $form_values['submit']) {
     if ($uid > 0) {
-      drupal_goto('mysite/'. $form_values['uid'] .'/view/'. $page);
+      return 'mysite/'. $form_values['uid'] .'/view/'. $page;
     }
     else {
-      drupal_goto('admin/settings/mysite');
+      return 'admin/settings/mysite';
     }
   }
   else {
     $goto = 'mysite/'. $form_values['uid'] .'/edit/'. $page .'/'. $form_values['next'];
-    drupal_goto($goto);
+    return $goto;
   }
 
 }
@@ -2283,7 +2283,7 @@ function mysite_confirm_delete_form_subm
     db_query("UPDATE {mysite} SET confirm = %d WHERE uid = %d", $form_values['ignore'], $form_values['uid']);
   }
   // Run the delete sequence.
-  mysite_delete_item($form_values['uid'], $form_values['mid']);
+  return mysite_delete_item($form_values['uid'], $form_values['mid']);
 }
 
 /**
@@ -2330,7 +2330,7 @@ function mysite_delete_form_submit($form
       db_query("DELETE FROM {url_alias} WHERE src = '%s'", "mysite/$uid/view");
     }
     drupal_set_message(t("%user's collection has been deleted.", array('%user' => $owner->name)));
-    drupal_goto('mysite');
+    return 'mysite';
   }
   else {
     drupal_set_message(t("%user's collection could not be found.", array('%user' => $owner->name)));
@@ -2358,7 +2358,7 @@ function mysite_reset_form_submit($form_
     db_query("DELETE FROM {mysite_data} WHERE uid = %d", $owner->uid);
     db_query("DELETE FROM {mysite_page} WHERE uid = %d", $owner->uid);
     mysite_create_account($owner);
-    drupal_goto('mysite/'. $owner->uid .'/view');
+    return 'mysite/'. $owner->uid .'/view';
   }
 }
 
@@ -2600,7 +2600,8 @@ function mysite_content_remove($uid = NU
     return drupal_get_form('mysite_confirm_delete_form', $mysite->uid, $mid, $mysite->name, $dest);
   }
   // this function includes a drupal_goto, so no return is needed.
-  mysite_delete_item($uid, $mid, $dest);
+  $dest = mysite_delete_item($uid, $mid, $dest);
+  drupal_goto($dest);
 }
 
 /**
@@ -2633,9 +2634,9 @@ function mysite_delete_item($uid, $mid, 
     drupal_set_message(t('You are not authorized to delete this item.'), 'error');
   }
   if (empty($dest)) {
-    drupal_goto('mysite/'. $uid .'/content');
+    return 'mysite/'. $uid .'/content';
   }
-  drupal_goto($dest);
+  return $dest;
 }
 
 /**
