SavedFields.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php if ( ! defined( 'ABSPATH' ) ) exit;
  2. class NF_AJAX_Controllers_SavedFields extends NF_Abstracts_Controller
  3. {
  4. public function __construct()
  5. {
  6. add_action( 'wp_ajax_nf_create_saved_field', array( $this, 'create' ) );
  7. add_action( 'wp_ajax_nf_update_saved_field', array( $this, 'update' ) );
  8. add_action( 'wp_ajax_nf_delete_saved_field', array( $this, 'delete' ) );
  9. }
  10. public function create()
  11. {
  12. check_ajax_referer( 'ninja_forms_builder_nonce', 'security' );
  13. if( ! isset( $_POST[ 'field' ] ) || empty( $_POST[ 'field' ] ) ){
  14. $this->_errors[] = __( 'Field Not Found', 'ninja-forms' );
  15. $this->_respond();
  16. }
  17. $field_settings = json_decode( stripslashes( $_POST[ 'field' ] ), ARRAY_A );
  18. $field = Ninja_Forms()->form()->field()->get();
  19. $field->update_settings( $field_settings );
  20. $field->update_setting( 'saved', 1 );
  21. $field->save();
  22. $this->_data[ 'id' ] = $field->get_id();
  23. $this->_respond();
  24. }
  25. public function update()
  26. {
  27. check_ajax_referer( 'ninja_forms_builder_nonce', 'security' );
  28. if( ! isset( $_POST[ 'field' ] ) || empty( $_POST[ 'field' ] ) ){
  29. $this->_errors[] = __( 'Field Not Found', 'ninja-forms' );
  30. $this->_respond();
  31. }
  32. $this->_respond();
  33. }
  34. public function delete()
  35. {
  36. check_ajax_referer( 'ninja_forms_settings_nonce', 'security' );
  37. if( ! isset( $_POST[ 'field' ] ) || empty( $_POST[ 'field' ] ) ){
  38. $this->_errors[] = __( 'Field Not Found', 'ninja-forms' );
  39. $this->_respond();
  40. }
  41. $id = absint( $_POST[ 'field' ][ 'id' ] );
  42. $errors = Ninja_Forms()->form()->get_field( $id )->delete();
  43. $this->_data[ 'id' ] = $id;
  44. $this->_data[ 'errors' ] = $errors;
  45. $this->_respond();
  46. }
  47. }