PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 2.9.9
AI Engine – The Chatbot, AI Framework & MCP for WordPress v2.9.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 / common / rest.php
ai-engine / common Last commit date
admin.php 1 year ago helpers.php 1 year ago issues.php 1 year ago news.php 11 months ago ratings.php 1 year ago releases.txt 2 years ago rest.php 1 year ago
rest.php
136 lines
1 <?php
2
3 class MeowCommon_Rest {
4 private $namespace = 'meow-common/v1';
5 public static $instance = null;
6
7 public static function init_once() {
8 if ( !MeowCommon_Rest::$instance ) {
9 MeowCommon_Rest::$instance = new self();
10 }
11 }
12
13 private function __construct() {
14 add_action( 'rest_api_init', [ $this, 'rest_api_init' ] );
15 }
16
17 public function rest_api_init() {
18 if ( !current_user_can( 'manage_options' ) ) {
19 return;
20 }
21 register_rest_route( $this->namespace, '/empty_request/', [
22 'methods' => 'POST',
23 'permission_callback' => function () {
24 return current_user_can( 'manage_options' );
25 },
26 'callback' => [ $this, 'empty_request' ]
27 ] );
28 register_rest_route( $this->namespace, '/file_operation/', [
29 'methods' => 'POST',
30 'permission_callback' => function () {
31 return current_user_can( 'manage_options' );
32 },
33 'callback' => [ $this, 'file_operation' ]
34 ] );
35 register_rest_route( $this->namespace, '/sql_request/', [
36 'methods' => 'POST',
37 'permission_callback' => function () {
38 return current_user_can( 'manage_options' );
39 },
40 'callback' => [ $this, 'sql_request' ]
41 ] );
42 register_rest_route( $this->namespace, '/error_logs/', [
43 'methods' => 'POST',
44 'permission_callback' => function () {
45 $ok = current_user_can( 'manage_options' );
46 return $ok;
47 },
48 'callback' => [ $this, 'rest_error_logs' ]
49 ] );
50 register_rest_route( $this->namespace, '/all_settings/', [
51 'methods' => 'POST',
52 'permission_callback' => function () {
53 $ok = current_user_can( 'manage_options' );
54 return $ok;
55 },
56 'callback' => [ $this, 'rest_all_settings' ]
57 ] );
58 register_rest_route( $this->namespace, '/update_option/', [
59 'methods' => 'POST',
60 'permission_callback' => function () {
61 $ok = current_user_can( 'manage_options' );
62 return $ok;
63 },
64 'callback' => [ $this, 'rest_update_option' ]
65 ] );
66 }
67
68 public function file_rand( $filesize ) {
69 $tmp_file = tmpfile();
70 fseek( $tmp_file, $filesize - 1, SEEK_CUR );
71 fwrite( $tmp_file, 'a' );
72 fclose( $tmp_file );
73 }
74
75 public function empty_request() {
76 return new WP_REST_Response( [ 'success' => true ], 200 );
77 }
78
79 public function file_operation() {
80 $this->file_rand( 1024 * 10 );
81 return new WP_REST_Response( [ 'success' => true ], 200 );
82 }
83
84 public function sql_request() {
85 global $wpdb;
86 $count = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->posts}" );
87 return new WP_REST_Response( [ 'success' => true, 'data' => $count ], 200 );
88 }
89
90 // List all the options with their default values.
91 public function list_options() {
92 return [
93 'meowapps_hide_meowapps' => false,
94 'force_sslverify' => false
95 ];
96 }
97
98 public function get_all_options() {
99 $options = $this->list_options();
100 $current_options = [];
101 foreach ( $options as $option => $default ) {
102 $current_options[$option] = get_option( $option, $default );
103 }
104 return $current_options;
105 }
106
107 public function rest_all_settings() {
108 return new WP_REST_Response( [ 'success' => true, 'data' => $this->get_all_options() ], 200 );
109 }
110
111 public function rest_update_option( $request ) {
112 $params = $request->get_json_params();
113 try {
114 $name = $params['name'];
115 $options = $this->list_options();
116 if ( !array_key_exists( $name, $options ) ) {
117 return new WP_REST_Response( [ 'success' => false, 'message' => 'This option does not exist.' ], 200 );
118 }
119 $value = is_bool( $params['value'] ) ? ( $params['value'] ? '1' : '' ) : $params['value'];
120 $success = update_option( $name, $value );
121 if ( !$success ) {
122 return new WP_REST_Response( [ 'success' => false, 'message' => 'Could not update option.' ], 200 );
123 }
124 return new WP_REST_Response( [ 'success' => true, 'data' => $value ], 200 );
125 }
126 catch ( Exception $e ) {
127 return new WP_REST_Response( [ 'success' => false, 'message' => $e->getMessage() ], 500 );
128 }
129 }
130
131 public function rest_error_logs( $request ) {
132 return new WP_REST_Response( [ 'success' => true, 'data' => MeowCommon_Helpers::php_error_logs() ], 200 );
133 }
134
135 }
136