alecpl
2008-12-05 133bb07f78b9486f0a524390253f08a0b446c584
program/steps/mail/compose.inc
@@ -24,34 +24,6 @@
define('RCUBE_COMPOSE_FORWARD', 0x0107);
define('RCUBE_COMPOSE_DRAFT', 0x0108);
// remove an attachment
if ($RCMAIL->action=='remove-attachment' && preg_match('/^rcmfile([0-9]+)$/', $_POST['_file'], $regs))
{
  $id = $regs[1];
  if (is_array($_SESSION['compose']['attachments'][$id]))
  {
    @unlink($_SESSION['compose']['attachments'][$id]['path']);
    unset($_SESSION['compose']['attachments'][$id]);
    $OUTPUT->command('remove_from_attachment_list', "rcmfile$id");
    $OUTPUT->send();
  }
  exit;
}
if ($RCMAIL->action=='display-attachment' && preg_match('/^rcmfile([0-9]+)$/', $_GET['_file'], $regs))
{
  $id = $regs[1];
  if (is_array($_SESSION['compose']['attachments'][$id]))
  {
    $apath = $_SESSION['compose']['attachments'][$id]['path'];
    header('Content-Type: ' . $_SESSION['compose']['attachments'][$id]['mimetype']);
    header('Content-Length: ' . filesize($apath));
    readfile($apath);
  }
  exit;
}
$MESSAGE_FORM = NULL;
$MESSAGE = NULL;
@@ -83,7 +55,7 @@
// add some labels to client
$OUTPUT->add_label('nosubject', 'nosenderwarning', 'norecipientwarning', 'nosubjectwarning',
    'nobodywarning', 'notsentwarning', 'savingmessage', 'sendingmessage', 'messagesaved',
    'converting', 'editorwarning');
    'converting', 'editorwarning', 'searching');
// add config parameters to client script
if (!empty($CONFIG['drafts_mbox'])) {
@@ -323,8 +295,7 @@
        if ($a_signatures[$identity_id]['is_html'])
        {
            $h2t = new html2text($a_signatures[$identity_id]['text'], false, false);
            $plainTextPart = $h2t->get_text();
            $a_signatures[$identity_id]['plain_text'] = trim(html_entity_decode($plainTextPart, ENT_NOQUOTES, 'UTF-8'));
            $a_signatures[$identity_id]['plain_text'] = trim($h2t->get_text());
        }
      }
@@ -426,8 +397,6 @@
    $body = $_SESSION['compose']['param']['_body'];
  }
  rcube_html_editor();
  $out = $form_start ? "$form_start\n" : '';
  $saveid = new html_hiddenfield(array('name' => '_draft_saveid', 'value' => $compose_mode==RCUBE_COMPOSE_DRAFT ? str_replace(array('<','>'), "", $MESSAGE->headers->messageID) : ''));
@@ -445,8 +414,14 @@
  $out .= $textarea->show($body);
  $out .= $form_end ? "\n$form_end" : '';
  // include HTML editor
  rcube_html_editor();
  // include GoogieSpell
  if (!empty($CONFIG['enable_spellcheck'])) {
    $lang = strtolower(substr($_SESSION['language'], 0, 2));
    $spellcheck_langs = (array)$RCMAIL->config->get('spellcheck_languages', array('da'=>'Dansk', 'de'=>'Deutsch', 'en' => 'English', 'es'=>'Español', 'fr'=>'Français', 'it'=>'Italiano', 'nl'=>'Nederlands', 'pl'=>'Polski', 'pt'=>'Português', 'fi'=>'Suomi', 'sv'=>'Svenska'));
    if (!$spellcheck_langs[$lang])
      $lang = 'en';
@@ -454,7 +429,7 @@
    $editor_lang_set = array();
    foreach ($spellcheck_langs as $key => $name) {
      $editor_lang_set[] = ($key == $lang ? '+' : '') . JQ($name).'='.JQ($key);
    }
      }
    
    $OUTPUT->include_script('googiespell.js');
    $OUTPUT->add_script(sprintf(
@@ -909,54 +884,6 @@
  'receiptcheckbox' => 'rcmail_receipt_checkbox',
  'storetarget' => 'rcmail_store_target_selection',
));
/****** get contacts for this user and add them to client scripts ********/
$CONTACTS = new rcube_contacts($DB, $USER->ID);
$CONTACTS->set_pagesize(1000);
$a_contacts = array();
if ($result = $CONTACTS->list_records())
  {
  while ($sql_arr = $result->iterate())
    if ($sql_arr['email'])
      $a_contacts[] = format_email_recipient($sql_arr['email'], $sql_arr['name']);
  }
if (!empty($CONFIG['ldap_public']) && is_array($CONFIG['ldap_public']))
  {
  /* LDAP autocompletion */
  foreach ($CONFIG['ldap_public'] as $ldapserv_config)
    {
    if ($ldapserv_config['fuzzy_search'] != 1 ||
        $ldapserv_config['global_search'] != 1)
      {
      continue;
      }
    $LDAP = new rcube_ldap($ldapserv_config);
    $LDAP->connect();
    $LDAP->set_pagesize(1000);
    $results = $LDAP->search($ldapserv_config['mail_field'], "");
    for ($i = 0; $i < $results->count; $i++)
      {
      if ($results->records[$i]['email'] != '')
        {
        $email = $results->records[$i]['email'];
        $name = $results->records[$i]['name'];
        $a_contacts[] = format_email_recipient($email, $name);
        }
      }
    $LDAP->close();
    }
  }
if ($a_contacts)
  {
    $OUTPUT->set_env('contacts', $a_contacts);
  }
$OUTPUT->send('compose');