PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.4.3
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.4.3
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 / rest / settings.php
ai-engine / classes / rest Last commit date
ai.php 8 months ago base.php 11 months ago settings.php 3 months ago
settings.php
158 lines
1 <?php
2
3 class Meow_MWAI_Rest_Settings extends Meow_MWAI_Rest_Base {
4 public function register_routes() {
5 register_rest_route( $this->namespace, '/settings/update', [
6 'methods' => 'POST',
7 'callback' => [ $this, 'rest_settings_update' ],
8 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
9 ] );
10 register_rest_route( $this->namespace, '/settings/options', [
11 'methods' => 'GET',
12 'callback' => [ $this, 'rest_settings_options' ],
13 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
14 ] );
15 register_rest_route( $this->namespace, '/settings/reset', [
16 'methods' => 'POST',
17 'callback' => [ $this, 'rest_settings_reset' ],
18 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
19 ] );
20 register_rest_route( $this->namespace, '/settings/chatbots', [
21 'methods' => 'GET',
22 'callback' => [ $this, 'rest_settings_get_chatbots' ],
23 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
24 ] );
25 register_rest_route( $this->namespace, '/settings/chatbots', [
26 'methods' => 'POST',
27 'callback' => [ $this, 'rest_settings_update_chatbots' ],
28 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
29 ] );
30 register_rest_route( $this->namespace, '/settings/themes', [
31 'methods' => 'GET',
32 'callback' => [ $this, 'rest_settings_get_themes' ],
33 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
34 ] );
35 register_rest_route( $this->namespace, '/settings/themes', [
36 'methods' => 'POST',
37 'callback' => [ $this, 'rest_settings_update_themes' ],
38 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
39 ] );
40 register_rest_route( $this->namespace, '/settings/reset-usage', [
41 'methods' => 'POST',
42 'callback' => [ $this, 'rest_settings_reset_usage' ],
43 'permission_callback' => [ $this->core, 'check_rest_nonce' ]
44 ] );
45 }
46
47 public function rest_settings_update( $request ) {
48 try {
49 $params = $request->get_json_params();
50 $filters_options = $params['options'];
51 $this->core->update_options( $filters_options );
52 $this->core->update_options( [
53 'module_suggestions' => isset( $params['options']['module_suggestions'] ),
54 'module_chatbots' => isset( $params['options']['module_chatbots'] ),
55 'module_search' => isset( $params['options']['module_search'] ),
56 'module_library_search' => isset( $params['options']['module_library_search'] ),
57 'module_tasks' => isset( $params['options']['module_tasks'] ),
58 'module_advisor' => isset( $params['options']['module_advisor'] ),
59 'module_assistant' => isset( $params['options']['module_assistant'] ),
60 ] );
61 if ( !empty( $filters_options['module_mcp'] ) && empty( $this->core->get_option( 'mcp_bearer_token' ) ) ) {
62 $token = bin2hex( random_bytes( 32 ) );
63 $this->core->update_options( [ 'mcp_bearer_token' => $token ] );
64 }
65 $options = $this->core->get_all_options();
66 return $this->create_rest_response( [ 'success' => true, 'options' => $options ], 200 );
67 }
68 catch ( Exception $e ) {
69 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
70 }
71 }
72
73 public function rest_settings_options( $request ) {
74 try {
75 $options = $this->core->get_all_options();
76 return $this->create_rest_response( [ 'success' => true, 'options' => $options ], 200 );
77 }
78 catch ( Exception $e ) {
79 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
80 }
81 }
82
83 public function rest_settings_reset( $request ) {
84 try {
85 $options = $this->core->get_all_options( true );
86 $this->core->update_options( $options );
87 return $this->create_rest_response( [ 'success' => true, 'options' => $options ], 200 );
88 }
89 catch ( Exception $e ) {
90 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
91 }
92 }
93
94 public function rest_settings_get_chatbots( $request ) {
95 try {
96 $chatbots = $this->core->get_chatbots();
97 return $this->create_rest_response( [ 'success' => true, 'chatbots' => $chatbots ], 200 );
98 }
99 catch ( Exception $e ) {
100 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
101 }
102 }
103
104 public function rest_settings_update_chatbots( $request ) {
105 try {
106 $params = $request->get_json_params();
107 $chatbots = $params['chatbots'];
108 $this->core->update_chatbots( $chatbots );
109 $saved_chatbots = $this->core->get_chatbots();
110 return $this->create_rest_response( [ 'success' => true, 'chatbots' => $saved_chatbots ], 200 );
111 }
112 catch ( Exception $e ) {
113 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
114 }
115 }
116
117 public function rest_settings_get_themes( $request ) {
118 try {
119 $themes = $this->core->get_themes();
120 return $this->create_rest_response( [ 'success' => true, 'themes' => $themes ], 200 );
121 }
122 catch ( Exception $e ) {
123 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
124 }
125 }
126
127 public function rest_settings_update_themes( $request ) {
128 try {
129 $params = $request->get_json_params();
130 $themes = $params['themes'];
131 $this->core->update_themes( $themes );
132 return $this->create_rest_response( [ 'success' => true ], 200 );
133 }
134 catch ( Exception $e ) {
135 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
136 }
137 }
138
139 public function rest_settings_reset_usage( $request ) {
140 try {
141 // Reset the actual backend options that store usage data
142 $this->core->update_option( 'ai_usage', [] );
143 $this->core->update_option( 'ai_usage_daily', [] );
144
145 // Force refresh to get updated options to return to frontend
146 $options = $this->core->get_all_options( true );
147
148 return $this->create_rest_response( [
149 'success' => true,
150 'options' => $options
151 ], 200 );
152 }
153 catch ( Exception $e ) {
154 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
155 }
156 }
157 }
158