| | |
| | | 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; |
| | | |
| | |
| | | // 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'])) { |
| | |
| | | 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()); |
| | | } |
| | | } |
| | | |
| | |
| | | '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'); |
| | | |