PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.6.78
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.6.78
3.5.7 3.5.6 3.5.5 3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.4.9 3.4.8 3.4.7 0.2.1 1.6.91 0.2.2 1.6.92 0.2.3 1.6.93 0.2.4 1.6.94 0.2.5 1.6.95 0.2.6 1.6.96 0.2.7 1.6.97 0.2.8 1.6.98 0.2.9 1.6.99 0.3.0 1.7.0 0.3.1 1.7.1 0.3.2 1.7.2 0.3.3 1.7.3 0.3.4 1.7.4 0.3.5 1.7.5 0.3.6 1.7.6 0.4.0 1.7.7 0.4.1 1.7.8 0.4.2 1.7.9 0.4.3 1.8.0 0.4.4 1.8.1 0.4.5 1.8.2 0.4.6 1.8.3 0.4.7 1.8.4 0.4.8 1.8.5 0.4.9 1.8.6 0.5.0 1.8.7 0.5.1 1.8.8 0.5.2 1.8.9 0.5.3 1.9.0 0.5.4 1.9.1 0.5.5 1.9.2 0.5.6 1.9.3 0.5.7 1.9.4 0.5.8 1.9.5 0.5.9 1.9.6 0.6.0 1.9.7 0.6.1 1.9.8 0.6.2 1.9.81 0.6.3 1.9.82 0.6.4 1.9.83 0.6.5 1.9.84 0.6.6 1.9.85 0.6.7 1.9.86 0.6.8 1.9.87 0.6.9 1.9.88 0.7.0 1.9.89 0.7.1 1.9.90 0.7.2 1.9.91 0.7.3 1.9.92 0.7.4 1.9.93 0.7.5 1.9.94 0.7.6 1.9.95 0.7.7 1.9.96 0.7.8 1.9.97 0.7.9 1.9.98 0.8.0 1.9.99 0.8.1 2.0.0 0.8.2 2.0.1 0.8.3 2.0.2 0.8.4 2.0.3 0.8.5 2.0.4 0.8.6 2.0.5 0.8.7 2.0.6 0.8.8 2.0.7 0.8.9 2.0.8 0.9.0 2.0.9 0.9.2 2.1.0 0.9.3 2.1.1 0.9.4 2.1.2 0.9.5 2.1.3 0.9.6 2.1.4 0.9.7 2.1.5 0.9.8 2.1.6 0.9.81 2.1.7 0.9.82 2.1.8 0.9.83 2.1.9 0.9.84 2.2.0 0.9.85 2.2.1 0.9.86 2.2.2 0.9.87 2.2.3 0.9.88 2.2.4 0.9.89 2.2.5 0.9.9 2.2.51 0.9.91 2.2.52 0.9.92 2.2.53 0.9.93 2.2.54 0.9.94 2.2.56 0.9.95 2.2.57 0.9.96 2.2.6 0.9.97 2.2.60 0.9.98 2.2.61 0.9.99 2.2.62 1.0.0 2.2.63 1.0.01 2.2.70 1.0.1 2.2.80 1.0.2 2.2.81 1.0.3 2.2.90 1.0.4 2.2.91 1.0.5 2.2.92 1.0.6 2.2.93 1.0.7 2.2.94 1.0.8 2.2.95 1.0.9 2.3.0 1.1.0 2.3.1 1.1.1 2.3.2 1.1.2 2.3.3 1.1.3 2.3.4 1.1.4 2.3.5 1.1.5 2.3.6 1.1.6 2.3.7 1.1.7 2.3.8 1.1.8 2.3.9 1.1.9 2.4.0 1.2.0 2.4.1 1.2.1 2.4.2 1.2.2 2.4.3 1.2.21 2.4.4 1.2.3 2.4.5 1.2.30 2.4.6 1.3.0 2.4.7 1.3.1 2.4.8 1.3.2 2.4.9 1.3.3 2.5.0 1.3.31 2.5.1 1.3.32 2.5.2 1.3.33 2.5.3 1.3.34 2.5.4 1.3.35 2.5.5 1.3.36 2.5.6 1.3.37 2.5.7 1.3.38 2.5.8 1.3.39 2.5.9 1.3.40 2.6.0 1.3.41 2.6.1 1.3.42 2.6.2 1.3.43 2.6.3 1.3.44 2.6.5 1.3.45 2.6.6 1.3.46 2.6.7 1.3.47 2.6.8 1.3.48 2.6.9 1.3.49 2.7.0 1.3.50 2.7.1 1.3.51 2.7.2 1.3.52 2.7.3 1.3.53 2.7.4 1.3.54 2.7.5 1.3.56 2.7.6 1.3.57 2.7.7 1.3.58 2.7.8 1.3.59 2.7.9 1.3.60 2.8.0 1.3.61 2.8.1 1.3.62 2.8.2 1.3.63 2.8.3 1.3.64 2.8.4 1.3.65 2.8.5 1.3.66 2.8.6 1.3.67 2.8.7 1.3.68 2.8.8 1.3.69 2.8.9 1.3.70 2.9.0 1.3.71 2.9.1 1.3.72 2.9.2 1.3.73 2.9.3 1.3.74 2.9.4 1.3.75 2.9.5 1.3.76 2.9.6 1.3.77 2.9.7 1.3.78 2.9.8 1.3.79 2.9.9 1.3.80 3.0.0 1.3.81 3.0.1 1.3.82 3.0.2 1.3.83 3.0.3 1.3.84 3.0.4 1.3.85 3.0.5 1.3.86 3.0.6 1.3.87 3.0.7 1.3.88 3.0.8 1.3.89 3.0.9 1.3.90 3.1.0 1.3.91 3.1.1 1.3.92 3.1.2 1.3.93 3.1.3 1.3.94 3.1.4 1.3.95 3.1.5 1.3.96 3.1.6 1.3.97 3.1.7 1.3.98 3.1.8 1.3.99 3.1.9 1.4.0 3.2.0 1.4.1 3.2.1 1.4.2 3.2.2 1.4.3 3.2.3 1.4.4 3.2.4 1.4.5 3.2.5 1.4.6 3.2.6 1.4.7 3.2.7 1.4.8 3.2.8 1.4.9 3.2.9 1.5.0 3.3.0 1.5.1 3.3.1 1.5.2 3.3.2 1.5.3 3.3.3 1.5.4 3.3.4 1.5.5 3.3.5 1.5.6 3.3.6 1.5.7 3.3.7 1.5.8 3.3.8 1.5.9 3.3.9 1.6.0 3.4.0 1.6.1 3.4.1 1.6.2 3.4.2 1.6.3 3.4.3 1.6.5 3.4.4 1.6.51 3.4.5 1.6.52 3.4.6 1.6.53 1.6.54 1.6.55 1.6.56 1.6.57 1.6.58 1.6.59 1.6.60 1.6.61 1.6.62 1.6.63 1.6.64 1.6.65 1.6.66 1.6.67 1.6.68 trunk 1.6.69 0.0.1 1.6.70 0.0.2 1.6.71 0.0.3 1.6.72 0.0.4 1.6.73 0.0.5 1.6.74 0.0.6 1.6.75 0.0.7 1.6.76 0.0.8 1.6.77 0.0.9 1.6.78 0.1.0 1.6.79 0.1.1 1.6.81 0.1.2 1.6.82 0.1.3 1.6.83 0.1.4 1.6.84 0.1.5 1.6.85 0.1.6 1.6.86 0.1.7 1.6.87 0.1.8 1.6.88 0.1.9 1.6.89 0.2.0 1.6.90
ai-engine / classes / admin.php
ai-engine / classes Last commit date
engines 3 years ago modules 3 years ago admin.php 3 years ago api.php 3 years ago core.php 3 years ago init.php 3 years ago query.php 3 years ago queryembed.php 3 years ago queryimage.php 3 years ago querytext.php 3 years ago querytranscribe.php 3 years ago reply.php 3 years ago rest.php 3 years ago
admin.php
202 lines
1 <?php
2
3
4 class Meow_MWAI_Admin extends MeowCommon_Admin {
5
6 public $core;
7
8 public $contentGeneratorEnabled;
9 public $imagesGeneratorEnabled;
10 public $playgroundEnabled;
11 public $suggestionsEnabled;
12
13 public function __construct( $core ) {
14 $this->core = $core;
15 parent::__construct( MWAI_PREFIX, MWAI_ENTRY, MWAI_DOMAIN, class_exists( 'MeowPro_MWAI_Core' ) );
16 if ( is_admin() ) {
17
18 $this->contentGeneratorEnabled = $this->core->get_option( 'module_generator_content' );
19 $this->imagesGeneratorEnabled = $this->core->get_option( 'module_generator_images' );
20 $this->playgroundEnabled = $this->core->get_option( 'module_playground' );
21 if ( $this->core->can_access_settings() ) {
22 add_action( 'admin_menu', array( $this, 'app_menu' ) );
23 }
24
25 if ( $this->core->can_access_features() ) {
26 add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
27 add_action( 'admin_menu', array( $this, 'admin_menu' ) );
28
29 // Only if the Suggestions are enabled.
30 $this->suggestionsEnabled = $this->core->get_option( 'module_suggestions' );
31 if ( $this->suggestionsEnabled ) {
32 add_filter( 'post_row_actions', [ $this, 'post_row_actions' ], 10, 2 );
33 }
34
35 add_action( 'admin_footer', [ $this, 'admin_footer' ] );
36 }
37 }
38 }
39
40 function admin_menu() {
41
42 // Generate New (under Posts)
43 if ( $this->contentGeneratorEnabled) {
44 add_submenu_page( 'edit.php', 'Generate New', 'Generate New', 'read', 'mwai_content_generator',
45 array( $this, 'ai_content_generator' ), 2 );
46 }
47
48 // In Tools
49 if ( $this->playgroundEnabled ) {
50 add_management_page( 'Playground', __( 'Playground', 'ai-engine' ), 'read',
51 'mwai_dashboard', array( $this, 'ai_playground' ) );
52 }
53 if ( $this->contentGeneratorEnabled ) {
54 add_management_page( 'Generate Content', 'Generate Content', 'read', 'mwai_content_generator',
55 array( $this, 'ai_content_generator' ) );
56 }
57 if ( $this->imagesGeneratorEnabled ) {
58 add_management_page( 'Generate Images', 'Generate Images', 'read', 'mwai_images_generator',
59 array( $this, 'ai_image_generator' ) );
60 }
61
62 // In the Admin Bar:
63 add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 100 );
64 }
65
66 function admin_bar_menu( $wp_admin_bar ) {
67
68 $admin_bar = $this->core->get_option( 'admin_bar' );
69 $settings = isset( $admin_bar['settings'] ) && $admin_bar['settings'];
70 $playground = isset( $admin_bar['playground'] ) && $admin_bar['playground'];
71 $content_generator = isset( $admin_bar['content_generator'] ) && $admin_bar['content_generator'];
72 $images_generator = isset( $admin_bar['images_generator'] ) && $admin_bar['images_generator'];
73
74 if ( $settings ) {
75 $wp_admin_bar->add_node( array(
76 'id' => 'mwai-settings',
77 'title' => '<span class="ab-icon dashicons-before dashicons-admin-settings" style="top: 2px;"></span>' . __( 'AI Engine', 'ai-engine' ),
78 'href' => admin_url( 'admin.php?page=mwai_settings' ),
79 'meta' => array( 'class' => 'mwai-settings' ),
80 ) );
81 }
82
83 if ( $content_generator ) {
84 $wp_admin_bar->add_node( array(
85 'id' => 'mwai-content-generator',
86 'title' => MWAI_IMG_WAND_HTML . __( 'Content', 'ai-engine' ),
87 'href' => admin_url( 'tools.php?page=mwai_content_generator' ),
88 'meta' => array( 'class' => 'mwai-content-generator' ),
89 ) );
90 }
91 if ( $images_generator ) {
92 $wp_admin_bar->add_node( array(
93 'id' => 'mwai-image-generator',
94 'title' => MWAI_IMG_WAND_HTML . __( 'Images', 'ai-engine' ),
95 'href' => admin_url( 'tools.php?page=mwai_images_generator' ),
96 'meta' => array( 'class' => 'mwai-images-generator' ),
97 ) );
98 }
99
100 // The Global Magic Wand
101 // if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
102 // $wp_admin_bar->add_node( array(
103 // 'id' => 'mwai-debug',
104 // 'title' => MWAI_IMG_WAND_HTML . __( 'Magic Wand', 'ai-engine' ),
105 // //'href' => admin_url( 'tools.php?page=mwai_debug' ),
106 // 'meta' => array( 'class' => 'mwai-debug' ),
107 // ) );
108 // }
109
110 if ( $playground ) {
111 $wp_admin_bar->add_node( array(
112 'id' => 'mwai-playground',
113 'title' => MWAI_IMG_WAND_HTML . __( 'Playground', 'ai-engine' ),
114 'href' => admin_url( 'tools.php?page=mwai_dashboard' ),
115 'meta' => array( 'class' => 'mwai-playground' ),
116 ) );
117 }
118 }
119
120 public function ai_playground() {
121 echo '<div id="mwai-playground"></div>';
122 }
123
124 public function ai_content_generator() {
125 echo '<div id="mwai-content-generator"></div>';
126 }
127
128 public function ai_image_generator() {
129 echo '<div id="mwai-image-generator"></div>';
130 }
131
132 function post_row_actions( $actions, $post ) {
133 //if ( $post->post_type === 'post' ) {
134 $actions['ai_titles'] = '<a class="mwai-link-title" href="#" data-id="' .
135 $post->ID . '" data-title="' . $post->post_title . '">
136 ' . MWAI_IMG_WAND_HTML_XS . ' Title</a>';
137 $actions['ai_excerpts'] = '<a class="mwai-link-excerpt" href="#" data-id="' .
138 $post->ID . '" data-title="' . $post->post_title . '">
139 ' . MWAI_IMG_WAND_HTML_XS . ' Excerpt</a>';
140 //}
141 return $actions;
142 }
143
144 function admin_footer() {
145 echo '<div id="mwai-admin-postsList"></div>';
146 }
147
148 function admin_enqueue_scripts() {
149 $physical_file = MWAI_PATH . '/app/index.js';
150 $cache_buster = file_exists( $physical_file ) ? filemtime( $physical_file ) : MWAI_VERSION;
151 wp_register_script( 'mwai-vendor', MWAI_URL . 'app/vendor.js', null, $cache_buster );
152 wp_register_script( 'mwai', MWAI_URL . 'app/index.js', [ 'mwai-vendor',
153 'wp-element', 'wp-components', 'wp-edit-post', 'wp-plugins', 'wp-i18n'
154 ], $cache_buster );
155 wp_enqueue_script( 'mwai' );
156
157 // The MD5 of the translation file built by WP uses app/i18n.js instead of app/index.js
158 add_filter( 'load_script_translation_file', function( $file, $handle, $domain ) {
159 if ( $domain !== 'ai-engine' ) { return $file; }
160 $file = str_replace( md5( 'app/index.js' ), md5( 'app/i18n.js' ), $file );
161 return $file;
162 }, 10, 3 );
163
164 // This is useless for AI Engine, but it avoids issues when themes and plugin calls
165 // wp_enqueue_media too late (usually, they call it in the footer). Until someone
166 // figures out what the issue is, let's load it here.
167 wp_enqueue_media();
168
169 wp_set_script_translations( 'mwai', 'ai-engine' );
170 wp_localize_script( 'mwai', 'mwai', [
171 'api_url' => rest_url( 'mwai/v1' ),
172 'rest_url' => rest_url(),
173 'plugin_url' => MWAI_URL,
174 'user_data' => $this->core->getUserData(),
175 'prefix' => MWAI_PREFIX,
176 'domain' => MWAI_DOMAIN,
177 'is_pro' => class_exists( 'MeowPro_MWAI_Core' ),
178 'is_registered' => !!$this->is_registered(),
179 'rest_nonce' => wp_create_nonce( 'wp_rest' ),
180 'session' => $this->core->get_session_id(),
181 'options' => $this->core->get_all_options(),
182 'pricing' => MWAI_OPENAI_MODELS,
183 'chatbots' => $this->core->getChatbots(),
184 'themes' => $this->core->getThemes(),
185 ] );
186 }
187
188 function is_registered() {
189 return apply_filters( MWAI_PREFIX . '_meowapps_is_registered', false, MWAI_PREFIX );
190 }
191
192 function app_menu() {
193 add_submenu_page( 'meowapps-main-menu', 'AI Engine', 'AI Engine', 'manage_options',
194 'mwai_settings', array( $this, 'admin_settings' ) );
195 }
196
197 function admin_settings() {
198 echo '<div id="mwai-admin-settings"></div>';
199 }
200 }
201
202 ?>