PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 1.2.4
JetFormBuilder — Dynamic Blocks Form Builder v1.2.4
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / blocks / render / calculated-field-render.php
jetformbuilder / includes / blocks / render Last commit date
base-select-radio-check.php 4 years ago base.php 4 years ago calculated-field-render.php 4 years ago checkbox-field-render.php 4 years ago conditional-block-render.php 4 years ago date-field-render.php 4 years ago datetime-field-render.php 4 years ago form-break-field-render.php 4 years ago form-builder.php 4 years ago group-break-field-render.php 4 years ago heading-field-render.php 4 years ago hidden-field-render.php 4 years ago media-field-render.php 4 years ago number-field-render.php 4 years ago radio-field-render.php 4 years ago range-field-render.php 4 years ago repeater-field-render.php 4 years ago select-field-render.php 4 years ago submit-field-render.php 4 years ago text-field-render.php 4 years ago textarea-field-render.php 4 years ago time-field-render.php 4 years ago wysiwyg-field-render.php 4 years ago
calculated-field-render.php
78 lines
1 <?php
2
3 namespace Jet_Form_Builder\Blocks\Render;
4
5 // If this file is called directly, abort.
6 use Jet_Form_Builder\Classes\Tools;
7 use Jet_Form_Builder\Live_Form;
8
9 if ( ! defined( 'WPINC' ) ) {
10 die;
11 }
12
13 /**
14 * Define text field renderer class
15 */
16 class Calculated_Field_Render extends Base {
17
18 public function get_name() {
19 return 'calculated-field';
20 }
21
22 public function render_editor_placeholder() {
23 return Tools::is_editor() ? '25.00' : '';
24 }
25
26 /**
27 * Get calulation formula for calculated field
28 *
29 * @return [type] [description]
30 */
31 public function get_calculated_data( $args ) {
32
33 if ( empty( $args['calc_formula'] ) ) {
34 return '';
35 }
36
37 $listen_fields = array();
38
39 $formula = preg_replace_callback(
40 '/%([a-zA-Z-_]+)::([a-zA-Z0-9-_]+)%/',
41 function ( $matches ) use ( &$listen_fields ) {
42
43 switch ( strtolower( $matches[1] ) ) {
44 case 'field':
45 $listen_fields[] = $matches[2];
46
47 return '%' . $matches[2] . '%';
48
49 case 'meta':
50 return get_post_meta( Live_Form::instance()->post->ID, $matches[2], true );
51
52 default:
53 $macros_name = $matches[1];
54 $field_key = isset( $matches[2] ) ? $matches[2] : '';
55
56 if ( $field_key ) {
57 $listen_fields[] = $field_key;
58 }
59
60 return apply_filters( "jet-engine/calculated-data/$macros_name", $matches[0], $matches );
61 }
62
63 },
64 $args['calc_formula']
65 );
66
67 $formula = str_replace( '^', '**', $formula );
68
69 return array(
70 'formula' => $formula,
71 'listen_fields' => $listen_fields,
72 'listen_to' => $listen_fields,
73 );
74
75 }
76
77 }
78