38 lines
1.5 KiB
PHP
38 lines
1.5 KiB
PHP
<?php
|
|
|
|
class Application_Model_LoginAttempts
|
|
{
|
|
public function __construct() {}
|
|
|
|
public static function increaseAttempts($ip)
|
|
{
|
|
$sql = 'select count(*) from cc_login_attempts WHERE ip= :ip';
|
|
$res = Application_Common_Database::prepareAndExecute($sql, [':ip' => $ip], Application_Common_Database::ALL);
|
|
if ($res) {
|
|
$sql = 'UPDATE cc_login_attempts SET attempts=attempts+1 WHERE ip= :ip';
|
|
Application_Common_Database::prepareAndExecute($sql, [':ip' => $ip], Application_Common_Database::EXECUTE);
|
|
} else {
|
|
$sql = "INSERT INTO cc_login_attempts (ip, attempts) values (':ip', '1')";
|
|
Application_Common_Database::prepareAndExecute($sql, [':ip' => $ip], Application_Common_Database::EXECUTE);
|
|
}
|
|
}
|
|
|
|
public static function getAttempts($ip)
|
|
{
|
|
$sql = 'select attempts from cc_login_attempts WHERE ip= :ip';
|
|
$res = Application_Common_Database::prepareAndExecute($sql, [':ip' => $ip], Application_Common_Database::ALL);
|
|
|
|
return $res ? $res : 0;
|
|
}
|
|
|
|
public static function resetAttempts($ip)
|
|
{
|
|
$sql = 'select count(*) from cc_login_attempts WHERE ip= :ip';
|
|
$res = Application_Common_Database::prepareAndExecute($sql, [':ip' => $ip], Application_Common_Database::COLUMN);
|
|
if ($res > 0) {
|
|
$sql = 'DELETE FROM cc_login_attempts WHERE ip= :ip';
|
|
Application_Common_Database::prepareAndExecute($sql, [':ip' => $ip], Application_Common_Database::EXECUTE);
|
|
}
|
|
}
|
|
}
|