--- Desktop/tellafriend.module	2008-06-12 18:41:16.000000000 -0400
+++ www/prch/sites/all/modules/tellafriend/tellafriend.module	2008-11-01 10:08:57.000000000 -0400
@@ -98,6 +98,12 @@ function tellafriend_settings() {
     '#maxlength' => 200,
     '#description' => t('This is where the script will redirect the user after the e-mail is successfully sent.'),
   );
+  $form['tellafriend_general']['tellafriend_override'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Override success path above?'),
+    '#default_value' => variable_get('tellafriend_override', TRUE),
+    '#description' => t('This will override the path enterted above with the page the user clicked on the link in the Tell a Friend block from'),
+  );
   $form['tellafriend_general']['tellafriend_server'] = array(
     '#type' => 'textfield',
     '#title' => t('Server name'),
@@ -173,7 +179,7 @@ function tellafriend_settings() {
     '#default_value' => variable_get('tellafriend_message', t('You are invited to check out !sitename at !sitelink')),
     '#cols' => 70,
     '#rows' => 5,
-    '#description' => t('This is the text of the sent message. Use plain text only. Available placeholders: <em>!sitename, !sitelink, !sitemail, !sendername, !sendermail</em>.'),
+    '#description' => t('This is the text of the sent message. Use plain text only. Available placeholders: <em>!sitename, !sitelink, !pagelink, !sitemail, !sendername, !sendermail</em>.<br /> <em>use !pagelink to return user to the page they were on when they clieck the Tell a Friend link</em>'),
   );
   $form['tellafriend_mail']['tellafriend_closing'] = array(
     '#type' => 'textfield',
@@ -212,9 +218,10 @@ function tellafriend_block($op = 'list',
   else if ($op == 'view') {
       switch ($delta) {
 	  case 0:
+	  $destination = drupal_get_destination();
 	  $block = array();
 	  if (user_access('access tellafriend form')) {
-	     $blockContent .= '<ul><li class="leaf">' . l(t(variable_get('tellafriend_block_linklabel', t("Tell a friend..."))), 'tellafriend') . '</li></ul>';
+	     $blockContent .= '<ul><li class="leaf">' . l(t(variable_get('tellafriend_block_linklabel', t("Tell a friend..."))), 'tellafriend',array(),$destination) . '</li></ul>';
 	     $block['content'] = $blockContent;
     	     $block['subject'] = variable_get('tellafriend_block_title', t("Spread the world..."));
 	  }
@@ -229,7 +236,13 @@ function tellafriend_block($op = 'list',
 function tellafriend_page() {
   global $user;
   global $base_url;
-  $placeholder_values = array('!sitename' => variable_get('site_name', 'Drupal'),'!sitelink' => $base_url,'!sitemail' => variable_get('site_mail', ini_get('sendmail_from')), '!sendername' => $form_values['tellafriend_name'], '!sendermail' => $form_values['tellafriend_email']);
+  if (variable_get('tellafriend_override',TRUE)) {
+    $override = drupal_lookup_path('alias',check_plain($_GET['destination']));
+  } else {
+    $override = variable_get('tellafriend_success', variable_get('site_frontpage', 'node'));
+  }
+  
+  $placeholder_values = array('!pagelink' =>$base_url .'/'. $override,'!sitename' => variable_get('site_name', 'Drupal'),'!sitelink' => $base_url,'!sitemail' => variable_get('site_mail', ini_get('sendmail_from')), '!sendername' => $form_values['tellafriend_name'], '!sendermail' => $form_values['tellafriend_email']);
 
   $form['#token'] = $user->name . $user->mail;
   $form['tellafriend_information'] = array('#value' => filter_xss_admin(variable_get('tellafriend_topmessage', t('Spread the word about !site by telling your friend(s) about it!', array('!site' => variable_get('site_name', 'Drupal'))))));
@@ -273,10 +286,15 @@ function tellafriend_page() {
   );
   $form['tellafriend_message'] = array('#value' => filter_xss_admin("<strong>".t('Message to be sent').":</strong><br />" . nl2br(t(variable_get('tellafriend_message', 'You are invited to check out !sitename at !sitelink'), $placeholder_values)) . '<br/>'));  
   
-  $form['submit'] = array('#type' => 'submit',
+  $form['submit'] = array(
+    '#type' => 'submit',
     '#value' => t('Tell now!'),
+    '#return' => $_GET['destination'],
+  );
+  $form['return'] = array(
+    '#type' => 'hidden',
+    '#value' => $override,
   );
-
   return $form;
 }
 
@@ -324,7 +342,7 @@ function tellafriend_page_validate($form
  */
 function tellafriend_page_submit($form_id, $form_values) {
   global $base_url;
-  $placeholder_values = array('!sitename' => variable_get('site_name', 'Drupal'),'!sitelink' => $base_url,'!sitemail' => variable_get('site_mail', ini_get('sendmail_from')), '!sendername' => $form_values['tellafriend_name'], '!sendermail' => $form_values['tellafriend_email']);
+  $placeholder_values = array('!sitename' => variable_get('site_name', 'Drupal'),'!sitelink' => $base_url,'!pagelink' => $base_url .'/'. $form_values['return'],'!sitemail' => variable_get('site_mail', ini_get('sendmail_from')), '!sendername' => $form_values['tellafriend_name'], '!sendermail' => $form_values['tellafriend_email']);
   $closing = variable_get('tellafriend_closing', 'Sincerely,');
   //$from = variable_get('tellafriend_fromaddress', $form_values['tellafriend_email']);
   $from = $form_values['tellafriend_name']. "<".$form_values['tellafriend_email']. ">";
@@ -349,7 +367,7 @@ function tellafriend_page_submit($form_i
   $addresses = implode(', ', $sendaddress);
   watchdog('mail', t('%sender sent an e-mail to %recepient using <em>Tell a friend</em> form.', array('%sender' => $form_values['tellafriend_name'], '%recepient' => $addresses)));
   drupal_set_message(t('Thank you! Your message has been sent to: !recepient', array('!recepient' => $addresses)));
-  drupal_goto(variable_get('tellafriend_success', variable_get('site_frontpage', 'node')));
+  drupal_goto($form_values['return']);
 }
 
 
