--- 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: !sitename, !sitelink, !sitemail, !sendername, !sendermail.'), + '#description' => t('This is the text of the sent message. Use plain text only. Available placeholders: !sitename, !sitelink, !pagelink, !sitemail, !sendername, !sendermail.
use !pagelink to return user to the page they were on when they clieck the Tell a Friend link'), ); $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 .= ''; + $blockContent .= ''; $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("".t('Message to be sent').":
" . nl2br(t(variable_get('tellafriend_message', 'You are invited to check out !sitename at !sitelink'), $placeholder_values)) . '
')); - $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 Tell a friend 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']); }