PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 1.3.91
AI Engine – The Chatbot, AI Framework & MCP for WordPress v1.3.91
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
193 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-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 'prefix' => MWAI_PREFIX,
169 'domain' => MWAI_DOMAIN,
170 'is_pro' => class_exists( 'MeowPro_MWAI_Core' ),
171 'is_registered' => !!$this->is_registered(),
172 'rest_nonce' => wp_create_nonce( 'wp_rest' ),
173 'session' => $this->core->get_session_id(),
174 'options' => $this->core->get_all_options(),
175 'pricing' => MWAI_OPENAI_MODELS,
176 ] );
177 }
178
179 function is_registered() {
180 return apply_filters( MWAI_PREFIX . '_meowapps_is_registered', false, MWAI_PREFIX );
181 }
182
183 function app_menu() {
184 add_submenu_page( 'meowapps-main-menu', 'AI Engine', 'AI Engine', 'manage_options',
185 'mwai_settings', array( $this, 'admin_settings' ) );
186 }
187
188 function admin_settings() {
189 echo '<div id="mwai-admin-settings"></div>';
190 }
191 }
192
193 ?>