Completed
Push — master ( ccfeeb...7d9725 )
by Alexey
02:50 queued 46s
created

CronController   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
dl 0
loc 27
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A actionRemoveOverdue() 0 17 3
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
}