--- 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 .= '
- ' . l(t(variable_get('tellafriend_block_linklabel', t("Tell a friend..."))), 'tellafriend') . '
';
+ $blockContent .= '- ' . l(t(variable_get('tellafriend_block_linklabel', t("Tell a friend..."))), 'tellafriend',array(),$destination) . '
';
$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']);
}