| | |
| | | } |
| | | else if ($compose_mode == RCUBE_COMPOSE_FORWARD || $compose_mode == RCUBE_COMPOSE_REPLY) { |
| | | if ($compose_mode == RCUBE_COMPOSE_REPLY) { |
| | | $COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID; |
| | | $COMPOSE['reply_uid'] = $msg_uid; |
| | | |
| | | if (!empty($COMPOSE['param']['all'])) { |
| | | $MESSAGE->reply_all = $COMPOSE['param']['all']; |
| | |
| | | } |
| | | } |
| | | |
| | | // resolve _forward_uid=* to an absolute list of messages from a search result |
| | | if ($COMPOSE['param']['forward_uid'] == '*' && is_object($_SESSION['search'][1])) { |
| | | $COMPOSE['param']['forward_uid'] = $_SESSION['search'][1]->get(); |
| | | } |
| | | |
| | | // clean HTML message body which can be submitted by URL |
| | | if (!empty($COMPOSE['param']['body'])) { |
| | | $COMPOSE['param']['body'] = rcmail_wash_html($COMPOSE['param']['body'], array('safe' => false, 'inline_html' => true), array()); |
| | |
| | | foreach ($plugin['attachments'] as $attach) { |
| | | // we have structured data |
| | | if (is_array($attach)) { |
| | | $attachment = $attach; |
| | | $attachment = $attach + array('group' => $COMPOSE_ID); |
| | | } |
| | | // only a file path is given |
| | | else { |
| | |
| | | $text = $html = $sql_arr['signature']; |
| | | |
| | | if ($sql_arr['html_signature']) { |
| | | $h2t = new rcube_html2text($sql_arr['signature'], false, false); |
| | | $h2t = new rcube_html2text($sql_arr['signature'], false, true); |
| | | $text = trim($h2t->get_text()); |
| | | } |
| | | else { |
| | |
| | | } |
| | | |
| | | if (!$sql_arr['html_signature']) { |
| | | $html = "<pre>" . $html . "</pre>"; |
| | | $t2h = new rcube_text2html($sql_arr['signature'], false); |
| | | $html = $t2h->get_html(); |
| | | } |
| | | |
| | | $a_signatures[$identity_id]['text'] = $text; |
| | |
| | | } |
| | | } |
| | | |
| | | if ($part->ctype_parameters['format'] == 'flowed') { |
| | | $body = rcube_mime::unfold_flowed($body); |
| | | } |
| | | |
| | | // add HTML formatting |
| | | $body = rcmail_plain_body($body); |
| | | if ($body) { |
| | | $body = '<pre>' . $body . '</pre>'; |
| | | } |
| | | $body = rcmail_plain_body($body, $part->ctype_parameters['format'] == 'flowed'); |
| | | } |
| | | } |
| | | else { |
| | |
| | | "googie.setLanguages(%s);\n". |
| | | "googie.setCurrentLanguage('%s');\n". |
| | | "googie.setDecoration(false);\n". |
| | | "googie.decorateTextarea('%s');\n". |
| | | "%s.set_env('spellcheck', googie);", |
| | | "googie.decorateTextarea('%s');\n", |
| | | $RCMAIL->output->get_skin_path(), |
| | | $RCMAIL->url(array('_task' => 'utils', '_action' => 'spell', '_remote' => 1)), |
| | | !empty($dictionary) ? 'true' : 'false', |
| | |
| | | rcube::JQ(rcube::Q($RCMAIL->gettext('addtodict'))), |
| | | rcube_output::json_serialize($spellcheck_langs), |
| | | $lang, |
| | | $attrib['id'], |
| | | rcmail_output::JS_OBJECT_NAME), 'foot'); |
| | | $attrib['id']), 'foot'); |
| | | |
| | | $OUTPUT->add_label('checking'); |
| | | $OUTPUT->set_env('spellcheck_langs', join(',', $editor_lang_set)); |
| | | } |
| | | |
| | | $out .= "\n".'<iframe name="savetarget" src="program/resources/blank.gif" style="width:0;height:0;border:none;visibility:hidden;"></iframe>'; |
| | | $out .= "\n".'<iframe name="savetarget" src="program/resources/blank.gif" style="width:0;height:0;border:none;visibility:hidden;" aria-hidden="true"></iframe>'; |
| | | |
| | | return $out; |
| | | } |
| | |
| | | $index = $storage->index(null, rcmail_sort_column(), rcmail_sort_order()); |
| | | $COMPOSE['forward_uid'] = $index->get(); |
| | | } |
| | | else if (strpos($COMPOSE['forward_uid'], ':')) { |
| | | else if (!is_array($COMPOSE['forward_uid']) && strpos($COMPOSE['forward_uid'], ':')) { |
| | | $COMPOSE['forward_uid'] = rcube_imap_generic::uncompressMessageSet($COMPOSE['forward_uid']); |
| | | } |
| | | else { |
| | | else if (is_string($COMPOSE['forward_uid'])) { |
| | | $COMPOSE['forward_uid'] = explode(',', $COMPOSE['forward_uid']); |
| | | } |
| | | |
| | |
| | | $subject = $MESSAGE->subject; |
| | | else |
| | | $subject = 'Re: '.$MESSAGE->subject; |
| | | |
| | | // replace (was: ...) (#1489375) |
| | | $subject = preg_replace('/\s*\([wW]as:[^\)]+\)\s*$/', '', $subject); |
| | | } |
| | | // create a forward-subject |
| | | else if ($compose_mode == RCUBE_COMPOSE_FORWARD) { |
| | |
| | | if (empty($attrib['name'])) |
| | | $attrib['name'] = 'editorSelect'; |
| | | |
| | | $attrib['onchange'] = "return rcmail_toggle_editor(this, '".$attrib['editorid']."', '_is_html')"; |
| | | $attrib['onchange'] = "return rcmail.command('toggle-editor', {id: '".$attrib['editorid']."', html: this.value == 'html'}, '', event)"; |
| | | |
| | | $select = new html_select($attrib); |
| | | |
| | |
| | | foreach ($RCMAIL->get_compose_responses(true) as $response) { |
| | | $key = $response['key']; |
| | | $item = html::a(array( |
| | | 'href '=> '#'.urlencode($response['name']), |
| | | 'href' => '#'.urlencode($response['name']), |
| | | 'class' => rtrim('insertresponse ' . $attrib['itemclass']), |
| | | 'unselectable' => 'on', |
| | | 'tabindex' => '0', |
| | | 'rel' => $key, |
| | | ), rcube::Q($response['name'])); |
| | | |