|
@@ -90,20 +90,39 @@ function plugin_listcommands_menu_do() {
|
|
|
|
|
|
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;
|