Server IP : 192.158.238.246 / Your IP : 52.15.220.116 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/jenniferflocom/www/wp-content/plugins/mstore-api/controllers/ |
Upload File : |
<?php require_once(__DIR__ . '/flutter-base.php'); /* * Base REST Controller for flutter * * @since 1.4.0 * * @package Notification */ class FlutterNotification extends FlutterBaseController { /** * Endpoint namespace * * @var string */ protected $namespace = 'api/flutter_notification'; /** * Register all routes releated with stores * * @return void */ public function __construct() { add_action('rest_api_init', array($this, 'register_flutter_notification_routes')); } public function register_flutter_notification_routes() { register_rest_route($this->namespace, '/test_push_notification', array( array( 'methods' => 'POST', 'callback' => array($this, 'test_push_notification'), 'permission_callback' => function () { return parent::checkApiPermission(); } ), )); register_rest_route($this->namespace, '/test_push_notification_created_order', array( array( 'methods' => 'POST', 'callback' => array($this, 'test_push_notification_created_order'), 'permission_callback' => function () { return parent::checkApiPermission(); } ), )); register_rest_route($this->namespace, '/settings', array( array( 'methods' => 'PUT', 'callback' => array($this, 'update_settings'), 'permission_callback' => array($this, 'get_settings_permissions_check'), ), array( 'methods' => 'GET', 'callback' => array($this, 'get_settings'), 'permission_callback' => array($this, 'get_settings_permissions_check'), ), )); } public function test_push_notification() { $json = file_get_contents('php://input'); $params = json_decode($json); $email = $params->email; $is_manager = $params->is_manager; $is_delivery = $params->is_delivery; $user = get_user_by('email', $email); $user_id = $user->ID; $serverKey = get_option("mstore_firebase_server_key"); $status = false; $is_onesignal = $params->is_onesignal; if($is_onesignal){ $status = one_signal_push_notification("Fluxstore", "Test push notification", array($user_id)); return ['status' => $status]; } if (isset($is_manager)) { if ($is_manager) { $deviceToken = get_user_meta($user_id, 'mstore_manager_device_token', true); if ($deviceToken) { $status = pushNotification("Fluxstore", "Test push notification", $deviceToken); } } return ["deviceToken" => $deviceToken, 'serverKey' => $serverKey, 'status' => $status]; } if (isset($is_delivery)) { if ($is_delivery) { $deviceToken = get_user_meta($user_id, 'mstore_delivery_device_token', true); if ($deviceToken) { $status = pushNotification("Fluxstore", "Test push notification", $deviceToken); } } return ["deviceToken" => $deviceToken, 'serverKey' => $serverKey, 'status' => $status]; } $deviceToken = get_user_meta($user_id, 'mstore_device_token', true); if ($deviceToken) { $status = pushNotification("Fluxstore", "Test push notification", $deviceToken); } return ["deviceToken" => $deviceToken, 'serverKey' => $serverKey, 'status' => $status]; } function test_push_notification_created_order(){ $json = file_get_contents('php://input'); $params = json_decode($json); return trackNewOrder($params->order_id); } function get_settings_permissions_check($request) { $cookie = $request->get_header("User-Cookie"); if (isset($cookie) && $cookie != null) { $user_id = validateCookieLogin($cookie); if (is_wp_error($user_id)) { return false; } $request["user_id"] = $user_id; return true; } else { return false; } } function update_settings($request){ $json = file_get_contents('php://input'); $params = json_decode($json, TRUE); $user_id = $request["user_id"]; update_user_meta($user_id, "mstore_notification_status", $params['is_on'] == true ? 'on' : 'off'); return ['is_on' => isNotificationEnabled($user_id)]; } function get_settings($request){ $user_id = $request["user_id"]; return ['is_on' => isNotificationEnabled($user_id)]; } } new FlutterNotification;