PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.4.2
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.4.2
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 security.php 3 years ago
admin.php
196 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 // If it's WP_DEBUG then let's add a menu
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 if ( $playground ) {
110 $wp_admin_bar->add_node( array(
111 'id' => 'mwai-playground',
112 'title' => MWAI_IMG_WAND_HTML . __( 'Playground', 'ai-engine' ),
113 'href' => admin_url( 'tools.php?page=mwai_dashboard' ),
114 'meta' => array( 'class' => 'mwai-playground' ),
115 ) );
116 }
117 }
118
119 public function ai_playground() {
120 echo '<div id="mwai-playground"></div>';
121 }
122
123 public function ai_content_generator() {
124 echo '<div id="mwai-content-generator"></div>';
125 }
126
127 public function ai_image_generator() {
128 echo '<div id="mwai-image-generator"></div>';
129 }
130
131 function post_row_actions( $actions, $post ) {
132 //if ( $post->post_type === 'post' ) {
133 $actions['ai_titles'] = '<a class="mwai-link-title" href="#" data-id="' .
134 $post->ID . '" data-title="' . $post->post_title . '">
135 ' . MWAI_IMG_WAND_HTML_XS . ' Title</a>';
136 $actions['ai_excerpts'] = '<a class="mwai-link-excerpt" href="#" data-id="' .
137 $post->ID . '" data-title="' . $post->post_title . '">
138 ' . MWAI_IMG_WAND_HTML_XS . ' Excerpt</a>';
139 //}
140 return $actions;
141 }
142
143 function admin_footer() {
144 echo '<div id="mwai-admin-postsList"></div>';
145 }
146
147 function admin_enqueue_scripts() {
148 $physical_file = MWAI_PATH . '/app/index.js';
149 $cache_buster = file_exists( $physical_file ) ? filemtime( $physical_file ) : MWAI_VERSION;
150 wp_register_script( 'mwai-vendor', MWAI_URL . 'app/vendor.js', null, $cache_buster );
151 wp_register_script( 'mwai', MWAI_URL . 'app/index.js', [ 'mwai-vendor',
152 'wp-element', 'wp-components', 'wp-edit-post', 'wp-plugins', 'wp-i18n'
153 ], $cache_buster );
154 wp_enqueue_script( 'mwai' );
155
156 // The MD5 of the translation file built by WP uses app/i18n.js instead of app/index.js
157 add_filter( 'load_script_translation_file', function( $file, $handle, $domain ) {
158 if ( $domain !== 'ai-engine' ) { return $file; }
159 $file = str_replace( md5( 'app/index.js' ), md5( 'app/i18n.js' ), $file );
160 return $file;
161 }, 10, 3 );
162
163 wp_set_script_translations( 'mwai', 'ai-engine' );
164 wp_localize_script( 'mwai', 'mwai', [
165 'api_url' => rest_url( 'ai-engine/v1' ),
166 'rest_url' => rest_url(),
167 'plugin_url' => MWAI_URL,
168 'user_data' => $this->core->getUserData(),
169 'prefix' => MWAI_PREFIX,
170 'domain' => MWAI_DOMAIN,
171 'is_pro' => class_exists( 'MeowPro_MWAI_Core' ),
172 'is_registered' => !!$this->is_registered(),
173 'rest_nonce' => wp_create_nonce( 'wp_rest' ),
174 'session' => $this->core->get_session_id(),
175 'options' => $this->core->get_all_options(),
176 'pricing' => MWAI_OPENAI_MODELS,
177 'chatbots' => $this->core->getChatbots(),
178 'themes' => $this->core->getThemes(),
179 ] );
180 }
181
182 function is_registered() {
183 return apply_filters( MWAI_PREFIX . '_meowapps_is_registered', false, MWAI_PREFIX );
184 }
185
186 function app_menu() {
187 add_submenu_page( 'meowapps-main-menu', 'AI Engine', 'AI Engine', 'manage_options',
188 'mwai_settings', array( $this, 'admin_settings' ) );
189 }
190
191 function admin_settings() {
192 echo '<div id="mwai-admin-settings"></div>';
193 }
194 }
195
196 ?>