PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.0.7
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.0.7
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 10 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