post('id') : $ctx->query('id');
$rule = $ctx->rules->find($ctx->daUser->username(), $id);
if ($rule === null) {
$ctx->render('Edit autoresponder', '
' . AppContext::e($ctx->t('Rule not found')) . '
');
return;
}
$errors = [];
if (Http::isPost()) {
try {
$ctx->requireCsrf('update:' . $id);
$input = normalize_rule_post($_POST);
$patch = attach_rule_scope($ctx, RuleValidator::validate($input, $ctx->settings));
enforce_rule_backend_constraints($ctx, $id, $patch);
$ctx->rules->update($ctx->daUser->username(), $id, $patch);
$ctx->syncActiveBackend();
Http::redirect($ctx->url('index.html', ['status' => 'updated']));
} catch (Throwable $e) {
PluginLogger::exception($e, 'UPDATE');
$errors[] = $e->getMessage();
}
}
$ctx->render('Edit autoresponder', render_rule_form($ctx, 'update', $rule), [], $errors);
};