Completed
Push — master ( 215b40...7d8148 )
by Alexey
05:20
created

CronController::actionRemoveOverdue()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 17
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 17
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 11
nc 3
nop 0
1
<?php
2
3
namespace modules\users\commands;
4
5
use modules\users\models\User;
6
use yii\console\Controller;
7
use yii\helpers\Console;
8
use Yii;
9
10
/**
11
 * Console crontab actions
12
 */
13
class CronController extends Controller
14
{
15
    /**
16
     * @var \modules\users\Module
17
     */
18
    public $module;
19
20
    /**
21
     * Removes non-activated expired users
22
     */
23
    public function actionRemoveOverdue()
24
    {
25
        foreach (User::find()->overdue($this->module->emailConfirmTokenExpire)->each() as $user) {
26
            /** @var User $user */
27
            $this->stdout($user->username);
28
            if ($user->delete() !== false) {
29
                Yii::info('Remove expired users ' . $user->username);
30
                $this->stdout(' OK', Console::FG_GREEN, Console::BOLD);
31
            } else {
32
                Yii::warning('Cannot remove expired users ' . $user->username);
33
                $this->stderr(' FAIL', Console::FG_RED, Console::BOLD);
34
            }
35
            $this->stdout(PHP_EOL);
36
        }
37
38
        $this->stdout('Done!', Console::FG_GREEN, Console::BOLD);
39
        $this->stdout(PHP_EOL);
40
    }
41
}
42