PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.4.7
JetFormBuilder — Dynamic Blocks Form Builder v3.4.7
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 / compatibility / jet-engine / methods / post-modification / post-je-relation-property.php
jetformbuilder / compatibility / jet-engine / methods / post-modification Last commit date
post-je-relation-property.php 1 year ago
post-je-relation-property.php
69 lines
1 <?php
2
3
4 namespace JFB_Compatibility\Jet_Engine\Methods\Post_Modification;
5
6 use Jet_Form_Builder\Actions\Methods\Abstract_Modifier;
7 use Jet_Form_Builder\Actions\Methods\Object_Dynamic_Property;
8 use JFB_Modules\Actions_V2\Insert_Post\Properties\Base_Post_Action;
9 use JFB_Modules\Actions_V2\Insert_Post\Properties\Trash_Action;
10 use Jet_Form_Builder\Classes\Arrayable\Array_Continue_Exception;
11 use Jet_Form_Builder\Actions\Methods\Base_Object_Property;
12
13 // If this file is called directly, abort.
14 if ( ! defined( 'WPINC' ) ) {
15 die;
16 }
17
18 class Post_Je_Relation_Property extends Base_Object_Property implements
19 Object_Dynamic_Property {
20
21 protected $relation = array();
22
23 public function get_id(): string {
24 return 'je_relation';
25 }
26
27 public function is_supported( string $key, $value ): bool {
28 return jet_engine()->relations->is_relation_key( $key );
29 }
30
31 public function do_before( string $key, $value, Abstract_Modifier $modifier ) {
32 $this->relation[ $key ] = $value;
33 }
34
35 /**
36 * @param Abstract_Modifier $modifier
37 */
38 public function do_after( Abstract_Modifier $modifier ) {
39 if ( Trash_Action::is_supported( $modifier ) ) {
40 return;
41 }
42
43 /** @var Base_Post_Action $action */
44 $action = $modifier->get_action();
45 $id = $action->get_inserted();
46
47 if ( ! $id ) {
48 return;
49 }
50
51 foreach ( $this->relation as $rel_key => $rel_posts ) {
52 jet_engine()->relations->process_meta(
53 false,
54 $id,
55 $rel_key,
56 $rel_posts
57 );
58 }
59 }
60
61 /**
62 * @return string
63 * @throws Array_Continue_Exception
64 */
65 public function get_label(): string {
66 throw new Array_Continue_Exception( 'Exclude this from properties list' );
67 }
68 }
69