Completed
Push — search ( 076ba7...2a5267 )
by Simon
16:36 queued 11:48
created

OldRequestCleanupTask   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 1
eloc 12
c 2
b 0
f 0
dl 0
loc 17
ccs 0
cts 14
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A execute() 0 15 1
1
<?php
2
/******************************************************************************
3
 * Wikipedia Account Creation Assistance tool                                 *
4
 *                                                                            *
5
 * All code in this file is released into the public domain by the ACC        *
6
 * Development Team. Please see team.json for a list of contributors.         *
7
 ******************************************************************************/
8
9
namespace Waca\ConsoleTasks;
10
11
use Waca\Tasks\ConsoleTaskBase;
12
13
class OldRequestCleanupTask extends ConsoleTaskBase
14
{
15
    public function execute()
16
    {
17
        $statement = $this->getDatabase()->prepare(<<<SQL
18
            DELETE FROM request
19
            WHERE
20
                request.date < DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL :expiry DAY)
21
                AND request.emailconfirm != 'Confirmed'
22
                AND request.emailconfirm != ''
23
                AND NOT exists (SELECT 1 FROM comment c WHERE c.request = request.id)
24
SQL
25
        );
26
27
        $expiryTime = $this->getSiteConfiguration()->getEmailConfirmationExpiryDays();
28
        $statement->bindValue(':expiry', $expiryTime);
29
        $statement->execute();
30
    }
31
}