um-actions-global.php
1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
/**
* Adds a form identifier to form
*
* @param $args
*/
function um_add_form_identifier( $args ) {
?>
<input type="hidden" name="form_id" id="form_id_<?php echo esc_attr( $args['form_id'] ); ?>" value="<?php echo esc_attr( $args['form_id'] ); ?>" />
<?php
}
add_action( 'um_after_form_fields', 'um_add_form_identifier' );
/**
* Adds a spam timestamp
*
* @param $args
*/
function um_add_security_checks( $args ) {
if ( is_admin() ) {
return;
} ?>
<p class="<?php echo esc_attr( UM()->honeypot ); ?>_name">
<label for="<?php echo esc_attr( UM()->honeypot ) . '_' . $args['form_id']; ?>"><?php _e( 'Only fill in if you are not human' ); ?></label>
<input type="hidden" name="<?php echo esc_attr( UM()->honeypot ); ?>" id="<?php echo esc_attr( UM()->honeypot ) . '_' . $args['form_id']; ?>" class="input" value="" size="25" autocomplete="off" />
</p>
<?php
}
add_action( 'um_after_form_fields', 'um_add_security_checks' );
add_action( 'um_account_page_hidden_fields', 'um_add_security_checks' );
/**
* Makes the honeypot invisible
*/
function um_add_form_honeypot_css() {
?>
<style type="text/css">
.<?php echo esc_attr( UM()->honeypot ); ?>_name {
display: none !important;
}
</style>
<?php
}
add_action( 'wp_head', 'um_add_form_honeypot_css' );
/**
* Empty the honeypot value
*/
function um_add_form_honeypot_js() {
?>
<script type="text/javascript">
jQuery( window ).on( 'load', function() {
jQuery('input[name="<?php echo esc_js( UM()->honeypot ); ?>"]').val('');
});
</script>
<?php
}
add_action( 'wp_footer', 'um_add_form_honeypot_js', 99999999999999999 );