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