| | |
| | | |
| | | rcmail_process_compose_params($COMPOSE); |
| | | |
| | | // add attachments listed by message_compose hook |
| | | if (is_array($plugin['attachments'])) { |
| | | foreach ($plugin['attachments'] as $attach) { |
| | | // we have structured data |
| | | if (is_array($attach)) { |
| | | $attachment = $attach; |
| | | } |
| | | // only a file path is given |
| | | else { |
| | | $filename = basename($attach); |
| | | $attachment = array( |
| | | 'group' => $COMPOSE_ID, |
| | | 'name' => $filename, |
| | | 'mimetype' => rcube_mime::file_content_type($attach, $filename), |
| | | 'path' => $attach, |
| | | ); |
| | | } |
| | | |
| | | // save attachment if valid |
| | | if (($attachment['data'] && $attachment['name']) || ($attachment['path'] && file_exists($attachment['path']))) { |
| | | $attachment = rcmail::get_instance()->plugins->exec_hook('attachment_save', $attachment); |
| | | } |
| | | |
| | | if ($attachment['status'] && !$attachment['abort']) { |
| | | unset($attachment['data'], $attachment['status'], $attachment['abort']); |
| | | $COMPOSE['attachments'][$attachment['id']] = $attachment; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // check if folder for saving sent messages exists and is subscribed (#1486802) |
| | | if ($sent_folder = $COMPOSE['param']['sent_mbox']) { |
| | | rcmail_check_sent_folder($sent_folder, true); |
| | |
| | | // pipe compose parameters thru plugins |
| | | $plugin = $RCMAIL->plugins->exec_hook('message_compose', $COMPOSE); |
| | | $COMPOSE['param'] = array_merge($COMPOSE['param'], $plugin['param']); |
| | | |
| | | // add attachments listed by message_compose hook |
| | | if (is_array($plugin['attachments'])) { |
| | | foreach ($plugin['attachments'] as $attach) { |
| | | // we have structured data |
| | | if (is_array($attach)) { |
| | | $attachment = $attach; |
| | | } |
| | | // only a file path is given |
| | | else { |
| | | $filename = basename($attach); |
| | | $attachment = array( |
| | | 'group' => $COMPOSE_ID, |
| | | 'name' => $filename, |
| | | 'mimetype' => rcube_mime::file_content_type($attach, $filename), |
| | | 'path' => $attach, |
| | | ); |
| | | } |
| | | |
| | | // save attachment if valid |
| | | if (($attachment['data'] && $attachment['name']) || ($attachment['path'] && file_exists($attachment['path']))) { |
| | | $attachment = rcmail::get_instance()->plugins->exec_hook('attachment_save', $attachment); |
| | | } |
| | | |
| | | if ($attachment['status'] && !$attachment['abort']) { |
| | | unset($attachment['data'], $attachment['status'], $attachment['abort']); |
| | | $COMPOSE['attachments'][$attachment['id']] = $attachment; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | function rcmail_compose_headers($attrib) |