calc.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php if ( ! defined( 'ABSPATH' ) ) exit;
  2. /*
  3. *
  4. * Function used to output calcluation options on each field editing section on the back-end.
  5. *
  6. * @since 2.2.28
  7. * @returns void
  8. */
  9. function ninja_forms_edit_field_calc( $field_id, $field_data ) {
  10. global $ninja_forms_fields;
  11. $field_row = ninja_forms_get_field_by_id( $field_id );
  12. $field_type = $field_row['type'];
  13. if ( $ninja_forms_fields[$field_type]['process_field'] ) {
  14. if ( isset ( $field_data['calc_option'] ) ) {
  15. $calc_option = $field_data['calc_option'];
  16. } else {
  17. $calc_option = 0;
  18. }
  19. if ( isset ( $field_data['calc_auto_include'] ) ) {
  20. $calc_auto_include = $field_data['calc_auto_include'];
  21. } else {
  22. $calc_auto_include = 0;
  23. }
  24. if ( isset ( $field_data['calc_value'] ) ) {
  25. $calc_value = $field_data['calc_value'];
  26. } else {
  27. $calc_value = 0;
  28. }
  29. ?>
  30. <div class="description description-wide">
  31. <?php
  32. if ( $field_type == '_checkbox' ) {
  33. if ( !isset ( $calc_value['unchecked'] ) ) {
  34. $calc_value = array();
  35. $calc_value['unchecked'] = 0;
  36. $calc_value['checked'] = 0;
  37. }
  38. ninja_forms_edit_field_el_output($field_id, 'text', sprintf( __( '%sChecked%s Calculation Value', 'ninja-forms' ), '<strong>', '</strong>' ), 'calc_value[checked]', $calc_value['checked'], 'wide', '', '', sprintf( __( 'This is the value that will be used if %sChecked%s.', 'ninja-forms' ), '<strong>', '</strong>' ) );
  39. ninja_forms_edit_field_el_output($field_id, 'text', sprintf( __( '%sUnchecked%s Calculation Value', 'ninja-forms' ), '<strong>', '</strong>' ), 'calc_value[unchecked]', $calc_value['unchecked'], 'wide', '', '', sprintf( __( 'This is the value that will be used if %sUnchecked%s.', 'ninja-forms' ), '<strong>', '</strong>' ) );
  40. }
  41. ninja_forms_edit_field_el_output($field_id, 'checkbox', __( 'Include in the auto-total? (If enabled)', 'ninja-forms' ), 'calc_auto_include', $calc_auto_include, 'wide', '', 'ninja-forms-field-auto-total-include');
  42. ?>
  43. </div>
  44. <?php
  45. }
  46. }
  47. add_action( 'nf_edit_field_calculations', 'ninja_forms_edit_field_calc', 10, 2 );