PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.6.94
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.6.94
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 queries 3 years ago tests 3 years ago admin.php 3 years ago api.php 3 years ago core.php 3 years ago init.php 3 years ago reply.php 3 years ago rest.php 3 years ago
admin.php
203 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 'stream' => $this->core->get_option( 'shortcode_chat_stream' ),
186 ] );
187 }
188
189 function is_registered() {
190 return apply_filters( MWAI_PREFIX . '_meowapps_is_registered', false, MWAI_PREFIX );
191 }
192
193 function app_menu() {
194 add_submenu_page( 'meowapps-main-menu', 'AI Engine', 'AI Engine', 'manage_options',
195 'mwai_settings', array( $this, 'admin_settings' ) );
196 }
197
198 function admin_settings() {
199 echo '<div id="mwai-admin-settings"></div>';
200 }
201 }
202
203 ?>