CronController   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A actionRemoveOverdue() 0 34 3
1
<?php
2
3
namespace modules\users\commands;
4
5
use modules\users\models\User;
6
use yii\console\Controller;
7
use app\components\helpers\Console;
8
use Yii;
9
use modules\users\Module;
10
11
/**
12
 * Console crontab actions
13
 */
14
class CronController extends Controller
15
{
16
    /**
17
     * @var \modules\users\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(Console::convertEncoding(Module::t(
31
                    'module',
32
                    'Remove expired users {:Username}',
33
                    [':Username' => $user->username]
34
                )));
35
                $this->stdout(Console::convertEncoding(Module::t(
36
                    'module',
37
                    'OK'
38
                )), Console::FG_GREEN, Console::BOLD);
39
            } else {
40
                Yii::warning(Console::convertEncoding(Module::t(
41
                    'module',
42
                    'Cannot remove expired users {:Username}',
43
                    [':Username' => $user->username]
44
                )));
45
                $this->stderr(Console::convertEncoding(Module::t(
46
                    'module',
47
                    'Fail!'
48
                )), Console::FG_RED, Console::BOLD);
49
            }
50
            $this->stdout(PHP_EOL);
51
        }
52
53
        $this->stdout(Console::convertEncoding(Module::t(
54
            'module',
55
            'Done!'
56
        )), Console::FG_GREEN, Console::BOLD);
57
        $this->stdout(PHP_EOL);
58
    }
59
}
60