]> git.donarmstrong.com Git - roundcube.git/blob - program/steps/addressbook/delete.inc
d429dbad6a59089a4595826daee46115441a89b1
[roundcube.git] / program / steps / addressbook / delete.inc
1 <?php
2
3 /*
4  +-----------------------------------------------------------------------+
5  | program/steps/addressbook/delete.inc                                  |
6  |                                                                       |
7  | This file is part of the RoundCube Webmail client                     |
8  | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland                 |
9  | Licensed under the GNU GPL                                            |
10  |                                                                       |
11  | PURPOSE:                                                              |
12  |   Delete the submitted contacts (CIDs) from the users address book    |
13  |                                                                       |
14  +-----------------------------------------------------------------------+
15  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
16  +-----------------------------------------------------------------------+
17
18  $Id: delete.inc 1361 2008-05-07 22:16:00Z richs $
19
20 */
21
22 if (($cid = get_input_value('_cid', RCUBE_INPUT_POST)) &&
23     (preg_match('/^[0-9]+(,[0-9]+)*$/', $cid) ||
24      preg_match('/^[a-zA-Z0-9=]+(,[a-zA-Z0-9=]+)*$/', $cid))
25    )
26   {
27   $deleted = $CONTACTS->delete($cid);
28   if (!$deleted)
29     {
30     // send error message
31     exit;
32     }
33
34   // count contacts for this user
35   $result = $CONTACTS->count();
36
37   // update message count display
38   $OUTPUT->set_env('pagecount', ceil($result->count / $CONTACTS->page_size));
39   $OUTPUT->command('set_rowcount', rcmail_get_rowcount_text($result->count));
40
41   // add new rows from next page (if any)
42   $pages = ceil(($result->count + $deleted) / $CONTACTS->page_size);
43   if ($_GET['_from'] != 'show' && $pages > 1 && $CONTACTS->list_page < $pages)
44     rcmail_js_contacts_list($CONTACTS->list_records(null, -$deleted));
45
46   // send response
47   $OUTPUT->send();
48   }
49
50 exit;
51 ?>