PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 3.0.2
AI Engine – The Chatbot, AI Framework & MCP for WordPress v3.0.2
3.5.9 3.5.8 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 1 year ago
settings.php
150 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 return $this->create_rest_response( [ 'success' => true ], 200 );
103 }
104 catch ( Exception $e ) {
105 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
106 }
107 }
108
109 public function rest_settings_get_themes( $request ) {
110 try {
111 $themes = $this->core->get_themes();
112 return $this->create_rest_response( [ 'success' => true, 'themes' => $themes ], 200 );
113 }
114 catch ( Exception $e ) {
115 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
116 }
117 }
118
119 public function rest_settings_update_themes( $request ) {
120 try {
121 $params = $request->get_json_params();
122 $themes = $params['themes'];
123 $this->core->update_themes( $themes );
124 return $this->create_rest_response( [ 'success' => true ], 200 );
125 }
126 catch ( Exception $e ) {
127 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
128 }
129 }
130
131 public function rest_settings_reset_usage( $request ) {
132 try {
133 // Reset the actual backend options that store usage data
134 $this->core->update_option( 'ai_usage', [] );
135 $this->core->update_option( 'ai_usage_daily', [] );
136
137 // Force refresh to get updated options to return to frontend
138 $options = $this->core->get_all_options( true );
139
140 return $this->create_rest_response( [
141 'success' => true,
142 'options' => $options
143 ], 200 );
144 }
145 catch ( Exception $e ) {
146 return $this->create_rest_response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
147 }
148 }
149 }
150