diff options
Diffstat (limited to 'public/admin/model/extension/fraud/ip.php')
-rw-r--r-- | public/admin/model/extension/fraud/ip.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/public/admin/model/extension/fraud/ip.php b/public/admin/model/extension/fraud/ip.php new file mode 100644 index 0000000..3e01bdf --- /dev/null +++ b/public/admin/model/extension/fraud/ip.php @@ -0,0 +1,50 @@ +<?php +class ModelExtensionFraudIp extends Model { + public function install() { + $this->db->query(" + CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "fraud_ip` ( + `ip` varchar(40) NOT NULL, + `date_added` datetime NOT NULL, + PRIMARY KEY (`ip`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; + "); + } + + public function uninstall() { + $this->db->query("DROP TABLE IF EXISTS `" . DB_PREFIX . "ip`"); + } + + public function addIp($ip) { + $this->db->query("INSERT INTO `" . DB_PREFIX . "fraud_ip` SET `ip` = '" . $this->db->escape($ip) . "', date_added = NOW()"); + } + + public function removeIp($ip) { + $this->db->query("DELETE FROM `" . DB_PREFIX . "fraud_ip` WHERE `ip` = '" . $this->db->escape($ip) . "'"); + } + + public function getIps($start = 0, $limit = 10) { + if ($start < 0) { + $start = 0; + } + + if ($limit < 1) { + $limit = 10; + } + + $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "fraud_ip` ORDER BY `ip` ASC LIMIT " . (int)$start . "," . (int)$limit); + + return $query->rows; + } + + public function getTotalIps() { + $query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "fraud_ip`"); + + return $query->row['total']; + } + + public function getTotalIpsByIp($ip) { + $query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "fraud_ip` WHERE ip = '" . $this->db->escape($ip) . "'"); + + return $query->row['total']; + } +} |