PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 2.1.1
JetFormBuilder — Dynamic Blocks Form Builder v2.1.1
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 / generators / get-from-je-query.php
jetformbuilder / includes / generators Last commit date
je-query-object-handlers 3 years ago base.php 3 years ago get-from-db.php 3 years ago get-from-field.php 3 years ago get-from-je-query.php 3 years ago num-range-manual.php 3 years ago num-range.php 3 years ago
get-from-je-query.php
101 lines
1 <?php
2
3 namespace Jet_Form_Builder\Generators;
4
5 use Jet_Engine\Query_Builder\Manager as Query_Manager;
6 use Jet_Form_Builder\Generators\Je_Query_Object_Handlers\Base_Object_Handler;
7 use Jet_Form_Builder\Generators\Je_Query_Object_Handlers\User_Object_Handler;
8
9 class Get_From_Je_Query extends Base {
10
11 private $object_handlers = array();
12
13 /**
14 * Returns generator ID
15 *
16 * @return string
17 */
18 public function get_id() {
19 return 'get_from_query';
20 }
21
22 /**
23 * Returns generator name
24 *
25 * @return string
26 */
27 public function get_name() {
28 return __( 'Get values list from JetEngine Query', 'jet-form-builder' );
29 }
30
31 public function can_generate() {
32 if ( ! function_exists( 'jet_engine' ) ) {
33 return false;
34 }
35
36 $this->object_handlers = apply_filters(
37 'jet-form-builder/generators/get_from_query/handlers',
38 array(
39 new User_Object_Handler(),
40 new Base_Object_Handler(),
41 )
42 );
43
44 return true;
45 }
46
47 /**
48 * Returns generated options list
49 *
50 * @param $args
51 *
52 * @return array
53 */
54 public function generate( $args ) {
55
56 $field = isset( $args['generator_field'] ) ? $args['generator_field'] : $args;
57
58 $args = explode( '|', $field );
59 $query = Query_Manager::instance()->get_query_by_id( $args[0] );
60 $result = array();
61
62 if ( ! $query ) {
63 return $result;
64 }
65
66 $query->setup_query();
67 $objects = $query->_get_items();
68
69 $handler = $this->get_handler( $objects[0] ?? array() );
70 $handler->set_fields( $args );
71
72 foreach ( $objects as $object ) {
73 $item = $handler->to_array( $object );
74
75 if ( ! empty( $item ) ) {
76 $result[] = $item;
77 }
78 }
79
80 return $result;
81
82 }
83
84 private function get_handler( $object ): Base_Object_Handler {
85 /** @var Base_Object_Handler $handler */
86 foreach ( $this->object_handlers as $handler ) {
87 if ( $handler->is_supported( $object ) ) {
88 return $handler;
89 }
90 }
91
92 wp_die(
93 sprintf(
94 __( '%s::is_supported must return TRUE', 'jet-form-builder' ),
95 Base_Object_Handler::class
96 )
97 );
98 }
99
100 }
101