PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.3.89
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.3.89
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
modules 3 years ago admin.php 3 years ago ai.php 3 years ago answer.php 3 years ago api.php 3 years ago core.php 3 years ago init.php 3 years ago openai.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 rest.php 3 years ago ui.php 3 years ago
admin.php
197 lines
1 <?php
2
3 define( 'MWAI_IMG_WAND', MWAI_URL . '/images/wand.png' );
4 class Meow_MWAI_Admin extends MeowCommon_Admin {
5
6 public $core;
7 private $imgWand = null;
8
9 public $contentGeneratorEnabled;
10 public $imagesGeneratorEnabled;
11 public $playgroundEnabled;
12 public $suggestionsEnabled;
13
14 public function __construct( $core ) {
15 $this->core = $core;
16 parent::__construct( MWAI_PREFIX, MWAI_ENTRY, MWAI_DOMAIN, class_exists( 'MeowPro_MWAI_Core' ) );
17 if ( is_admin() ) {
18
19 $this->imgWand = "<img style='height: 22px; margin-bottom: -5px; margin-right: 10px;'
20 src='" . MWAI_IMG_WAND . "' alt='AI Engine' />";
21
22 $this->contentGeneratorEnabled = $this->core->get_option( 'module_generator_content' );
23 $this->imagesGeneratorEnabled = $this->core->get_option( 'module_generator_images' );
24 $this->playgroundEnabled = $this->core->get_option( 'module_playground' );
25 if ( $this->core->can_access_settings() ) {
26 add_action( 'admin_menu', array( $this, 'app_menu' ) );
27 }
28
29 if ( $this->core->can_access_features() ) {
30 add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
31 add_action( 'admin_menu', array( $this, 'admin_menu' ) );
32
33 // Only if the Suggestions are enabled.
34 $this->suggestionsEnabled = $this->core->get_option( 'module_suggestions' );
35 if ( $this->suggestionsEnabled ) {
36 add_filter( 'post_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' => $this->imgWand . __( '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' => $this->imgWand . __( 'Images', 'ai-engine' ),
99 'href' => admin_url( 'tools.php?page=mwai_images_generator' ),
100 'meta' => array( 'class' => 'mwai-images-generator' ),
101 ) );
102 }
103
104 // If it's WP_DEBUG then let's add a menu
105 if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
106 $wp_admin_bar->add_node( array(
107 'id' => 'mwai-debug',
108 'title' => $this->imgWand . __( 'Magic Wand', 'ai-engine' ),
109 //'href' => admin_url( 'tools.php?page=mwai_debug' ),
110 'meta' => array( 'class' => 'mwai-debug' ),
111 ) );
112 }
113 if ( $playground ) {
114 $wp_admin_bar->add_node( array(
115 'id' => 'mwai-playground',
116 'title' => $this->imgWand . __( '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 <span class="dashicons dashicons-update"></span> Suggest Titles</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',
152 ['wp-element', 'wp-i18n'], $cache_buster
153 );
154 wp_register_script( 'mwai', MWAI_URL . 'app/index.js',
155 ['mwai-vendor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-edit-post',
156 'wp-editor', 'wp-element', 'wp-i18n', 'wp-plugins'], $cache_buster
157 );
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 wp_set_script_translations( 'mwai', 'ai-engine' );
168 wp_localize_script( 'mwai', 'mwai', [
169 'api_url' => rest_url( 'ai-engine/v1' ),
170 'rest_url' => rest_url(),
171 'plugin_url' => MWAI_URL,
172 'prefix' => MWAI_PREFIX,
173 'domain' => MWAI_DOMAIN,
174 'is_pro' => class_exists( 'MeowPro_MWAI_Core' ),
175 'is_registered' => !!$this->is_registered(),
176 'rest_nonce' => wp_create_nonce( 'wp_rest' ),
177 'session' => $this->core->get_session_id(),
178 'options' => $this->core->get_all_options(),
179 'pricing' => MWAI_OPENAI_MODELS,
180 ] );
181 }
182
183 function is_registered() {
184 return apply_filters( MWAI_PREFIX . '_meowapps_is_registered', false, MWAI_PREFIX );
185 }
186
187 function app_menu() {
188 add_submenu_page( 'meowapps-main-menu', 'AI Engine', 'AI Engine', 'manage_options',
189 'mwai_settings', array( $this, 'admin_settings' ) );
190 }
191
192 function admin_settings() {
193 echo '<div id="mwai-admin-settings"></div>';
194 }
195 }
196
197 ?>