116 lines
3.0 KiB
PHP
116 lines
3.0 KiB
PHP
<?php
|
|
add_action( 'rest_api_init', 'register_api_client' );
|
|
function register_api_client() {
|
|
register_rest_route('client/v1', 'streamdelay', [
|
|
'methods' => 'POST',
|
|
'callback' => 'streamdelay',
|
|
'args' => array(
|
|
'delay' => array(
|
|
'validate_callback' => 'validate_numeric',
|
|
'required' => true,
|
|
),
|
|
'dbuserid' => array(
|
|
'validate_callback' => 'validate_numeric',
|
|
'required' => true,
|
|
),
|
|
),
|
|
'permission_callback' => function() {
|
|
return is_user_logged_in();
|
|
},
|
|
] );
|
|
|
|
register_rest_route('client/v1', 'dbuserid', [
|
|
'methods' => 'POST',
|
|
'callback' => 'dbuserid',
|
|
'args' => array(
|
|
'email' => array(
|
|
'validate_callback' => 'validate_emailaddress',
|
|
'required' => true,
|
|
),
|
|
),
|
|
'permission_callback' => function() {
|
|
return is_user_logged_in();
|
|
},
|
|
] );
|
|
|
|
register_rest_route('client/v1', 'dbuseridwp', [
|
|
'methods' => 'POST',
|
|
'callback' => 'dbuseridwp',
|
|
'args' => array(
|
|
'wp_user_id' => array(
|
|
'validate_callback' => 'validate_numeric',
|
|
'required' => true,
|
|
),
|
|
),
|
|
'permission_callback' => function() {
|
|
return is_user_logged_in();
|
|
},
|
|
] );
|
|
|
|
register_rest_route('client/v1', 'logoutuser', [
|
|
'methods' => 'POST',
|
|
'callback' => 'logoutuser',
|
|
'permission_callback' => function() {
|
|
return is_user_logged_in();
|
|
},
|
|
] );
|
|
}
|
|
|
|
function validate_emailaddress($param, $request, $key) {
|
|
return filter_var($param, FILTER_VALIDATE_EMAIL) !== false;
|
|
}
|
|
|
|
function validate_numeric($param, $request, $key) {
|
|
return is_numeric($param);
|
|
}
|
|
|
|
function logoutuser() {
|
|
wp_logout();
|
|
$response = new WP_REST_Response("foobar");
|
|
$response->set_status(200);
|
|
|
|
return $response;
|
|
}
|
|
|
|
function dbuseridwp($request) {
|
|
$wp_user_id = $request->get_param('wp_user_id');
|
|
|
|
$wpdb = connect_to_server('zinomedia');
|
|
$db_user_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID from reg_users where WP_ID = %d", $wp_user_id ) );
|
|
$response = new WP_REST_Response($db_user_id);
|
|
$response->set_status(200);
|
|
|
|
return $response;
|
|
}
|
|
|
|
function dbuserid($request) {
|
|
$email = $request->get_param('email');
|
|
|
|
$wpdb = connect_to_server('zinomedia');
|
|
$db_user_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID from reg_users where EMail = %s", $email ) );
|
|
$response = new WP_REST_Response($db_user_id);
|
|
$response->set_status(200);
|
|
|
|
return $response;
|
|
}
|
|
|
|
function streamdelay($request) {
|
|
$parameter = $request->get_params();
|
|
$delay = $request->get_param('delay');
|
|
$db_user_id = $request->get_param('db_user_id');
|
|
|
|
$wpdb = connect_to_server('zinomedia');
|
|
$wpdb->update('config_user',
|
|
array(
|
|
'Value' => $delay,
|
|
),
|
|
array(
|
|
"UserID" => $db_user_id,
|
|
)
|
|
);
|
|
|
|
$response = new WP_REST_Response($parameter);
|
|
$response->set_status(200);
|
|
|
|
return $response;
|
|
} |