Passed
Push — bugsquish ( b365a0...04c812 )
by Simon
03:28
created

OldRequestCleanupTask::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
ccs 0
cts 3
cp 0
rs 10
cc 1
nc 1
nop 0
crap 2
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
}