PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.6
JetFormBuilder — Dynamic Blocks Form Builder v3.6.6
3.6.6.1 3.6.6 3.6.5.4 3.6.5.3 3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.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 All 134 releases
← All changes | includes/classes/attributes-trait.php +57 -51 1.1.1 → 3.6.6 View file →
@@ -1,51 +1,57 @@
1 -<?php
2 -
3 -
4 -namespace Jet_Form_Builder\Classes;
5 -
6 -
7 -trait Attributes_Trait {
8 - public $attrs = array();
9 -
10 - /**
11 - * Add attribute
12 - *
13 - * @param $attr
14 - * @param null $value
15 - */
16 - public function add_attribute( $attr, $value = null ) {
17 -
18 - if ( '' === $value ) {
19 - return;
20 - }
21 - if ( ! isset( $this->attrs[ $attr ] ) ) {
22 - $this->attrs[ $attr ] = $value;
23 - } else {
24 - $this->attrs[ $attr ] .= ' ' . $value;
25 - }
26 -
27 - }
28 -
29 - /**
30 - * Reset attributes array
31 - */
32 - public function reset_attributes() {
33 - $this->attrs = array();
34 - }
35 -
36 - /**
37 - * Render current attributes string
38 - *
39 - * @return void
40 - */
41 - public function render_attributes_string() {
42 -
43 - foreach ( $this->attrs as $attr => $value ) {
44 - printf( ' %1$s="%2$s"', $attr, $value );
45 - }
46 -
47 - $this->attrs = array();
48 - }
49 -
50 -
51 -}
1 +<?php
2 +
3 +
4 +namespace Jet_Form_Builder\Classes;
5 +
6 +// If this file is called directly, abort.
7 +if ( ! defined( 'WPINC' ) ) {
8 + die;
9 +}
10 +
11 +trait Attributes_Trait {
12 +
13 + use Base_Attributes_Trait;
14 +
15 + public $attrs = array();
16 +
17 + public function add_attribute( $attr, $value = null ) {
18 + if ( '' === $value ) {
19 + return;
20 + }
21 +
22 + /**
23 + * Don't use wp_is_numeric_array function
24 + * for backward compatibility
25 + *
26 + * @see https://github.com/Crocoblock/issues-tracker/issues/2392
27 + */
28 + if ( is_array( $value ) ) {
29 + foreach ( $value as $item ) {
30 + $this->add_attribute( $attr, $item );
31 + }
32 +
33 + return;
34 + }
35 +
36 + $value = Tools::esc_attr( $value );
37 +
38 + if ( isset( $this->attrs[ $attr ] ) && in_array( $attr, array( 'class', 'style' ), true ) ) {
39 + $this->attrs[ $attr ] .= ' ' . $value;
40 + } else {
41 + $this->attrs[ $attr ] = $value;
42 + }
43 + }
44 +
45 + public function reset_attributes() {
46 + $this->attrs = array();
47 + }
48 +
49 + public function get_all_attrs() {
50 + return $this->attrs;
51 + }
52 +
53 + public function has_attribute( string $name ): bool {
54 + return array_key_exists( $name, $this->attrs );
55 + }
56 +
57 +}