1: | <?php
|
2: | namespace Opencart\Catalog\Model\Extension\Opencart\Fraud;
|
3: | |
4: | |
5: | |
6: | |
7: |
|
8: | class Ip extends \Opencart\System\Engine\Model {
|
9: | |
10: | |
11: | |
12: | |
13: | |
14: | |
15: |
|
16: | public function check(array $order_info): int {
|
17: | $status = false;
|
18: |
|
19: | if ($order_info['customer_id']) {
|
20: | $this->load->model('account/customer');
|
21: |
|
22: | $results = $this->model_account_customer->getIps($order_info['customer_id']);
|
23: |
|
24: | foreach ($results as $result) {
|
25: | $ips = $this->getIps($result['ip']);
|
26: |
|
27: | if ($ips) {
|
28: | $status = true;
|
29: |
|
30: | break;
|
31: | }
|
32: | }
|
33: | } else {
|
34: | $ips = $this->getIps($order_info['ip']);
|
35: |
|
36: | if ($ips) {
|
37: | $status = true;
|
38: | }
|
39: | }
|
40: |
|
41: | if ($status) {
|
42: | return (int)$this->config->get('fraud_ip_order_status_id');
|
43: | } else {
|
44: | return 0;
|
45: | }
|
46: | }
|
47: |
|
48: | |
49: | |
50: | |
51: | |
52: | |
53: | |
54: |
|
55: | public function getIps(string $ip): array {
|
56: | $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "fraud_ip` WHERE `ip` = '" . $this->db->escape($ip) . "'");
|
57: |
|
58: | return $query->rows;
|
59: | }
|
60: | }
|
61: | |