Как остановить создание пользователя в cscart с помощью ловушки update_profile - PullRequest
0 голосов
/ 05 июня 2018
function fn_user_registered_test_update_profile($action, $user_data, 
$current_user_data){

$encoded=json_encode($user_data);
extract(json_decode($encoded, true));

if($user_type == "C"){

if ($action == "add"){

  $url = 'http://199.99.999.99:9999/api/users'; // url is different
  $data = array('email'=>$email,'name'=>$firstname,'type'=>'customer');
  $data_json = json_encode($data);

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

  $result = curl_exec($ch);
  curl_close($ch);
  }
  }

Я создаю нового пользователя из CSCart и регистрирую блокчейн,

Если блокчейн выключен, я хочу, чтобы создание пользователя было остановлено на корзине cs

Я хочу, чтобы создание пользователя прекратилось, если ответ от него отличается от состояния 200

Есть ли способ остановить создание пользователя с помощью флагов?

Ответы [ 2 ]

0 голосов
/ 23 июля 2018

Когда вызывается этот хук, новый пользователь уже добавляется в базу данных.В этом случае вы должны использовать функцию fn_delete_user($user_data['user_id']); для удаления нового пользователя из базы данных

0 голосов
/ 14 июля 2018

Вы можете написать контроллер с расширением .pre, так чтобы он выполнялся раньше основного контроллера, что позволяет вам «отрицать» создание пользователя, если встречаются определенные параметры.Подробнее о контроллерах читайте здесь:

https://docs.cs -cart.com / 4.8.x / developer_guide / core / controllers / pre_postcontrollers.html

С уважением,

...