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'];