| | |
| | | +-----------------------------------------------------------------------+ |
| | | | Author: Thomas Bruederli <roundcube@gmail.com> | |
| | | +-----------------------------------------------------------------------+ |
| | | |
| | | $Id$ |
| | | |
| | | */ |
| | | |
| | | // define constants for message compose mode |
| | |
| | | define('RCUBE_COMPOSE_EDIT', 0x0109); |
| | | |
| | | $MESSAGE_FORM = null; |
| | | $MESSAGE = null; |
| | | $COMPOSE_ID = get_input_value('_id', RCUBE_INPUT_GET); |
| | | $COMPOSE = null; |
| | | |
| | |
| | | } |
| | | |
| | | // redirect to a unique URL with all parameters stored in session |
| | | $OUTPUT->redirect(array('_action' => 'compose', '_id' => $COMPOSE['id'])); |
| | | $OUTPUT->redirect(array( |
| | | '_action' => 'compose', |
| | | '_id' => $COMPOSE['id'], |
| | | '_search' => $_REQUEST['_search'], |
| | | )); |
| | | } |
| | | |
| | | |
| | |
| | | $MESSAGE = new rcube_message($msg_uid); |
| | | |
| | | // make sure message is marked as read |
| | | if ($MESSAGE && $MESSAGE->headers && empty($MESSAGE->headers->flags['SEEN'])) |
| | | if ($MESSAGE->headers && empty($MESSAGE->headers->flags['SEEN'])) |
| | | $RCMAIL->storage->set_flag($msg_uid, 'SEEN'); |
| | | |
| | | if (!empty($MESSAGE->headers->charset)) |
| | |
| | | if (!empty($COMPOSE['param']['attachment'])) |
| | | $MESSAGE->forward_attachment = true; |
| | | } |
| | | } |
| | | else { |
| | | $MESSAGE = new stdClass(); |
| | | } |
| | | |
| | | $MESSAGE->compose = array(); |
| | |
| | | |
| | | // If desired, set this textarea to be editable by TinyMCE |
| | | if ($isHtml) { |
| | | $MESSAGE_BODY = htmlentities($MESSAGE_BODY, ENT_NOQUOTES, RCMAIL_CHARSET); |
| | | $attrib['class'] = 'mce_editor'; |
| | | $attrib['is_escaped'] = true; |
| | | $textarea = new html_textarea($attrib); |
| | | $out .= $textarea->show($MESSAGE_BODY); |
| | | } |
| | |
| | | if (!$spellcheck_langs[$lang]) |
| | | $lang = 'en'; |
| | | |
| | | $OUTPUT->set_env('spell_langs', $spellcheck_langs); |
| | | $OUTPUT->set_env('spell_lang', $lang); |
| | | |
| | | $editor_lang_set = array(); |
| | | foreach ($spellcheck_langs as $key => $name) { |
| | | $editor_lang_set[] = ($key == $lang ? '+' : '') . JQ($name).'='.JQ($key); |
| | |
| | | "googie.lang_learn_word = \"%s\";\n". |
| | | "googie.setLanguages(%s);\n". |
| | | "googie.setCurrentLanguage('%s');\n". |
| | | "googie.setSpellContainer('spellcheck-control');\n". |
| | | "googie.setDecoration(false);\n". |
| | | "googie.decorateTextarea('%s');\n". |
| | | "%s.set_env('spellcheck', googie);", |
| | | $RCMAIL->output->get_skin_path(), |
| | |
| | | $data = $message->get_part_content($pid); |
| | | } |
| | | |
| | | $mimetype = $part->ctype_primary . '/' . $part->ctype_secondary; |
| | | $filename = $part->filename; |
| | | if (!strlen($filename)) { |
| | | if ($mimetype == 'text/html') { |
| | | $filename = rcube_label('htmlmessage'); |
| | | } |
| | | else { |
| | | $filename = 'Part_'.$pid; |
| | | } |
| | | $filename .= '.' . $part->ctype_secondary; |
| | | } |
| | | |
| | | $attachment = array( |
| | | 'group' => $COMPOSE['id'], |
| | | 'name' => $part->filename ? $part->filename : 'Part_'.$pid.'.'.$part->ctype_secondary, |
| | | 'mimetype' => $part->ctype_primary . '/' . $part->ctype_secondary, |
| | | 'name' => $filename, |
| | | 'mimetype' => $mimetype, |
| | | 'content_id' => $part->content_id, |
| | | 'data' => $data, |
| | | 'path' => $path, |
| | |
| | | $attrib['value'] = '1'; |
| | | $checkbox = new html_checkbox($attrib); |
| | | |
| | | if ($MESSAGE && in_array($compose_mode, array(RCUBE_COMPOSE_DRAFT, RCUBE_COMPOSE_EDIT))) |
| | | if (in_array($compose_mode, array(RCUBE_COMPOSE_DRAFT, RCUBE_COMPOSE_EDIT))) |
| | | $mdn_default = (bool) $MESSAGE->headers->mdn_to; |
| | | else |
| | | $mdn_default = $RCMAIL->config->get('mdn_default'); |