: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
<?php if ( ! defined( 'ABSPATH' ) ) exit;
class NF_AJAX_REST_Forms extends NF_AJAX_REST_Controller
protected $action = 'nf_forms';
private $forms_controller;
public function __construct()
$this->forms_controller = new NF_Database_FormsController();
* @param array $request_data [ int $clone_id ]
* @return array $data [ int $new_form_id ]
public function post( $request_data )
// Does the current user have admin privileges
if (!current_user_can(apply_filters('ninja_forms_admin_all_forms_capabilities', 'manage_options'))) {
$data ['error'] = esc_html__('Access denied. You must have admin privileges to view this data.', 'ninja-forms');
// If we don't have a nonce...
// OR if the nonce is invalid...
if (!isset($request_data['security']) || !wp_verify_nonce($request_data['security'], 'ninja_forms_dashboard_nonce')) {
// Kick the request out now.
$data['error'] = esc_html__('Request forbidden.', 'ninja-forms');
if( isset( $request_data[ 'clone_id' ]) ){
$clone_id = $request_data[ 'clone_id' ];
$data[ 'new_form_id' ] = NF_Database_Models_Form::duplicate( $clone_id );
* @return array [ $forms ]
public function get($request_data)
if (!current_user_can(apply_filters('ninja_forms_admin_all_forms_capabilities', 'manage_options'))) {
return ['error' => esc_html__('Access denied. You must have admin privileges to view this data.', 'ninja-forms')];
// If we don't have a nonce...
// OR if the nonce is invalid...
if (!isset($request_data['security']) || !wp_verify_nonce($request_data['security'], 'ninja_forms_dashboard_nonce')) {
// Kick the request out now.
$data['error'] = esc_html__('Request forbidden.', 'ninja-forms');
return $this->forms_controller->getFormsData();
* @param array $request_data => [ form_id ]
* @return array $data => [ delete => null ]
public function delete( $request_data )
// Does the current user have admin privileges
if (!current_user_can(apply_filters('ninja_forms_admin_all_forms_capabilities', 'manage_options'))) {
return ['error' => esc_html__('Access denied. You must have admin privileges to view this data.', 'ninja-forms')];
// If we don't have a nonce...
// OR if the nonce is invalid...
if (!isset($request_data['security']) || !wp_verify_nonce($request_data['security'], 'ninja_forms_dashboard_nonce')) {
// Kick the request out now.
$data['error'] = esc_html__('Request forbidden.', 'ninja-forms');
$id = $request_data[ 'form_id' ];
$form = Ninja_Forms()->form( $id )->get();
$data[ 'delete' ] = $form->delete();
* @return array $request_data
protected function get_request_data()
if( isset( $_REQUEST[ 'form_id' ] ) && $_REQUEST[ 'form_id' ] ){
$request_data[ 'form_id' ] = absint( $_REQUEST[ 'form_id' ] );
if( isset( $_REQUEST[ 'clone_id' ] ) && $_REQUEST[ 'clone_id' ] ){
$request_data[ 'clone_id' ] = absint( $_REQUEST[ 'clone_id' ] );
if (isset($_REQUEST['security']) && $_REQUEST['security']) {
$request_data[ 'security' ] = $_REQUEST[ 'security' ];