CronController   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 21
c 1
b 0
f 0
dl 0
loc 43
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A actionRemoveOverdue() 0 33 3
1
<?php
2
3
namespace modules\users\commands;
4
5
use Yii;
6
use console\components\helpers\Console;
7
use yii\console\Controller;
8
use modules\users\models\User;
9
use modules\users\Module;
10
11
/**
12
 * Console crontab actions
13
 */
14
class CronController extends Controller
15
{
16
    /**
17
     * @var Module
18
     */
19
    public $module;
20
21
    /**
22
     * Removes non-activated expired users
23
     */
24
    public function actionRemoveOverdue()
25
    {
26
        foreach (User::find()->overdue($this->module->emailConfirmTokenExpire)->each() as $user) {
27
            /** @var User $user */
28
            $this->stdout($user->username);
29
            if ($user->delete() !== false) {
30
                Yii::info(
31
                    Module::translate(
32
                        'module',
33
                        'Remove expired user {:Username}',
34
                        [
35
                            ':Username' => $user->username
36
                        ]
37
                    )
38
                );
39
                $this->stdout(' OK', Console::FG_GREEN, Console::BOLD);
40
            } else {
41
                Yii::warning(
42
                    Module::translate(
43
                        'module',
44
                        'Cannot remove expired user {:Username}',
45
                        [
46
                            ':Username' => $user->username
47
                        ]
48
                    )
49
                );
50
                $this->stderr(' FAIL', Console::FG_RED, Console::BOLD);
51
            }
52
            $this->stdout(PHP_EOL);
53
        }
54
55
        $this->stdout(Module::translate('module', 'Done!'), Console::FG_GREEN, Console::BOLD);
56
        $this->stdout(PHP_EOL);
57
    }
58
}
59