]> git.donarmstrong.com Git - roundcube.git/blob - program/steps/addressbook/mailto.inc
5996b9da7645e5d7c1ef55416ca59a9894d543d0
[roundcube.git] / program / steps / addressbook / mailto.inc
1 <?php
2
3 /*
4  +-----------------------------------------------------------------------+
5  | program/steps/addressbook/mailto.inc                                  |
6  |                                                                       |
7  | This file is part of the Roundcube Webmail client                     |
8  | Copyright (C) 2007, The Roundcube Dev Team                            |
9  | Licensed under the GNU GPL                                            |
10  |                                                                       |
11  | PURPOSE:                                                              |
12  |   Compose a recipient list with all selected contacts                 |
13  |                                                                       |
14  +-----------------------------------------------------------------------+
15  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
16  +-----------------------------------------------------------------------+
17
18  $Id: copy.inc 471 2007-02-09 21:25:50Z thomasb $
19
20 */
21
22 $cids   = rcmail_get_cids();
23 $mailto = array();
24
25 foreach ($cids as $source => $cid)
26 {
27     $CONTACTS = $RCMAIL->get_address_book($source);
28
29     if ($CONTACTS->ready)
30     {
31         $CONTACTS->set_page(1);
32         $CONTACTS->set_pagesize(count($cid) + 2); // +2 to skip counting query
33         $recipients = $CONTACTS->search($CONTACTS->primary_key, $cid, false, true, true, 'email');
34
35         while (is_object($recipients) && ($rec = $recipients->iterate())) {
36             $emails = $CONTACTS->get_col_values('email', $rec, true);
37             $mailto[] = format_email_recipient($emails[0], $rec['name']);
38         }
39     }
40 }
41
42 if (!empty($mailto))
43 {
44     $mailto_str = join(', ', $mailto);
45     $mailto_id = substr(md5($mailto_str), 0, 16);
46     $_SESSION['mailto'][$mailto_id] = urlencode($mailto_str);
47     $OUTPUT->redirect(array('task' => 'mail', '_action' => 'compose', '_mailto' => $mailto_id));
48 }
49 else {
50     $OUTPUT->show_message('nocontactsfound', 'warning');
51 }
52
53 // send response
54 $OUTPUT->send();