: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
<?php if ( ! defined( 'ABSPATH' ) ) exit;
class NF_AJAX_REST_NewFormTemplates extends NF_AJAX_REST_Controller
protected $action = 'nf_new_form_templates';
* GET new-form-templates/
* @return array [ $new_form_templates ]
// 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['security']) || !wp_verify_nonce($_REQUEST['security'], 'ninja_forms_dashboard_nonce')) {
// Kick the request out now.
$data['error'] = esc_html__('Request forbidden.', 'ninja-forms');
$templates = Ninja_Forms()->config( 'NewFormTemplates' );
usort( $templates, array( $this, 'cmp' ) );
array_unshift( $templates, array(
'title' => esc_html__( 'Blank Form', 'ninja-forms' ),
'template-desc' => esc_html__( 'The blank form allows you to create any type of form using our drag & drop builder.', 'ninja-forms' ),
return array_values( $templates ); // Remove keys so that the JSON is an array.
* Comparison function used to sort templates alphabetically by title
* @param array $a item being compared
* @param array $b item being compared
private function cmp( $a, $b )
return strcmp( $a[ 'title' ], $b[ 'title' ] );