1 | <?php |
||
2 | |||
3 | namespace SilverStripe\ShareDraftContent\Tasks; |
||
4 | |||
5 | use SilverStripe\Dev\BuildTask; |
||
6 | use SilverStripe\ShareDraftContent\Models\ShareToken; |
||
7 | |||
8 | /** |
||
9 | * Remove expired share tokens. |
||
10 | * |
||
11 | * Action to remove all expired ShareTokens from the database. |
||
12 | * |
||
13 | * To run this action the user needs admin rights. |
||
14 | */ |
||
15 | class RemoveExpiredShareTokens extends BuildTask |
||
16 | { |
||
17 | private static $segment = 'RemoveExpiredShareTokens'; |
||
0 ignored issues
–
show
introduced
by
![]() |
|||
18 | |||
19 | protected $title = 'Remove expired share tokens'; |
||
20 | |||
21 | protected $description = 'Remove all expired ShareTokens from the database'; |
||
22 | |||
23 | public function run($request) |
||
24 | { |
||
25 | $shareTokens = ShareToken::get(); |
||
26 | $removeCount = 0; |
||
27 | |||
28 | foreach ($shareTokens as $token) { |
||
29 | if ($token->isExpired()) { |
||
30 | $token->delete(); |
||
31 | $removeCount++; |
||
32 | } |
||
33 | } |
||
34 | |||
35 | echo "Removed $removeCount expired share tokens.\n"; |
||
36 | } |
||
37 | } |
||
38 |