if ($proto == 'mailto') {
+ $identity = '';
+
if (($cmd == 'post') || ($cmd == 'owner')) {
$url = 'src/compose.php?'.
(isset($startMessage)?'startMessage='.$startMessage.'&':'');
} else {
$url = "plugins/listcommands/mailout.php?action=$cmd&";
+
+ // try to find which identity the mail should come from
+ include_once(SM_PATH . 'functions/identity.php');
+ $idents = get_identities();
+ // ripped from src/compose.php
+ $identities = array();
+ if (count($idents) > 1) {
+ foreach($idents as $nr=>$data) {
+ $enc_from_name = '"'.$data['full_name'].'" <'. $data['email_address'].'>';
+ $identities[] = $enc_from_name;
+ }
+
+ $identity_match = $message->rfc822_header->findAddress($identities);
+ if ($identity_match !== FALSE) {
+ $identity = $identity_match;
+ }
+ }
}
// if things like subject are given, peel them off and give
// them to src/compose.php as is (not encoded)
if (strpos($act, '?') > 0) {
list($act, $parameters) = explode('?', $act, 2);
- $parameters = '&' . $parameters;
+ $parameters = '&identity=' . $identity . '&' . $parameters;
} else {
- $parameters = '';
+ $parameters = '&identity=' . $identity;
}
$url .= 'send_to=' . urlencode($act) . $parameters;
sqgetGlobalVar('subject', $subject, SQ_GET);
sqgetGlobalVar('body', $body, SQ_GET);
sqgetGlobalVar('action', $action, SQ_GET);
+sqgetGlobalVar('identity', $identity, SQ_GET);
displayPageHeader($color, $mailbox);
$oTemplate->assign('body', $body);
$oTemplate->assign('mailbox', $mailbox);
$oTemplate->assign('idents', $idents);
+$oTemplate->assign('identity', $identity);
$oTemplate->display('plugins/listcommands/mailout.tpl');
$oTemplate->display('footer.tpl');
echo '<select name="identity" id="identity">';
foreach($idents as $nr=>$data) {
- echo '<option value="' . $nr . '">' .
- sm_encode_html_special_chars(
+ echo '<option '
+ . ($identity == $nr ? ' selected="selected" ' : '')
+ . 'value="' . $nr . '">'
+ . sm_encode_html_special_chars(
$data['full_name'].' <'.
$data['email_address'] . '>') .
"</option>\n";