b96bc758 |
1 | <?php |
244ec72c |
2 | defined( 'ABSPATH' ) || die( 'No script kiddies please!' ); |
b96bc758 |
3 | |
4 | // include the file with the actual markup for the options to display |
5 | require( dirname( __FILE__ ) . '/dnxcf_options-display.php' ); |
6 | |
7 | /** |
8 | * Register the set of options required for the plugin to work |
9 | * @since 1.1.1 |
10 | */ |
11 | register_setting( 'dnxcf_options', 'dnxcf_options', 'dnxcf_setup_validate' ); |
12 | |
13 | // our validation function |
14 | function dnxcf_setup_validate( $input ) { |
15 | |
8c3e9b00 |
16 | $dnxcf_options = get_option( 'dnxcf_options' ); |
17 | $valid_input = $dnxcf_options; |
b96bc758 |
18 | |
8c3e9b00 |
19 | $submit = ( ! empty( $input['submit'] ) ? true : false ); |
20 | $reset = ( ! empty( $input['reset'] ) ? true : false ); |
b96bc758 |
21 | |
8c3e9b00 |
22 | if ( $submit ) { |
23 | $default_options = dnxcf_set_options(); |
24 | // content type |
25 | $valid_input['dnxcf_content_type'] = ( '1' == $input['dnxcf_content_type'] ? $default_options['dnxcf_content_type'] : '2' ); |
26 | // email address |
27 | $valid_input['dnxcf_recv_name'] = ( '' == $input['dnxcf_recv_name'] ? $default_options['dnxcf_recv_name'] : sanitize_text_field( $input['dnxcf_recv_name'] ) ); |
28 | $valid_input['dnxcf_recv_email'] = ( '' == $input['dnxcf_recv_email'] ? $default_options['dnxcf_recv_email'] : sanitize_email( $input['dnxcf_recv_email'] ) ); |
29 | // subject options |
30 | if ( '' == $input['dnxcf_subject'] ) { |
31 | $valid_input['dnxcf_subject'] = $default_options['dnxcf_subject']; |
32 | } else { |
33 | $valid_input['dnxcf_subject'] = rtrim( esc_textarea( $input['dnxcf_subject'] ) ); |
34 | $valid_input['dnxcf_subject'] = explode( "\n", $valid_input['dnxcf_subject'] ); |
35 | } |
36 | // from email address and name |
37 | $valid_input['dnxcf_from_email'] = ( '' == $input['dnxcf_from_email'] ? $default_options['dnxcf_from_email'] : sanitize_email( $input['dnxcf_from_email'] ) ); |
38 | $valid_input['dnxcf_from_name'] = ( '' == $input['dnxcf_from_name'] ? $default_options['dnxcf_from_name'] : sanitize_text_field( $input['dnxcf_from_name'] ) ); |
39 | // privacy policy |
40 | $valid_html = array( |
41 | 'a' => array( |
42 | 'href' => array(), |
43 | 'title' => array(), |
44 | ), |
45 | 'br' => array(), |
46 | 'em' => array(), |
47 | 'strong' => array(), |
48 | 'p' => array(), |
49 | ); |
50 | $valid_input['dnxcf_privacy'] = ( '' == $input['dnxcf_privacy'] ? false : wp_kses( $input['dnxcf_privacy'], $valid_html ) ); |
8c3e9b00 |
51 | } elseif ( $reset ) { |
52 | $default_options = dnxcf_set_options(); |
53 | // content type |
54 | $valid_input['dnxcf_content_type'] = $default_options['dnxcf_content_type']; |
55 | // email address |
56 | $valid_input['dnxcf_recv_name'] = $default_options['dnxcf_recv_name']; |
57 | $valid_input['dnxcf_recv_email'] = $default_options['dnxcf_recv_email']; |
58 | // subject options |
59 | $valid_input['dnxcf_subject'] = $default_options['dnxcf_subject']; |
60 | // from email address and name |
61 | $valid_input['dnxcf_from_email'] = $default_options['dnxcf_from_email']; |
62 | $valid_input['dnxcf_from_name'] = $default_options['dnxcf_from_name']; |
63 | // subject options |
64 | $valid_input['dnxcf_privacy'] = $default_options['dnxcf_privacy']; |
8c3e9b00 |
65 | } |
66 | return $valid_input; |
b96bc758 |
67 | } |
68 | |