| | Author: Aleksander Machniak | +-----------------------------------------------------------------------+ */ class rcmail_action_contacts_search_delete extends rcmail_action { // only process ajax requests protected static $mode = self::MODE_AJAX; /** * Request handler. * * @param array $args Arguments from the previous step(s) */ public function run($args = []) { $rcmail = rcmail::get_instance(); $id = rcube_utils::get_input_string('_sid', rcube_utils::INPUT_POST); $result = false; if (!empty($id)) { $plugin = $rcmail->plugins->exec_hook('saved_search_delete', ['id' => $id]); if (empty($plugin['abort'])) { $result = $rcmail->user->delete_search($id); } else { $result = $plugin['result']; } } if ($result) { $rcmail->output->show_message('savedsearchdeleted', 'confirmation'); $rcmail->output->command('remove_search_item', rcube::Q($id)); // contact list will be cleared, clear also page counter $rcmail->output->command('set_rowcount', $rcmail->gettext('nocontactsfound')); $rcmail->output->set_env('pagecount', 0); } else { $error = !empty($plugin['message']) ? $plugin['message'] : 'savedsearchdeleteerror'; $rcmail->output->show_message($error, 'error'); } $rcmail->output->send(); } }