| | |
| | | +-----------------------------------------------------------------------+ |
| | | | program/steps/settings/delete_identity.inc | |
| | | | | |
| | | | This file is part of the RoundCube Webmail client | |
| | | | Copyright (C) 2005, RoundCube Dev. - Switzerland | |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2005-2009, The Roundcube Dev Team | |
| | | | Licensed under the GNU GPL | |
| | | | | |
| | | | PURPOSE: | |
| | |
| | | |
| | | */ |
| | | |
| | | $REMOTE_REQUEST = $_GET['_remote'] ? TRUE : FALSE; |
| | | $iid = get_input_value('_iid', RCUBE_INPUT_GPC); |
| | | |
| | | if ($_GET['_iid'] && preg_match('/^[0-9]+(,[0-9]+)*$/',$_GET['_iid'])) |
| | | { |
| | | $DB->query("UPDATE ".get_table_name('identities')." |
| | | SET del=1 |
| | | WHERE user_id=? |
| | | AND identity_id IN (".$_GET['_iid'].")", |
| | | $_SESSION['user_id']); |
| | | // check request token |
| | | if (!$OUTPUT->ajax_call && !$RCMAIL->check_request(RCUBE_INPUT_GPC)) { |
| | | $OUTPUT->show_message('invalidrequest', 'error'); |
| | | rcmail_overwrite_action('identities'); |
| | | return; |
| | | } |
| | | |
| | | $count = $DB->affected_rows(); |
| | | if ($count) |
| | | { |
| | | $commands = show_message('deletedsuccessfully', 'confirmation'); |
| | | } |
| | | if ($iid && preg_match('/^[0-9]+(,[0-9]+)*$/', $iid)) |
| | | { |
| | | $plugin = $RCMAIL->plugins->exec_hook('identity_delete', array('id' => $iid)); |
| | | |
| | | $deleted = !$plugin['abort'] ? $USER->delete_identity($iid) : $plugin['result']; |
| | | |
| | | if ($deleted > 0 && $deleted !== false) |
| | | $OUTPUT->show_message('deletedsuccessfully', 'confirmation', null, false); |
| | | else |
| | | $OUTPUT->show_message($plugin['message'] ? $plugin['message'] : ($deleted < 0 ? 'nodeletelastidentity' : 'errorsaving'), 'error', null, false); |
| | | |
| | | // send response |
| | | if ($REMOTE_REQUEST) |
| | | rcube_remote_response($commands); |
| | | } |
| | | if ($OUTPUT->ajax_call) |
| | | $OUTPUT->send(); |
| | | } |
| | | |
| | | |
| | | if ($REMOTE_REQUEST) |
| | | if ($OUTPUT->ajax_call) |
| | | exit; |
| | | |
| | | |
| | | // go to identities page |
| | | $_action = 'identities'; |
| | | |
| | | // overwrite action variable |
| | | $OUTPUT->add_script(sprintf("\n%s.set_env('action', '%s');", $JS_OBJECT_NAME, $_action)); |
| | | ?> |
| | | rcmail_overwrite_action('identities'); |