PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.30
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.30
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
formidable / classes / models / fields / FrmFieldTextarea.php

FrmFieldTextarea.php in Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More 6.30, at classes/models/fields/FrmFieldTextarea.php

112 lines 2.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 die( 'You are not allowed to call this page directly.' );
4 }
5
6 /**
7 * @since 3.0
8 */
9 class FrmFieldTextarea extends FrmFieldType {
10
11 /**
12 * @var string
13 *
14 * @since 3.0
15 */
16 protected $type = 'textarea';
17
18 /**
19 * @var bool
20 */
21 protected $array_allowed = false;
22
23 /**
24 * @return bool[]
25 */
26 protected function field_settings_for_type() {
27 return array(
28 'size' => true,
29 'clear_on_focus' => true,
30 );
31 }
32
33 /**
34 * @return array
35 */
36 protected function extra_field_opts() {
37 return array(
38 'max' => '5',
39 );
40 }
41
42 /**
43 * @param string $name
44 *
45 * @return void
46 */
47 public function show_on_form_builder( $name = '' ) {
48 $size = FrmField::get_option( $this->field, 'size' );
49 $max = FrmField::get_option( $this->field, 'max' );
50
51 $html_atts = array(
52 'name' => $this->html_name( $name ),
53 'id' => $this->html_id(),
54 'rows' => $max,
55 'class' => 'dyn_default_value',
56 'placeholder' => FrmField::get_option( $this->field, 'placeholder' ),
57 );
58 echo '<textarea';
59 FrmAppHelper::array_to_html_params( $html_atts, true );
60
61 if ( $size ) {
62 if ( is_numeric( $size ) ) {
63 $size .= 'px';
64 }
65
66 $style = 'width:' . $size . ';';
67 echo ' style="' . esc_attr( $style ) . '"';
68 }
69
70 echo '>';
71 echo FrmAppHelper::esc_textarea( force_balance_tags( $this->get_field_column( 'default_value' ) ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
72 echo '</textarea>';
73 }
74
75 protected function prepare_display_value( $value, $atts ) {
76 FrmFieldsHelper::run_wpautop( $atts, $value );
77 return $value;
78 }
79
80 /**
81 * @since 6.0
82 *
83 * @param array $field
84 * @param string $default_name
85 * @param mixed $default_value
86 *
87 * @return void
88 */
89 public function show_default_value_field( $field, $default_name, $default_value ) {
90 include FrmAppHelper::plugin_path() . '/classes/views/frm-fields/back-end/textarea-default-value-field.php';
91 }
92
93 /**
94 * @param array $args
95 * @param array $shortcode_atts
96 *
97 * @return string
98 */
99 public function front_field_input( $args, $shortcode_atts ) {
100 $input_html = $this->get_field_input_html_hook( $this->field );
101 $this->add_aria_description( $args, $input_html );
102 $rows = $this->field['max'] ? 'rows="' . esc_attr( $this->field['max'] ) . '" ' : '';
103
104 // phpcs:disable Generic.WhiteSpace.ScopeIndent
105 return '<textarea name="' . esc_attr( $args['field_name'] ) . '" id="' . esc_attr( $args['html_id'] ) . '" ' .
106 $rows . $input_html . '>' .
107 FrmAppHelper::esc_textarea( $this->field['value'] ) .
108 '</textarea>';
109 // phpcs:enable Generic.WhiteSpace.ScopeIndent
110 }
111 }
112