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
jetformbuilder / includes / form-messages / action-messages-manager.php

action-messages-manager.php in JetFormBuilder — Dynamic Blocks Form Builder 3.6.6, at includes/form-messages/action-messages-manager.php

78 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Jet_Form_Builder\Form_Messages;
5
6 use Jet_Form_Builder\Actions\Types\Base;
7 use Jet_Form_Builder\Classes\Instance_Trait;
8 use Jet_Form_Builder\Form_Messages\Actions\Base_Action_Messages;
9
10 // If this file is called directly, abort.
11 if ( ! defined( 'WPINC' ) ) {
12 die;
13 }
14
15 /**
16 * @method static Action_Messages_Manager instance()
17 *
18 * Class Action_Messages_Manager
19 * @package Jet_Form_Builder\Form_Messages
20 */
21 class Action_Messages_Manager {
22
23 use Instance_Trait;
24
25 /** @var Base_Action_Messages[] */
26 private $types;
27
28 public function __construct() {
29 $this->types = apply_filters( 'jet-form-builder/form-messages/register', array() );
30 }
31
32 public function get_messages_values( Base $action ): array {
33 $messages = array();
34
35 /** @var Base_Action_Messages $type */
36 foreach ( $this->get_types( $action ) as $type ) {
37 $messages = array_merge(
38 $messages,
39 wp_list_pluck( $type->get_messages(), 'value' )
40 );
41 }
42
43 return array_merge(
44 $messages,
45 $action->settings['messages'] ?? array()
46 );
47 }
48
49 public function get_messages( Base $action ): array {
50 $messages = array();
51
52 /** @var Base_Action_Messages $type */
53 foreach ( $this->get_types( $action ) as $type ) {
54 $messages = array_merge(
55 $messages,
56 $type->get_messages()
57 );
58 }
59
60 return $messages;
61 }
62
63 /**
64 * @param Base $action
65 *
66 * @return \Generator
67 */
68 private function get_types( Base $action ): \Generator {
69 foreach ( $this->types as $type ) {
70 if ( ! $type->is_supported( $action ) ) {
71 continue;
72 }
73 yield $type;
74 }
75 }
76
77 }
78