Created
September 18, 2019 13:22
-
-
Save wpmudev-sls/1c8f6f4b1ad101a39ba0dd482e8909e1 to your computer and use it in GitHub Desktop.
[Forminator Pro] - Anonymize IP in Custom Forms. Immediately anonymize IP after user's submission
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Plugin Name: [Forminator Pro] - Anonymize IP in Custom Forms | |
* Plugin URI: https://premium.wpmudev.org/ | |
* Description: Immediately anonymize IP after user's submission (as of 1.9.1) | |
* Author: Alessandro Kaounas @ WPMUDEV | |
* Author URI: https://premium.wpmudev.org/ | |
* License: GPLv2 or later | |
*/ | |
if ( ! defined( 'ABSPATH' ) ) { | |
exit; | |
} | |
if ( ! class_exists( 'WPMUDEV_Forminator_Anonymize_IP' ) ) { | |
class WPMUDEV_Forminator_Anonymize_IP { | |
private static $_instance = null; | |
public static function get_instance() { | |
if( is_null( self::$_instance ) ){ | |
self::$_instance = new WPMUDEV_Forminator_Anonymize_IP(); | |
} | |
return self::$_instance; | |
} | |
private function __construct() { | |
$this->init(); | |
} | |
public function init(){ | |
add_filter( 'forminator_custom_form_submit_field_data', array( $this, 'wpmudev_anonymize_ip_data' ), 10, 2 ); | |
} | |
public function wpmudev_anonymize_ip_data( $field_data_array, $form_id ) { | |
foreach ($field_data_array as &$field) { | |
if( $field['name'] === '_forminator_user_ip' ){ | |
if ( function_exists( 'wp_privacy_anonymize_data' ) ) { | |
$field['value'] = wp_privacy_anonymize_ip( $field['value'] ); | |
} else { | |
$field['value'] = ''; | |
} | |
} | |
} | |
return $field_data_array; | |
} | |
} | |
if ( ! function_exists( 'wpmudev_forminator_avoid_duplicate_entries' ) ) { | |
function wpmudev_forminator_avoid_duplicate_entries() { | |
return WPMUDEV_Forminator_Anonymize_IP::get_instance(); | |
}; | |
add_action( 'plugins_loaded', 'wpmudev_forminator_avoid_duplicate_entries', 99 ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment