Skip to content

Instantly share code, notes, and snippets.

@wpmudev-sls
Created September 18, 2019 13:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wpmudev-sls/1c8f6f4b1ad101a39ba0dd482e8909e1 to your computer and use it in GitHub Desktop.
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
<?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