Plugin Directory

Changeset 3110793


Ignore:
Timestamp:
07/02/2024 02:07:38 AM (21 months ago)
Author:
inspireui
Message:

version 4.14.7

Location:
mstore-api
Files:
483 added
5 edited

Legend:

Unmodified
Added
Removed
  • mstore-api/trunk/controllers/flutter-b2bking.php

    r3038955 r3110793  
    127127        $results = array();
    128128        foreach ($roles as $role){
    129             $results[] = ['ID' => $role->ID, 'name' => $role->post_title, 'role' => 'role_'.$role->ID];
     129            $approval_required = get_post_meta($role->ID,'b2bking_custom_role_approval',true);
     130            $results[] = ['ID' => $role->ID, 'name' => $role->post_title, 'role' => 'role_'.$role->ID, 'approval_required' => $approval_required != 'automatic'];
    130131        }
    131132        return $results;
  • mstore-api/trunk/controllers/flutter-home.php

    r3038955 r3110793  
    114114        return array_values(array_filter($array, function($v, $k) {
    115115            foreach ($this->metaDataWhilelist as $whilelist) {
    116                 if (strpos($v->__get('key'), $whilelist) !== false) {
     116                $key = is_array($v) ? $v['key'] : $v->__get('key');
     117                if (strpos($key, $whilelist) !== false) {
    117118                    return true;
    118119                }
  • mstore-api/trunk/controllers/flutter-user.php

    r3106210 r3110793  
    101101            array(
    102102                'methods' => 'GET',
    103                 'callback' => array($this, 'firebase_sms_login'),
     103                'callback' => function ($request) {
     104                    $phone = $request['phone'];
     105                    return $this->firebase_sms_login($phone);
     106                },
    104107                'permission_callback' => function () {
    105108                    return parent::checkApiPermission();
     
    111114            array(
    112115                'methods' => 'GET',
    113                 'callback' => array($this, 'firebase_sms_login_v2'),
     116                'callback' => function ($request) {
     117                    $phone = $request['phone'];
     118                    return $this->firebase_sms_login_v2($phone);
     119                },
     120                'permission_callback' => function () {
     121                    return parent::checkApiPermission();
     122                }
     123            ),
     124        ));
     125
     126        register_rest_route($this->namespace, '/firebase_sms', array(
     127            array(
     128                'methods' => 'POST',
     129                'callback' => function ($request) {
     130                    $phone = $this->firebase_sms_verify_id_token($request);
     131                    if (is_wp_error($phone)) {
     132                        return $phone;
     133                    }
     134                    return $this->firebase_sms_login($phone);
     135                },
     136                'permission_callback' => function () {
     137                    return parent::checkApiPermission();
     138                }
     139            ),
     140        ));
     141
     142        register_rest_route($this->namespace, '/firebase_sms_v2', array(
     143            array(
     144                'methods' => 'POST',
     145                'callback' => function ($request) {
     146                    $phone = $this->firebase_sms_verify_id_token($request);
     147                    if (is_wp_error($phone)) {
     148                        return $phone;
     149                    }
     150                    return $this->firebase_sms_login_v2($phone);
     151                },
    114152                'permission_callback' => function () {
    115153                    return parent::checkApiPermission();
     
    697735    }
    698736
    699     public function firebase_sms_login($request)
    700     {
    701         $phone = $request["phone"];
     737    private function firebase_sms_verify_id_token($request)
     738    {
     739        $json = file_get_contents('php://input');
     740        $params = json_decode($json, TRUE);
     741
     742        $id_token = $params["id_token"];
     743        if (!isset($id_token)) {
     744            return parent::sendError("invalid_login", "id_token is required", 400);
     745        }
     746
     747        $helper = new FirebasePhoneAuthHelper();
     748        $result = $helper->verify_id_token($id_token);
     749
     750        if (is_wp_error($result)) {
     751            return $result;
     752        }
     753        if ($result == false) {
     754            return parent::sendError("invalid_login", "id_token is invalid.", 400);
     755        }
     756        return $result;
     757    }
     758
     759    private function firebase_sms_login($phone)
     760    {
    702761        if (!isset($phone)) {
    703762            return parent::sendError("invalid_login", "You must include a 'phone' variable.", 400);
     
    712771    }
    713772
    714     public function firebase_sms_login_v2($request)
    715     {
    716         $phone = $request["phone"];
     773    private function firebase_sms_login_v2($phone)
     774    {
    717775        if (!isset($phone)) {
    718776            return parent::sendError("invalid_login", "You must include a 'phone' variable.", 400);
  • mstore-api/trunk/mstore-api.php

    r3106341 r3110793  
    44 * Plugin URI: https://github.com/inspireui/mstore-api
    55 * Description: The MStore API Plugin which is used for the FluxBuilder and FluxStore Mobile App
    6  * Version: 4.14.6
     6 * Version: 4.14.7
    77 * Author: FluxBuilder
    88 * Author URI: https://fluxbuilder.com
     
    4949include_once plugin_dir_path(__FILE__) . "controllers/helpers/firebase-message-helper.php";
    5050include_once plugin_dir_path(__FILE__) . "controllers/flutter-fib.php";
     51include_once plugin_dir_path(__FILE__) . "controllers/helpers/firebase-phone-auth-helper.php";
    5152
    5253if ( is_readable( __DIR__ . '/vendor/autoload.php' ) ) {
     
    5657class MstoreCheckOut
    5758{
    58     public $version = '4.14.6';
     59    public $version = '4.14.7';
    5960
    6061    public function __construct()
  • mstore-api/trunk/readme.txt

    r3106341 r3110793  
    44Requires at least: 4.4
    55Tested up to:      6.5.3
    6 Stable tag:        4.14.6
     6Stable tag:        4.14.7
    77License:           GPL-2.0
    88License URI:       https://www.gnu.org/licenses/gpl-2.0.html
     
    4949
    5050== Changelog ==
     51= 4.14.7 =
     52  * Fix firebase sms security
     53
    5154= 4.14.6 =
    5255  * Fix crash products api
Note: See TracChangeset for help on using the changeset viewer.