From f94e442469deca30b39f3fa08aade83cbd0ede70 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Fri, 16 Dec 2011 13:38:59 -0500 Subject: [PATCH] Add more classes and options to HTML elements for better styleability --- program/steps/mail/compose.inc | 60 ++++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 36 insertions(+), 24 deletions(-) diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 4d54db4..76ff31d 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -56,7 +56,7 @@ $_SESSION['compose_data_'.$COMPOSE_ID] = array( 'id' => $COMPOSE_ID, 'param' => request2param(RCUBE_INPUT_GET), - 'mailbox' => $IMAP->get_mailbox_name(), + 'mailbox' => $RCMAIL->imap->get_mailbox_name(), ); $COMPOSE =& $_SESSION['compose_data_'.$COMPOSE_ID]; @@ -124,7 +124,7 @@ $OUTPUT->add_label('nosubject', 'nosenderwarning', 'norecipientwarning', 'nosubjectwarning', 'cancel', 'nobodywarning', 'notsentwarning', 'notuploadedwarning', 'savingmessage', 'sendingmessage', 'messagesaved', 'converting', 'editorwarning', 'searching', 'uploading', 'uploadingmany', - 'fileuploaderror'); + 'fileuploaderror', 'sendmessage'); $OUTPUT->set_env('compose_id', $COMPOSE['id']); @@ -134,10 +134,19 @@ $OUTPUT->set_env('draft_autosave', $CONFIG['draft_autosave']); } // set current mailbox in client environment -$OUTPUT->set_env('mailbox', $IMAP->get_mailbox_name()); +$OUTPUT->set_env('mailbox', $RCMAIL->imap->get_mailbox_name()); $OUTPUT->set_env('sig_above', $RCMAIL->config->get('sig_above', false)); $OUTPUT->set_env('top_posting', $RCMAIL->config->get('top_posting', false)); $OUTPUT->set_env('recipients_separator', trim($RCMAIL->config->get('recipients_separator', ','))); + +// use jquery UI for showing prompt() dialogs +$RCMAIL->plugins->load_plugin('jqueryui'); + +// default font for HTML editor +$font = rcube_fontdefs($RCMAIL->config->get('default_font', 'Verdana')); +if ($font && !is_array($font)) { + $OUTPUT->set_env('default_font', $font); +} // get reference message and set compose mode if ($msg_uid = $COMPOSE['param']['draft_uid']) { @@ -173,10 +182,10 @@ // make sure message is marked as read if ($MESSAGE && $MESSAGE->headers && empty($MESSAGE->headers->flags['SEEN'])) - $IMAP->set_flag($msg_uid, 'SEEN'); + $RCMAIL->imap->set_flag($msg_uid, 'SEEN'); if (!empty($MESSAGE->headers->charset)) - $IMAP->set_charset($MESSAGE->headers->charset); + $RCMAIL->imap->set_charset($MESSAGE->headers->charset); if ($compose_mode == RCUBE_COMPOSE_REPLY) { @@ -236,7 +245,7 @@ $MESSAGE->compose = array(); // get user's identities -$MESSAGE->identities = $USER->list_identities(); +$MESSAGE->identities = $RCMAIL->user->list_identities(); if (count($MESSAGE->identities)) { foreach ($MESSAGE->identities as $idx => $ident) { @@ -262,7 +271,7 @@ // extract all recipients of the reply-message if (is_object($MESSAGE->headers) && in_array($compose_mode, array(RCUBE_COMPOSE_REPLY, RCUBE_COMPOSE_FORWARD))) { - $a_to = $IMAP->decode_address_list($MESSAGE->headers->to); + $a_to = $RCMAIL->imap->decode_address_list($MESSAGE->headers->to); foreach ($a_to as $addr) { if (!empty($addr['mailto'])) { $a_recipients[] = strtolower($addr['mailto']); @@ -271,7 +280,7 @@ } if (!empty($MESSAGE->headers->cc)) { - $a_cc = $IMAP->decode_address_list($MESSAGE->headers->cc); + $a_cc = $RCMAIL->imap->decode_address_list($MESSAGE->headers->cc); foreach ($a_cc as $addr) { if (!empty($addr['mailto'])) { $a_recipients[] = strtolower($addr['mailto']); @@ -350,6 +359,10 @@ ) { $fvalue = urldecode($_SESSION['mailto'][$mailto_id]); $decode_header = false; + + // make session to not grow up too much + unset($_SESSION['mailto'][$mailto_id]); + $COMPOSE['param']['to'] = $fvalue; } else if (!empty($_POST['_'.$header])) { $fvalue = get_input_value('_'.$header, RCUBE_INPUT_POST, TRUE); @@ -410,7 +423,7 @@ // split recipients and put them back together in a unique way if (!empty($fvalue) && in_array($header, array('to', 'cc', 'bcc'))) { - $to_addresses = $IMAP->decode_address_list($fvalue, null, $decode_header); + $to_addresses = $RCMAIL->imap->decode_address_list($fvalue, null, $decode_header); $fvalue = array(); foreach ($to_addresses as $addr_part) { @@ -1220,16 +1233,16 @@ else $button = Q(rcube_label('delete')); - foreach ($COMPOSE['attachments'] as $id => $a_prop) - { + foreach ($COMPOSE['attachments'] as $id => $a_prop) { if (empty($a_prop)) continue; - $out .= html::tag('li', array('id' => 'rcmfile'.$id), + $out .= html::tag('li', array('id' => 'rcmfile'.$id, 'class' => rcmail_filetype2classname($a_prop['mimetype'], $a_prop['name'])), html::a(array( 'href' => "#delete", 'title' => rcube_label('delete'), - 'onclick' => sprintf("return %s.command('remove-attachment','rcmfile%s', this)", JS_OBJECT_NAME, $id)), + 'onclick' => sprintf("return %s.command('remove-attachment','rcmfile%s', this)", JS_OBJECT_NAME, $id), + 'class' => 'delete'), $button) . Q($a_prop['name'])); $jslist['rcmfile'.$id] = array('name' => $a_prop['name'], 'complete' => true, 'mimetype' => $a_prop['mimetype']); @@ -1254,9 +1267,8 @@ { global $RCMAIL, $OUTPUT; - // add ID if not given - if (!$attrib['id']) - $attrib['id'] = 'rcmUploadbox'; + // set defaults + $attrib += array('id' => 'rcmUploadbox', 'buttons' => 'yes'); // Get filesize, enable upload progress bar $max_filesize = rcube_upload_init(); @@ -1267,14 +1279,14 @@ $OUTPUT->form_tag(array('name' => 'uploadform', 'method' => 'post', 'enctype' => 'multipart/form-data'), html::div(null, rcmail_compose_attachment_field(array('size' => $attrib['attachmentfieldsize']))) . html::div('hint', rcube_label(array('name' => 'maxuploadsize', 'vars' => array('size' => $max_filesize)))) . - html::div('buttons', + (get_boolean($attrib['buttons']) ? html::div('buttons', $button->show(rcube_label('close'), array('class' => 'button', 'onclick' => "$('#$attrib[id]').hide()")) . ' ' . $button->show(rcube_label('upload'), array('class' => 'button mainaction', 'onclick' => JS_OBJECT_NAME . ".command('send-attachment', this.form)")) - ) + ) : '') ) ); - $OUTPUT->add_gui_object('uploadbox', $attrib['id']); + $OUTPUT->add_gui_object('uploadform', $attrib['id']); return $out; } @@ -1419,18 +1431,18 @@ function rcmail_check_sent_folder($folder, $create=false) { - global $IMAP; + global $RCMAIL; - if ($IMAP->mailbox_exists($folder, true)) { + if ($RCMAIL->imap->mailbox_exists($folder, true)) { return true; } // folder may exist but isn't subscribed (#1485241) if ($create) { - if (!$IMAP->mailbox_exists($folder)) - return $IMAP->create_mailbox($folder, true); + if (!$RCMAIL->imap->mailbox_exists($folder)) + return $RCMAIL->imap->create_mailbox($folder, true); else - return $IMAP->subscribe($folder); + return $RCMAIL->imap->subscribe($folder); } return false; -- Gitblit v1.9.1