Issues (20)

src/Tasks/RemoveExpiredShareTokensTask.php (1 issue)

Severity
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
The private property $segment is not used, and could be removed.
Loading history...
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