You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
roundcubemail/program/steps/addressbook/delete.inc

52 lines
1.8 KiB
PHP

<?php
/*
+-----------------------------------------------------------------------+
| program/steps/addressbook/delete.inc |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2005-2007, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
| Delete the submitted contacts (CIDs) from the users address book |
| |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
$Id$
*/
if (($cid = get_input_value('_cid', RCUBE_INPUT_POST)) &&
(preg_match('/^[0-9]+(,[0-9]+)*$/', $cid) ||
preg_match('/^[a-zA-Z0-9=]+(,[a-zA-Z0-9=]+)*$/', $cid))
)
{
$deleted = $CONTACTS->delete($cid);
if (!$deleted)
{
// send error message
exit;
}
// count contacts for this user
$result = $CONTACTS->count();
// update message count display
$OUTPUT->set_env('pagecount', ceil($result->count / $CONTACTS->page_size));
$OUTPUT->command('set_rowcount', rcmail_get_rowcount_text($result->count));
// add new rows from next page (if any)
$pages = ceil(($result->count + $deleted) / $CONTACTS->page_size);
if ($_GET['_from'] != 'show' && $pages > 1 && $CONTACTS->list_page < $pages)
rcmail_js_contacts_list($CONTACTS->list_records(null, -$deleted));
// send response
$OUTPUT->send();
}
exit;
?>