e540806b4415d7ef21cbf622269cdc1821fffe05
2 defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
4 // include the file with the actual markup for the options to display
5 require( dirname( __FILE__
) . '/dnxcf_options-display.php' );
8 * Register the set of options required for the plugin to work
11 register_setting( 'dnxcf_options', 'dnxcf_options', 'dnxcf_setup_validate' );
13 // our validation function
14 function dnxcf_setup_validate( $input ) {
16 $dnxcf_options = get_option( 'dnxcf_options' );
17 $valid_input = $dnxcf_options;
19 $submit = ( ! empty( $input['submit'] ) ?
true : false );
20 $reset = ( ! empty( $input['reset'] ) ?
true : false );
23 $default_options = dnxcf_set_options();
25 $valid_input['dnxcf_content_type'] = ( '1' == $input['dnxcf_content_type'] ?
$default_options['dnxcf_content_type'] : '2' );
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'] ) );
30 if ( '' == $input['dnxcf_subject'] ) {
31 $valid_input['dnxcf_subject'] = $default_options['dnxcf_subject'];
33 $valid_input['dnxcf_subject'] = rtrim( esc_textarea( $input['dnxcf_subject'] ) );
34 $valid_input['dnxcf_subject'] = explode( "\n", $valid_input['dnxcf_subject'] );
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'] ) );
50 $valid_input['dnxcf_privacy'] = ( '' == $input['dnxcf_privacy'] ?
false : wp_kses( $input['dnxcf_privacy'], $valid_html ) );
51 // latitude and longitude
52 $valid_input['dnxcf_gmap_message'] = ( '' == $input['dnxcf_gmap_message'] ?
$default_options['dnxcf_gmap_message'] : sanitize_text_field( $input['dnxcf_gmap_message'] ) );
53 if ( '' != $input['dnxcf_latitude'] ) {
54 $valid_input['dnxcf_latitude'] = ( preg_match( '/^[-]?[0-8]?[0-9]\.\d+|[-]?90\.0+?/A', $input['dnxcf_latitude'] ) ?
$input['dnxcf_latitude'] : '' );
56 $valid_input['dnxcf_latitude'] = '';
58 $valid_input['dnxcf_apikey'] = ( '' == $input['dnxcf_apikey'] ?
$default_options['dnxcf_apikey'] : sanitize_html_class( $input['dnxcf_apikey'] ) );
60 if ( '' != $input['dnxcf_longitude'] ) {
61 $valid_input['dnxcf_longitude'] = ( preg_match( '/[-]?1[0-7][0-9]\.\d+|[-]?[0-9]?[0-9]\.\d+|[-]?180\.0+?/A', $input['dnxcf_longitude'] ) ?
$input['dnxcf_longitude'] : '' );
63 $valid_input['dnxcf_longitude'] = '';
66 $default_options = dnxcf_set_options();
68 $valid_input['dnxcf_content_type'] = $default_options['dnxcf_content_type'];
70 $valid_input['dnxcf_recv_name'] = $default_options['dnxcf_recv_name'];
71 $valid_input['dnxcf_recv_email'] = $default_options['dnxcf_recv_email'];
73 $valid_input['dnxcf_subject'] = $default_options['dnxcf_subject'];
74 // from email address and name
75 $valid_input['dnxcf_from_email'] = $default_options['dnxcf_from_email'];
76 $valid_input['dnxcf_from_name'] = $default_options['dnxcf_from_name'];
78 $valid_input['dnxcf_privacy'] = $default_options['dnxcf_privacy'];
79 // latitude and longitude
80 $valid_input['dnxcf_gmap_message'] = $default_options['dnxcf_gmap_message'];
81 $valid_input['dnxcf_apikey'] = $default_options['dnxcf_apikey'];
82 $valid_input['dnxcf_latitude'] = $default_options['dnxcf_latitude'];
83 $valid_input['dnxcf_longitude'] = $default_options['dnxcf_longitude'];