PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.4.2
JetFormBuilder — Dynamic Blocks Form Builder v3.4.2
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 / modules / ai / module.php
jetformbuilder / modules / ai Last commit date
assets 1 year ago external-api 2 years ago rest-api 2 years ago module.php 1 year ago
module.php
140 lines
1 <?php
2
3
4 namespace JFB_Modules\Ai;
5
6 // If this file is called directly, abort.
7 if ( ! defined( 'WPINC' ) ) {
8 die;
9 }
10
11 use JFB_Components\Module\Base_Module_After_Install_It;
12 use JFB_Components\Module\Base_Module_Dir_It;
13 use JFB_Components\Module\Base_Module_Dir_Trait;
14 use JFB_Components\Module\Base_Module_Handle_It;
15 use JFB_Components\Module\Base_Module_Handle_Trait;
16 use JFB_Components\Module\Base_Module_It;
17 use JFB_Components\Module\Base_Module_Url_It;
18 use JFB_Components\Module\Base_Module_Url_Trait;
19 use JFB_Modules\Ai\Rest_Api\Endpoints\Generate_Form_Endpoint;
20 use JFB_Modules\Post_Type;
21
22 class Module implements
23 Base_Module_It,
24 Base_Module_Url_It,
25 Base_Module_Handle_It,
26 Base_Module_After_Install_It,
27 Base_Module_Dir_It {
28
29 use Base_Module_Url_Trait;
30 use Base_Module_Handle_Trait;
31 use Base_Module_Dir_Trait;
32
33 public function rep_item_id() {
34 return 'ai';
35 }
36
37 public function condition(): bool {
38 return true;
39 }
40
41 public function init_hooks() {
42 add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_assets' ) );
43 add_action( 'jet-form-builder/editor-assets/before', array( $this, 'editor_enqueue_assets' ) );
44 }
45
46 public function remove_hooks() {
47 remove_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_assets' ) );
48 remove_action( 'jet-form-builder/editor-assets/before', array( $this, 'editor_enqueue_assets' ) );
49 }
50
51 public function on_install() {
52 /** @var \JFB_Modules\Rest_Api\Module $rest_api */
53 /** @noinspection PhpUnhandledExceptionInspection */
54 $rest_api = jet_form_builder()->module( 'rest-api' );
55
56 $rest_api->get_controller()->install( new Generate_Form_Endpoint() );
57 }
58
59 public function on_uninstall() {
60 /** @var \JFB_Modules\Rest_Api\Module $rest_api */
61 /** @noinspection PhpUnhandledExceptionInspection */
62 $rest_api = jet_form_builder()->module( 'rest-api' );
63
64 $rest_api->get_controller()->uninstall( new Generate_Form_Endpoint() );
65 }
66
67 public function admin_enqueue_assets() {
68 global $post_type;
69
70 if ( Post_Type\Module::SLUG !== $post_type ) {
71 return;
72 }
73
74 /** @var \JFB_Modules\Html_Parser\Module $parser_module */
75 /** @noinspection PhpUnhandledExceptionInspection */
76 $parser_module = jet_form_builder()->module( 'html-parser' );
77
78 $parser_module->register_scripts();
79
80 $script_asset = require_once $this->get_dir( 'assets/build/admin/forms.asset.php' );
81
82 if ( true === $script_asset ) {
83 return;
84 }
85
86 array_push(
87 $script_asset['dependencies'],
88 $parser_module->get_handle()
89 );
90
91 wp_enqueue_script(
92 $this->get_handle(),
93 $this->get_url( 'assets/build/admin/forms.js' ),
94 $script_asset['dependencies'],
95 $script_asset['version'],
96 true
97 );
98
99 wp_localize_script(
100 $this->get_handle(),
101 'JetFormBuilderAdmin',
102 array(
103 'edit_url' => esc_url(
104 add_query_arg(
105 array( 'action' => 'edit' ),
106 admin_url( 'post.php' )
107 )
108 ),
109 )
110 );
111 }
112
113 public function editor_enqueue_assets() {
114 $script_asset = require_once $this->get_dir( 'assets/build/editor.asset.php' );
115
116 if ( true === $script_asset ) {
117 return;
118 }
119
120 /** @var \JFB_Modules\Html_Parser\Module $parser_module */
121 /** @noinspection PhpUnhandledExceptionInspection */
122 $parser_module = jet_form_builder()->module( 'html-parser' );
123 $parser_module->register_scripts();
124
125 array_push(
126 $script_asset['dependencies'],
127 $parser_module->get_handle(),
128 'jet-fb-components'
129 );
130
131 wp_enqueue_script(
132 $this->get_handle(),
133 $this->get_url( 'assets/build/editor.js' ),
134 $script_asset['dependencies'],
135 $script_asset['version'],
136 true
137 );
138 }
139 }
140