You are here

function shurly_flood_is_allowed in ShURLy 7

Same name and namespace in other branches
  1. 8 shurly.module \shurly_flood_is_allowed()
  2. 6 shurly.module \shurly_flood_is_allowed()

Function to check if the current user is in the flood table.

1 call to shurly_flood_is_allowed()
shurly_rate_limit_allowed in ./shurly.module
Check rate limit for this user return an array in the following format array( 'allowed' => TRUE/FALSE 'rate' => number of requests allowed 'time' => period of time in minutes )

File

./shurly.module, line 637
description http://www.youtube.com/watch?v=Qo7qoonzTCE

Code

function shurly_flood_is_allowed($name, $threshold, $window = 3600, $identifier = NULL) {
  if (!isset($identifier)) {
    $identifier = ip_address();
  }
  $number = db_query("SELECT COUNT(*) FROM {shurly_flood} WHERE event = :event AND identifier = :identifier AND timestamp > :timestamp", array(
    'event' => $name,
    'identifier' => $identifier,
    'timestamp' => time() - $window,
  ))
    ->fetchField();
  return $number < $threshold;
}