PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.1.3
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.1.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 10 months ago
settings.php
151 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_tasks' => isset( $params['options']['module_tasks'] ),
57 'module_advisor' => isset( $params['options']['module_advisor'] ),
58 ] );
59 return $this->create_rest_response( [ 'success' => true ], 200 );
60 }
61 catch ( Exception $e ) {
62 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
63 }
64 }
65
66 public function rest_settings_options( $request ) {
67 try {
68 $options = $this->core->get_all_options();
69 return $this->create_rest_response( [ 'success' => true, 'options' => $options ], 200 );
70 }
71 catch ( Exception $e ) {
72 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
73 }
74 }
75
76 public function rest_settings_reset( $request ) {
77 try {
78 $options = $this->core->get_all_options( true );
79 $this->core->update_options( $options );
80 return $this->create_rest_response( [ 'success' => true, 'options' => $options ], 200 );
81 }
82 catch ( Exception $e ) {
83 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
84 }
85 }
86
87 public function rest_settings_get_chatbots( $request ) {
88 try {
89 $chatbots = $this->core->get_chatbots();
90 return $this->create_rest_response( [ 'success' => true, 'chatbots' => $chatbots ], 200 );
91 }
92 catch ( Exception $e ) {
93 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
94 }
95 }
96
97 public function rest_settings_update_chatbots( $request ) {
98 try {
99 $params = $request->get_json_params();
100 $chatbots = $params['chatbots'];
101 $this->core->update_chatbots( $chatbots );
102 $saved_chatbots = $this->core->get_chatbots();
103 return $this->create_rest_response( [ 'success' => true, 'chatbots' => $saved_chatbots ], 200 );
104 }
105 catch ( Exception $e ) {
106 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
107 }
108 }
109
110 public function rest_settings_get_themes( $request ) {
111 try {
112 $themes = $this->core->get_themes();
113 return $this->create_rest_response( [ 'success' => true, 'themes' => $themes ], 200 );
114 }
115 catch ( Exception $e ) {
116 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
117 }
118 }
119
120 public function rest_settings_update_themes( $request ) {
121 try {
122 $params = $request->get_json_params();
123 $themes = $params['themes'];
124 $this->core->update_themes( $themes );
125 return $this->create_rest_response( [ 'success' => true ], 200 );
126 }
127 catch ( Exception $e ) {
128 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
129 }
130 }
131
132 public function rest_settings_reset_usage( $request ) {
133 try {
134 // Reset the actual backend options that store usage data
135 $this->core->update_option( 'ai_usage', [] );
136 $this->core->update_option( 'ai_usage_daily', [] );
137
138 // Force refresh to get updated options to return to frontend
139 $options = $this->core->get_all_options( true );
140
141 return $this->create_rest_response( [
142 'success' => true,
143 'options' => $options
144 ], 200 );
145 }
146 catch ( Exception $e ) {
147 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
148 }
149 }
150 }
151