Index: path_redirect.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/path_redirect/path_redirect.module,v
retrieving revision 1.3.2.7.2.108
diff -u -p -r1.3.2.7.2.108 path_redirect.module
--- path_redirect.module	1 Dec 2010 00:50:53 -0000	1.3.2.7.2.108
+++ path_redirect.module	21 Jan 2011 00:01:39 -0000
@@ -113,15 +113,15 @@ function path_redirect_goto($redirect = 
   elseif (is_numeric($redirect)) {
     $redirect = path_redirect_load($redirect);
   }
-
   if ($redirect) {
     // Create the absolute redirection URL.
     $redirect['redirect_url'] = url($redirect['redirect'], array('query' => $redirect['query'], 'fragment' => $redirect['fragment'], 'absolute' => TRUE));
+    $redirect['source_url'] = url($redirect['source'], array('query' => $redirect['query'], 'fragment' => $redirect['fragment'], 'absolute' => TRUE));
 
     // Update the last used timestamp so that unused redirects can be purged.
     db_query("UPDATE {path_redirect} SET last_used = %d WHERE rid = %d", time(), $redirect['rid']);
 
-    if (url($redirect['redirect']) == url($_GET['q'])) {
+    if (url($redirect['redirect']) == url($path)) {
       // Prevent infinite loop redirection.
       watchdog('path_redirect', 'Redirect to <code>%redirect</code> is causing an infinite loop; redirect cancelled.', array('%redirect' => $redirect['redirect_url']), WATCHDOG_WARNING, l(t('Edit'), 'admin/build/path-redirect/edit/'. $redirect['rid']));
     }
@@ -129,12 +129,11 @@ function path_redirect_goto($redirect = 
       // If the user has requested not to be redirected, show a message.
       drupal_set_message(t('This page has been moved to <a href="@redirect">@redirect</a>.', array('@redirect' => $redirect['redirect_url'])));
     }
-    elseif (variable_get('path_redirect_redirect_warning', 0)) {
-      // Show a message and automatically redirect after 10 seconds.
-      drupal_set_message(t('This page has been moved to <a href="@redirect">@redirect</a>. You will be automatically redirected in 10 seconds.', array('@redirect' => $redirect['redirect_url'])), 'error');
-      drupal_set_html_head('<meta http-equiv="refresh" content="10;url=' . $redirect['redirect_url'] . '" />');
-    }
     else {
+      if (variable_get('path_redirect_redirect_warning', 0)) {
+        // Show a message
+        drupal_set_message(t('The page your requested, <strong><em>@source</em></strong>, has been been moved to <strong><a href="@redirect">@redirect</a></strong>. Please update any bookmarks or links to this page accordingly.', array('@redirect' => $redirect['redirect_url'], '@source' => $redirect['source_url'])), 'error');
+      }
       // Perform the redirect.
       unset($_REQUEST['destination']);
       drupal_goto($redirect['redirect_url'], NULL, NULL, $redirect['type']);
@@ -554,7 +553,7 @@ function path_redirect_get_path($path = 
       $path = '<front>';
     }
     else {
-      $path = $_GET['q'];
+      $path = $_REQUEST['q'];
     }
   }
   else {
