--- C:\Dokumente und Einstellungen\Petra\Desktop\simplenews-5.x-1.1\simplenews\simplenews.module Fri Jun 15 23:04:44 2007 +++ F:\Apache Group\Apache2\htdocs\nw-1und1-server\nw-verwaltung\drupal-sites\drupal-main\sites\tools-de\modules\simplenews\simplenews.module Fri Jun 15 23:06:36 2007 @@ -233,13 +233,25 @@ '#maxlength' => 128, '#required' => TRUE, ); + + //Personalizing newsletter + //different description depending on token.module + $description = t('This will be the body of your newsletter. Available variables are:') . ' %site ' . t('(the name of your website),') . ' %uri ' . t('(a link to your homepage),') . ' %uri_brief ' . t('(homepage link without the http://),') . ' %mymail ' . t('(your e-mail address),') . ' %date ' . t('(today\'s date),') . ' %login_uri ' . t('(link to login page).'); + + //implement token user + //TODO: [reg-since] and [log-since] don't return days, they return years and weeks + if (module_exists('token')) { + $description .= ' Also [user] ' . t('(User\'s name),') . ' [uid] ' . t('(User\'s ID),') . ' [mail] ' . t('(User\'s email address),') . ' [reg-date] ' . t('(User\'s registration date),') . ' [reg-since] ' . t('(Days since the user registered),') . ' [log-date] ' . t('(User\'s last login date),') . ' [log-since] ' . t('(Days since the user\'s last login),') . ' [date-in-tz] ' . t('(The current date in the user\'s timezone),') . ' [account-url] ' . t('(The URL of the user\'s profile page.),') . ' [account-edit] ' . t('(The URL the user\'s account editing page.).'); + } + //end of Personalizing newsletter + $form['body'] = array( '#type' => 'textarea', '#title' => t('Message'), '#default_value' => $node->body, '#rows' => 20, '#required' => TRUE, - '#description' => t('This will be the body of your newsletter. Available variables are:') . ' %site ' . t('(the name of your website),') . ' %uri ' . t('(a link to your homepage),') . ' %uri_brief ' . t('(homepage link without the http://),') . ' %mymail ' . t('(your e-mail address),') . ' %date ' . t('(today\'s date),') . ' %login_uri ' . t('(link to login page).'), + '#description' => $description, //for Personalizing newsletter ); $form['format'] = filter_form($node->format); @@ -464,6 +476,14 @@ */ function simplenews_view(&$node, $teaser = FALSE) { $node = simplenews_replace_vars($node, TRUE); + + //Personalizing newsletter + //only replaced token when not send at all subscribers, otherwise all newsletters have the same values. + //TODO: better solution for _POST['send'] + if ((module_exists('token')) AND ($_POST['send'] != 1)) { + $node->body = token_replace($node->body, 'user', $user); + } + //end of Personalizing newsletter*/ $node = node_prepare($node, $teaser); return $node; } @@ -1134,6 +1154,14 @@ * An object with at least $mail->to, $mail->subject, and $mail->message. */ function simplenews_mail_send($mail) { + + //Personalizing newsletter + if (module_exists('token')) { + $account = user_load(array('mail' => $mail->to)); + $mail->body = token_replace($mail->body, 'user', $account); + } + //end of Personalizing newsletter + $from_email = isset($mail->from_address) ? $mail->from_address : variable_get('site_mail', ini_get('sendmail_from')); $from = isset($mail->from_name) ? '"'. addslashes($mail->from_name).'" <'. $from_email .'>' : $from_email;