function mo2f_collect_attributes($email, $attributes) { if (get_option('mo2f_deviceid_enabled')) { $rba_attributes = new Miniorange_Rba_Attributes(); $rba_response = json_decode($rba_attributes->mo2f_collect_attributes($email, $attributes), true); //collect rba attributes if (json_last_error() == JSON_ERROR_NONE) { if ($rba_response['status'] == 'SUCCESS') { //attribute are collected successfully $sessionUuid = $rba_response['sessionUuid']; $rba_risk_response = json_decode($rba_attributes->mo2f_evaluate_risk($email, $sessionUuid), true); // evaluate the rba risk if (json_last_error() == JSON_ERROR_NONE) { if ($rba_risk_response['status'] == 'SUCCESS' || $rba_risk_response['status'] == 'WAIT_FOR_INPUT') { $mo2f_rba_status = array(); $mo2f_rba_status['status'] = $rba_risk_response['status']; $mo2f_rba_status['sessionUuid'] = $sessionUuid; $mo2f_rba_status['decision_flag'] = true; return $mo2f_rba_status; } else { $mo2f_rba_status = array(); $mo2f_rba_status['status'] = $rba_risk_response['status']; $mo2f_rba_status['sessionUuid'] = $sessionUuid; $mo2f_rba_status['decision_flag'] = false; return $mo2f_rba_status; } } else { $mo2f_rba_status = array(); $mo2f_rba_status['status'] = 'JSON_EVALUATE_ERROR'; $mo2f_rba_status['sessionUuid'] = $sessionUuid; $mo2f_rba_status['decision_flag'] = false; return $mo2f_rba_status; } } else { $mo2f_rba_status = array(); $mo2f_rba_status['status'] = 'ATTR_NOT_COLLECTED'; $mo2f_rba_status['sessionUuid'] = ''; $mo2f_rba_status['decision_flag'] = false; return $mo2f_rba_status; } } else { $mo2f_rba_status = array(); $mo2f_rba_status['status'] = 'JSON_ATTR_NOT_COLLECTED'; $mo2f_rba_status['sessionUuid'] = ''; $mo2f_rba_status['decision_flag'] = false; return $mo2f_rba_status; } } else { $mo2f_rba_status = array(); $mo2f_rba_status['status'] = 'RBA_NOT_ENABLED'; $mo2f_rba_status['sessionUuid'] = ''; $mo2f_rba_status['decision_flag'] = false; return $mo2f_rba_status; } }