Mercurial > hg > isophonics-drupal-site
comparison core/lib/Drupal/Core/Flood/FloodInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\Core\Flood; | |
4 | |
5 /** | |
6 * Defines an interface for flood controllers. | |
7 */ | |
8 interface FloodInterface { | |
9 | |
10 /** | |
11 * Registers an event for the current visitor to the flood control mechanism. | |
12 * | |
13 * @param string $name | |
14 * The name of an event. To prevent unintended name clashes, it is recommended | |
15 * to use the module name first in the event name, optionally followed by | |
16 * a dot and the actual event name (e.g. "mymodule.my_event"). | |
17 * @param int $window | |
18 * (optional) Number of seconds before this event expires. Defaults to 3600 | |
19 * (1 hour). Typically uses the same value as the isAllowed() $window | |
20 * parameter. Expired events are purged on cron run to prevent the flood | |
21 * table from growing indefinitely. | |
22 * @param string $identifier | |
23 * (optional) Unique identifier of the current user. Defaults to the current | |
24 * user's IP address). | |
25 */ | |
26 public function register($name, $window = 3600, $identifier = NULL); | |
27 | |
28 /** | |
29 * Makes the flood control mechanism forget an event for the current visitor. | |
30 * | |
31 * @param string $name | |
32 * The name of an event. | |
33 * @param string $identifier | |
34 * (optional) Unique identifier of the current user. Defaults to the current | |
35 * user's IP address). | |
36 */ | |
37 public function clear($name, $identifier = NULL); | |
38 | |
39 /** | |
40 * Checks whether a user is allowed to proceed with the specified event. | |
41 * | |
42 * Events can have thresholds saying that each user can only do that event | |
43 * a certain number of times in a time window. This function verifies that | |
44 * the current user has not exceeded this threshold. | |
45 * | |
46 * @param string $name | |
47 * The name of an event. | |
48 * @param int $threshold | |
49 * The maximum number of times each user can do this event per time window. | |
50 * @param int $window | |
51 * (optional) Number of seconds in the time window for this event (default is 3600 | |
52 * seconds, or 1 hour). | |
53 * @param string $identifier | |
54 * (optional) Unique identifier of the current user. Defaults to the current | |
55 * user's IP address). | |
56 * | |
57 * @return | |
58 * TRUE if the user is allowed to proceed. FALSE if they have exceeded the | |
59 * threshold and should not be allowed to proceed. | |
60 */ | |
61 public function isAllowed($name, $threshold, $window = 3600, $identifier = NULL); | |
62 | |
63 /** | |
64 * Cleans up expired flood events. This method is called automatically on | |
65 * cron run. | |
66 * | |
67 * @see system_cron() | |
68 */ | |
69 public function garbageCollection(); | |
70 | |
71 } |