PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 0.1.9
AI Engine – The Chatbot, AI Framework & MCP for WordPress v0.1.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 / core.php
ai-engine / classes Last commit date
admin.php 3 years ago ai.php 3 years ago answer.php 3 years ago core.php 3 years ago init.php 3 years ago query.php 3 years ago rest.php 3 years ago shortcodes.php 3 years ago ui.php 3 years ago
core.php
122 lines
1 <?php
2
3 require_once( MWAI_PATH . '/vendor/autoload.php' );
4
5 define( 'MWAI_OPTIONS', [
6 'module_titles' => true,
7 'module_excerpts' => true,
8 'module_blocks' => false,
9 'shortcode_chat' => true,
10 'shortcode_chat_style' => true,
11 'shortcode_chat_html' => true,
12 'shortcode_chat_formatting' => true,
13 'openai_apikey' => false,
14 'openai_usage' => [],
15 'extra_models' => ""
16 ]);
17
18 class Meow_MWAI_Core
19 {
20 public $admin = null;
21 public $is_rest = false;
22 public $is_cli = false;
23 public $site_url = null;
24 public $ai = null;
25 private $option_name = 'mwai_options';
26
27 public function __construct() {
28 $this->site_url = get_site_url();
29 $this->is_rest = MeowCommon_Helpers::is_rest();
30 $this->is_cli = defined( 'WP_CLI' ) && WP_CLI;
31 $this->ai = new Meow_MWAI_AI( $this );
32 add_action( 'plugins_loaded', array( $this, 'init' ) );
33 }
34
35 function init() {
36 if ( $this->is_rest ) {
37 new Meow_MWAI_Rest( $this );
38 }
39 if ( is_admin() ) {
40 new Meow_MWAI_Admin( $this );
41 new Meow_MWAI_UI( $this );
42 }
43 if ( $this->get_option( 'shortcode_chat' ) ) {
44 new Meow_MWAI_Shortcodes();
45 }
46 }
47
48 #region Helpers
49 function can_access_settings() {
50 return apply_filters( 'mwai_allow_setup', current_user_can( 'manage_options' ) );
51 }
52
53 function can_access_features() {
54 return apply_filters( 'mwai_allow_usage', current_user_can( 'administrator' ) );
55 }
56
57 function get_text_from_postId( $postId ) {
58 $post = get_post( $postId );
59 if ( !$post ) {
60 return false;
61 }
62 $post->post_content = apply_filters( 'the_content', $post->post_content );
63 $text = strip_tags( $post->post_content );
64 $text = preg_replace( '/^\h*\v+/m', '', $text );
65 $text = html_entity_decode( $text );
66 return $text;
67 }
68 #endregion
69
70 #region Options
71 function get_all_options() {
72 $options = get_option( $this->option_name, null );
73 foreach ( MWAI_OPTIONS as $key => $value ) {
74 if ( !isset( $options[$key] ) ) {
75 $options[$key] = $value;
76 }
77 }
78 return $options;
79 }
80
81 // Validate and keep the options clean and logical.
82 function sanitize_options() {
83 $options = $this->get_all_options();
84 $needs_update = false;
85
86 // We can sanitize our future options here, let's always remember it.
87 // Now, it is empty...
88
89 if ( $needs_update ) {
90 update_option( $this->option_name, $options, false );
91 }
92 return $options;
93 }
94
95 function update_options( $options ) {
96 if ( !update_option( $this->option_name, $options, false ) ) {
97 return false;
98 }
99 $options = $this->sanitize_options();
100 return $options;
101 }
102
103 function update_option( $option, $value ) {
104 $options = $this->get_all_options();
105 $options[$option] = $value;
106 return $this->update_options( $options );
107 }
108
109 function get_option( $option, $default = null ) {
110 $options = $this->get_all_options();
111 return $options[$option] ?? $default;
112 }
113 #endregion
114
115 function markdown_to_html( $content ) {
116 $Parsedown = new Parsedown();
117 $content = $Parsedown->text( $content );
118 return $content;
119 }
120 }
121
122 ?>