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