HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/www/torresncgolf/wp-content/plugins/ninja-forms/includes/Routes/Telemetry.php
<?php if ( ! defined( 'ABSPATH' ) ) exit;

/**
 * Class NF_Routes_SubmissionsActions
 */
final class NF_Routes_Telemetry extends NF_Abstracts_Routes
{
    
    /**
     * Register REST API routes related to Telemetry
     * 
     * @since 3.8.18
     * 
     * @route "nf-be-data/store"
     */
    function register_routes() {
        
        $opted_out = !has_filter( 'ninja_forms_settings_licenses_addons' ) && ( ! (bool) get_option( 'ninja_forms_allow_tracking' ) || (bool) get_option( 'ninja_forms_do_not_allow_tracking' ) );
        if(!$opted_out) {  
            register_rest_route('nf-be-data', 'store', array(
                'methods' => 'POST',
                'callback' => [ $this, 'nf_be_store_data' ],
                'permission_callback' => [ $this, 'nf_be_store_data_permission_callback' ]
            ));
        }
        
    }

    // Security check for the rest route
    function nf_be_store_data_permission_callback() {
        return is_user_logged_in();
    }

    // Action for the REST route
    function nf_be_store_data($request) {
        $data = json_decode($request['data'], true);
        if(!$data || $data[2] <= 0) {
            return new WP_REST_Response('Invalid data', 400);
        }
        $data[] = get_current_user_id();
        $stored_data = get_option('nf_be_data', []);
        $stored_data[] = $data;
        update_option('nf_be_data', $stored_data);
        return new WP_REST_Response('Data stored', 200);
    }

}