PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.2.2
JetFormBuilder — Dynamic Blocks Form Builder v3.2.2
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 1.1.2 1.1.3 1.1.4 1.1.5 All 130 releases
jetformbuilder / includes / actions / events / default-process / default-with-gateway-executor.php
default-with-gateway-executor.php
68 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // phpcs:ignore Internal.Exception
2
3
4 namespace Jet_Form_Builder\Actions\Events\Default_Process;
5
6 use Jet_Form_Builder\Actions\Types\Base;
7 use JFB_Modules\Form_Record\Action_Types\Save_Record;
8 use Jet_Form_Builder\Exceptions\Action_Exception;
9 use Jet_Form_Builder\Exceptions\Gateway_Exception;
10 use Jet_Form_Builder\Exceptions\Repository_Exception;
11 use Jet_Form_Builder\Gateways\Gateway_Manager;
12
13 // If this file is called directly, abort.
14 if ( ! defined( 'WPINC' ) ) {
15 die;
16 }
17
18 class Default_With_Gateway_Executor extends Default_Process_Executor {
19
20 public function before_execute() {
21 try {
22 jet_fb_gateway_current()->before_actions();
23 } catch ( Repository_Exception $exception ) {
24 return;
25 }
26
27 parent::before_execute();
28 }
29
30 protected function execute_actions() {
31 jet_fb_action_handler()->soft_run_actions( $this );
32 }
33
34 /**
35 * @throws Action_Exception
36 */
37 public function after_execute() {
38 parent::after_execute();
39
40 Save_Record::add_hidden();
41
42 try {
43 jet_fb_gateway_current()->after_actions( jet_fb_action_handler() );
44 } catch ( Repository_Exception $exception ) {
45 return;
46 } catch ( Gateway_Exception $exception ) {
47 throw ( new Action_Exception( $exception->getMessage(), $exception->get_additional() ) )->dynamic_error();
48 }
49 }
50
51 protected function is_valid_action( Base $action ): bool {
52 return $this->get_event()->is_valid_action( $action );
53 }
54
55 public function is_supported(): bool {
56 Gateway_Manager::instance()->set_gateways_options_by_form_id( jet_fb_handler()->form_id );
57
58 try {
59 Gateway_Manager::instance()->get_current_gateway_controller();
60 } catch ( Repository_Exception $exception ) {
61 return false;
62 }
63
64 return true;
65 }
66
67 }
68