PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.3.1
JetFormBuilder — Dynamic Blocks Form Builder v3.6.3.1
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 / modules / option-query / module.php
module.php
84 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace JFB_Modules\Option_Query;
5
6 use Jet_Form_Builder\Exceptions\Repository_Exception;
7 use JFB_Components\Module\Base_Module_Handle_It;
8 use JFB_Components\Module\Base_Module_Handle_Trait;
9 use JFB_Components\Module\Base_Module_It;
10 use JFB_Components\Module\Base_Module_Url_It;
11 use JFB_Components\Module\Base_Module_Url_Trait;
12 use JFB_Components\Repository\Interfaces\Repository_Pattern_Interface;
13 use JFB_Components\Repository\Repository_Pattern_Trait;
14 use JFB_Modules\Option_Query\Interfaces\Option_Query_It;
15
16 // If this file is called directly, abort.
17 if ( ! defined( 'WPINC' ) ) {
18 die;
19 }
20
21 final class Module implements
22 Base_Module_It,
23 Base_Module_Handle_It,
24 Base_Module_Url_It,
25 Repository_Pattern_Interface {
26
27 use Repository_Pattern_Trait;
28 use Base_Module_Url_Trait;
29 use Base_Module_Handle_Trait;
30
31 public function rep_item_id() {
32 return 'option-query';
33 }
34
35 public function condition(): bool {
36 return true;
37 }
38
39 public function init_hooks() {
40 }
41
42 public function remove_hooks() {
43 }
44
45 public function rep_instances(): array {
46 return array(
47 new Manual_Query(),
48 new Posts_Query(),
49 new Terms_Query(),
50 new Legacy_Generator_Query(),
51 new Meta_Query(),
52 );
53 }
54
55 /**
56 * @param string $slug
57 *
58 * @return Option_Query_It
59 * @throws Repository_Exception
60 */
61 public function get_query( string $slug ): Option_Query_It {
62 $this->install_all();
63
64 return $this->rep_clone_item( $slug );
65 }
66
67 public function install( Option_Query_It $query ) {
68 $this->rep_install_item_soft( $query );
69 }
70
71 /**
72 * Install query types only while resolving first type
73 */
74 private function install_all() {
75 if ( $this->rep_isset_item( 'manual_input' ) ) {
76 return;
77 }
78
79 $this->rep_install();
80
81 do_action( 'jet-form-builder/option-query/on-install', $this );
82 }
83 }
84