| @@ -17,8 +17,11 @@ | ||
| 17 | 17 | 'settings.email_body' => 'nullable|string', |
| 18 | 18 | 'settings.active' => 'nullable|sanitizeText', |
| 19 | 19 | 'settings.is_default_body' => 'nullable|sanitizeText', |
| 20 | 20 | 'settings.attach_pdf_template' => 'nullable|sanitizeText', |
| 21 | + // Custom per-notification settings (declared by add-ons via the | |
| 22 | + // `fluent_cart/email_notifications` filter as a `fields` schema). | |
| 23 | + 'settings.extra' => 'nullable', | |
| 21 | 24 | ]; |
| 22 | 25 | } |
| 23 | 26 | |
| 24 | 27 | /** |
| @@ -40,8 +43,11 @@ | ||
| 40 | 43 | 'settings.subject' => 'sanitize_text_field', |
| 41 | 44 | 'settings.email_body' => 'wp_kses_post', |
| 42 | 45 | 'settings.active' => 'sanitize_text_field', |
| 43 | 46 | 'settings.is_default_body' => 'sanitize_text_field', |
| 44 | - 'settings.attach_pdf_template' => 'sanitize_text_field' | |
| 47 | + 'settings.attach_pdf_template' => 'sanitize_text_field', | |
| 48 | + 'settings.extra' => function ($value) { | |
| 49 | + return is_array($value) ? map_deep($value, 'sanitize_text_field') : sanitize_text_field($value); | |
| 50 | + }, | |
| 45 | 51 | ]; |
| 46 | 52 | } |
| 47 | 53 | } |