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