alecpl
2012-01-01 7152f59f04fc2ecfc0bcfb9a50758c3757c119f8
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];
@@ -134,13 +134,16 @@
  $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']) {
@@ -176,10 +179,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)
  {
@@ -239,7 +242,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) {
@@ -265,7 +268,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']);
@@ -274,7 +277,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']);
@@ -417,7 +420,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) {
@@ -1227,18 +1230,18 @@
    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']);
    }
  }
@@ -1252,18 +1255,17 @@
  $OUTPUT->set_env('attachments', $jslist);
  $OUTPUT->add_gui_object('attachmentlist', $attrib['id']);
  return html::tag('ul', $attrib, $out, html::$common_attrib);
}
function rcmail_compose_attachment_form($attrib)
{
  global $RCMAIL, $OUTPUT;
  global $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();
@@ -1271,17 +1273,17 @@
  $button = new html_inputfield(array('type' => 'button'));
  $out = html::div($attrib,
    $OUTPUT->form_tag(array('name' => 'uploadform', 'method' => 'post', 'enctype' => 'multipart/form-data'),
    $OUTPUT->form_tag(array('id' => $attrib['id'].'Frm', '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'].'Frm');
  return $out;
}
@@ -1300,7 +1302,7 @@
function rcmail_priority_selector($attrib)
{
  global $MESSAGE;
  list($form_start, $form_end) = get_form_tags($attrib);
  unset($attrib['form']);
@@ -1337,7 +1339,7 @@
  unset($attrib['form']);
  if (!isset($attrib['id']))
    $attrib['id'] = 'receipt';
    $attrib['id'] = 'receipt';
  $attrib['name'] = '_receipt';
  $attrib['value'] = '1';
@@ -1380,8 +1382,6 @@
function rcmail_editor_selector($attrib)
{
  global $CONFIG, $MESSAGE, $compose_mode;
  // determine whether HTML or plain text should be checked
  $useHtml = rcmail_compose_editor_mode();
@@ -1426,18 +1426,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;