PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 1.2.6
JetFormBuilder — Dynamic Blocks Form Builder v1.2.6
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 / form-messages / manager.php
jetformbuilder / includes / form-messages Last commit date
builder.php 4 years ago manager.php 4 years ago
manager.php
126 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Form_Messages;
5
6
7 use Jet_Form_Builder\Plugin;
8
9 class Manager {
10
11 public $form_id;
12 public $actions;
13 public $_types = array();
14 private $success_statuses = array( 'success' );
15
16 const DYNAMIC_SUCCESS_PREF = 'dsuccess|';
17 const DYNAMIC_FAILED_PREF = 'derror|';
18
19
20 public function __construct( $form_id, $actions = array() ) {
21 $this->form_id = $form_id;
22 $this->actions = $actions;
23
24 $this->set_messages();
25 }
26
27 public static function dynamic_success( $message ) {
28 return self::DYNAMIC_SUCCESS_PREF . $message;
29 }
30
31 public static function dynamic_error( $message ) {
32 return self::DYNAMIC_FAILED_PREF . $message;
33 }
34
35 private function is_success( $status ) {
36 $message = $this->parse_message( $status );
37
38 if ( $this->is_dynamic_message( $message ) ) {
39 return 'success' === $this->dynamic_types()[ $message[0] ]['type'];
40 }
41
42 return in_array( $message[0], $this->success_statuses );
43 }
44
45
46 public function get_status_class( $status ) {
47 return $this->is_success( $status ) ? 'success' : 'error';
48 }
49
50 public function dynamic_types() {
51 return array(
52 'dsuccess' => array(
53 'type' => 'success'
54 ),
55 'derror' => array(
56 'type' => 'failed'
57 ),
58 );
59 }
60
61 public function set_messages() {
62 if ( ! $this->form_id ) {
63 return;
64 }
65 $this->_types = array_merge(
66 Plugin::instance()->post_type->get_messages( $this->form_id ),
67 $this->get_action_types_messages()
68 );
69
70 }
71
72 public function get_action_types_messages() {
73 $messages = array();
74
75 foreach ( $this->actions as $action ) {
76 if ( isset( $action->messages ) ) {
77 $default_action_messages = wp_list_pluck( $action->messages, 'value' );
78 $action_messages = isset( $action->settings['messages'] ) ? $action->settings['messages'] : array();
79
80 $messages = array_merge( $messages, $default_action_messages, $action_messages );
81 }
82 }
83
84 return $messages;
85 }
86
87 public function isset_message_type( $type ) {
88 return isset( $this->_types[ $type ] );
89 }
90
91
92 public function get_message( $type ) {
93 $message = $this->parse_message( $type );
94
95 /**
96 * Return dynamic message
97 */
98
99 if ( $this->is_dynamic_message( $message ) ) {
100 unset( $message[0] );
101
102 return implode( '|', $message );
103 }
104
105 if ( $this->isset_message_type( $message[0] ) ) {
106 return is_array( $this->_types[ $message[0] ] )
107 ? $this->_types[ $message[0] ]['value']
108 : $this->_types[ $message[0] ];
109 }
110
111 return 'Undefined error';
112 }
113
114 public function get_messages() {
115 return $this->_types;
116 }
117
118 private function parse_message( $status ) {
119 return explode( '|', $status );
120 }
121
122 private function is_dynamic_message( $message ) {
123 return isset( $this->dynamic_types()[ $message[0] ] ) && ! empty( $message[1] );
124 }
125
126 }