PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 2.5.9
AI Engine – The Chatbot, AI Framework & MCP for WordPress v2.5.9
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 1 year ago modules 1 year ago queries 1 year ago admin.php 2 years ago api.php 1 year ago core.php 1 year ago init.php 2 years ago logging.php 1 year ago reply.php 1 year ago rest.php 1 year ago
admin.php
205 lines
1 <?php
2
3
4 class Meow_MWAI_Admin extends MeowCommon_Admin {
5 public $core;
6 public $contentGeneratorEnabled;
7 public $imagesGeneratorEnabled;
8 public $playgroundEnabled;
9 public $suggestionsEnabled;
10
11 public function __construct( $core ) {
12 $this->core = $core;
13 parent::__construct( MWAI_PREFIX, MWAI_ENTRY, MWAI_DOMAIN, class_exists( 'MeowPro_MWAI_Core' ) );
14 if ( is_admin() ) {
15 $this->contentGeneratorEnabled = $this->core->get_option( 'module_generator_content' );
16 $this->imagesGeneratorEnabled = $this->core->get_option( 'module_generator_images' );
17 $this->playgroundEnabled = $this->core->get_option( 'module_playground' );
18 $can_access_settings = $this->core->can_access_settings();
19 $can_access_features = $this->core->can_access_features();
20
21 if ( $can_access_settings || $can_access_features ) {
22 add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
23 }
24
25 if ( $can_access_settings ) {
26 add_action( 'admin_menu', array( $this, 'app_menu' ) );
27 }
28
29 if ( $can_access_features ) {
30 add_action( 'admin_menu', array( $this, 'admin_menu' ) );
31
32 // Only if the Suggestions are enabled.
33 $this->suggestionsEnabled = $this->core->get_option( 'module_suggestions' );
34 if ( $this->suggestionsEnabled ) {
35 add_filter( 'post_row_actions', [ $this, 'post_row_actions' ], 10, 2 );
36 }
37
38 add_action( 'admin_footer', [ $this, 'admin_footer' ] );
39 }
40 }
41 }
42
43 function admin_menu() {
44
45 // Generate New (under Posts)
46 if ( $this->contentGeneratorEnabled) {
47 add_submenu_page( 'edit.php', 'Generate New', 'Generate New', 'read', 'mwai_content_generator',
48 array( $this, 'ai_content_generator' ), 2 );
49 }
50
51 // In Tools
52 if ( $this->playgroundEnabled ) {
53 add_management_page( 'Playground', __( 'Playground', 'ai-engine' ), 'read',
54 'mwai_dashboard', array( $this, 'ai_playground' ) );
55 }
56 if ( $this->contentGeneratorEnabled ) {
57 add_management_page( 'Generate Content', 'Generate Content', 'read', 'mwai_content_generator',
58 array( $this, 'ai_content_generator' ) );
59 }
60 if ( $this->imagesGeneratorEnabled ) {
61 add_management_page( 'Generate Images', 'Generate Images', 'read', 'mwai_images_generator',
62 array( $this, 'ai_image_generator' ) );
63 }
64
65 // In the Admin Bar:
66 add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 100 );
67 }
68
69 function admin_bar_menu( $wp_admin_bar ) {
70
71 $admin_bar = $this->core->get_option( 'admin_bar' );
72 $settings = isset( $admin_bar['settings'] ) && $admin_bar['settings'];
73 $playground = isset( $admin_bar['playground'] ) && $admin_bar['playground'];
74 $content_generator = isset( $admin_bar['content_generator'] ) && $admin_bar['content_generator'];
75 $images_generator = isset( $admin_bar['images_generator'] ) && $admin_bar['images_generator'];
76
77 if ( $settings ) {
78 $wp_admin_bar->add_node( array(
79 'id' => 'mwai-settings',
80 'title' => '<span class="ab-icon dashicons-before dashicons-admin-settings" style="top: 2px;"></span>' . __( 'AI Engine', 'ai-engine' ),
81 'href' => admin_url( 'admin.php?page=mwai_settings' ),
82 'meta' => array( 'class' => 'mwai-settings' ),
83 ) );
84 }
85
86 if ( $content_generator ) {
87 $wp_admin_bar->add_node( array(
88 'id' => 'mwai-content-generator',
89 'title' => MWAI_IMG_WAND_HTML . __( 'Content', 'ai-engine' ),
90 'href' => admin_url( 'tools.php?page=mwai_content_generator' ),
91 'meta' => array( 'class' => 'mwai-content-generator' ),
92 ) );
93 }
94 if ( $images_generator ) {
95 $wp_admin_bar->add_node( array(
96 'id' => 'mwai-image-generator',
97 'title' => MWAI_IMG_WAND_HTML . __( 'Images', 'ai-engine' ),
98 'href' => admin_url( 'tools.php?page=mwai_images_generator' ),
99 'meta' => array( 'class' => 'mwai-images-generator' ),
100 ) );
101 }
102
103 // The Global Magic Wand
104 // if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
105 // $wp_admin_bar->add_node( array(
106 // 'id' => 'mwai-debug',
107 // 'title' => MWAI_IMG_WAND_HTML . __( 'Magic Wand', 'ai-engine' ),
108 // //'href' => admin_url( 'tools.php?page=mwai_debug' ),
109 // 'meta' => array( 'class' => 'mwai-debug' ),
110 // ) );
111 // }
112
113 if ( $playground ) {
114 $wp_admin_bar->add_node( array(
115 'id' => 'mwai-playground',
116 'title' => MWAI_IMG_WAND_HTML . __( 'Playground', 'ai-engine' ),
117 'href' => admin_url( 'tools.php?page=mwai_dashboard' ),
118 'meta' => array( 'class' => 'mwai-playground' ),
119 ) );
120 }
121 }
122
123 public function ai_playground() {
124 echo '<div id="mwai-playground"></div>';
125 }
126
127 public function ai_content_generator() {
128 echo '<div id="mwai-content-generator"></div>';
129 }
130
131 public function ai_image_generator() {
132 echo '<div id="mwai-image-generator"></div>';
133 }
134
135 function post_row_actions( $actions, $post ) {
136 //if ( $post->post_type === 'post' ) {
137 $actions['ai_titles'] = '<a class="mwai-link-title" href="#" data-id="' .
138 $post->ID . '" data-title="' . $post->post_title . '">
139 ' . MWAI_IMG_WAND_HTML_XS . ' Title</a>';
140 $actions['ai_excerpts'] = '<a class="mwai-link-excerpt" href="#" data-id="' .
141 $post->ID . '" data-title="' . $post->post_title . '">
142 ' . MWAI_IMG_WAND_HTML_XS . ' Excerpt</a>';
143 //}
144 return $actions;
145 }
146
147 function admin_footer() {
148 echo '<div id="mwai-admin-postsList"></div>';
149 }
150
151 function admin_enqueue_scripts() {
152 $physical_file = MWAI_PATH . '/app/index.js';
153 $cache_buster = file_exists( $physical_file ) ? filemtime( $physical_file ) : MWAI_VERSION;
154 wp_register_script( 'mwai-vendor', MWAI_URL . 'app/vendor.js', null, $cache_buster );
155 wp_register_script( 'mwai', MWAI_URL . 'app/index.js', [ 'mwai-vendor',
156 'wp-element', 'wp-components', 'wp-edit-post', 'wp-plugins', 'wp-i18n'
157 ], $cache_buster );
158 wp_enqueue_script( 'mwai' );
159
160 // The MD5 of the translation file built by WP uses app/i18n.js instead of app/index.js
161 add_filter( 'load_script_translation_file', function( $file, $handle, $domain ) {
162 if ( $domain !== 'ai-engine' ) { return $file; }
163 $file = str_replace( md5( 'app/index.js' ), md5( 'app/i18n.js' ), $file );
164 return $file;
165 }, 10, 3 );
166
167 // This is useless for AI Engine, but it avoids issues when themes and plugin calls
168 // wp_enqueue_media too late (usually, they call it in the footer). Until someone
169 // figures out what the issue is, let's load it here.
170 wp_enqueue_media();
171
172 wp_set_script_translations( 'mwai', 'ai-engine' );
173 wp_localize_script( 'mwai', 'mwai', [
174 'api_url' => get_rest_url( null, 'mwai/v1' ),
175 'rest_url' => get_rest_url(),
176 'plugin_url' => MWAI_URL,
177 'user_data' => $this->core->get_user_data(),
178 'prefix' => MWAI_PREFIX,
179 'domain' => MWAI_DOMAIN,
180 'is_pro' => class_exists( 'MeowPro_MWAI_Core' ),
181 'is_registered' => !!$this->is_registered(),
182 'rest_nonce' => wp_create_nonce( 'wp_rest' ),
183 'session' => $this->core->get_session_id(),
184 'options' => $this->core->get_all_options(),
185 'chatbots' => $this->core->get_chatbots(),
186 'themes' => $this->core->get_themes(),
187 'stream' => $this->core->get_option( 'ai_streaming' ),
188 ] );
189 }
190
191 function is_registered() {
192 return apply_filters( MWAI_PREFIX . '_meowapps_is_registered', false, MWAI_PREFIX );
193 }
194
195 function app_menu() {
196 add_submenu_page( 'meowapps-main-menu', 'AI Engine', 'AI Engine', 'manage_options',
197 'mwai_settings', array( $this, 'admin_settings' ) );
198 }
199
200 function admin_settings() {
201 echo '<div id="mwai-admin-settings"></div>';
202 }
203 }
204
205 ?>