| +-----------------------------------------------------------------------+ */ class rcmail_action_settings_response_delete extends rcmail_action { static $mode = self::MODE_AJAX; /** * Request handler. * * @param array $args Arguments from the previous step(s) */ public function run($args = []) { $rcmail = rcmail::get_instance(); if ($key = rcube_utils::get_input_value('_key', rcube_utils::INPUT_POST)) { $responses = $rcmail->get_compose_responses(false, true); foreach ($responses as $i => $response) { if (empty($response['key'])) { $response['key'] = substr(md5($response['name']), 0, 16); } if ($response['key'] == $key) { unset($responses[$i]); $deleted = $rcmail->user->save_prefs(['compose_responses' => $responses]); break; } } } if (!empty($deleted)) { $rcmail->output->command('display_message', $rcmail->gettext('deletedsuccessfully'), 'confirmation'); $rcmail->output->command('remove_response', $key); } $rcmail->output->send(); } }