GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Test Setup Failed
Push — email_fix ( a1c2be )
by
unknown
09:01
created

SubmissionsController   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 125
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 10
c 2
b 0
f 0
lcom 1
cbo 2
dl 0
loc 125
rs 10

6 Methods

Rating   Name   Duplication   Size   Complexity  
A sendSubmissions() 0 14 3
A actionMarkSpam() 0 4 1
B actionClearDeleted() 0 34 2
A actionSendNew() 0 22 2
A actionSendFailed() 0 15 1
A actionReliveFailed() 0 11 1
1
<?php
2
3
namespace app\commands;
4
5
use app\models\Object;
6
use app\models\ObjectStaticValues;
7
use app\models\Submission;
8
use app\modules\review\models\Review;
9
use Yii;
10
use yii\base\Event;
11
use yii\console\Controller;
12
13
class SubmissionsController extends Controller
14
{
15
16
    const EVENT_SEND_SUBMISSIONS = 'event_send_submission';
17
18
    /**
19
     * Send submissions method
20
     * @param Submission[] $submissions
21
     */
22
    private function sendSubmissions($submissions)
23
    {
24
        foreach ($submissions as $submission) {
25
            echo "Sending {$submission->id}\n";
26
            if ($submission->form === null) {
27
                $submission->processed = Submission::STATUS_FATAL_ERROR;
28
            } else {
29
                $event = new Event();
30
                $event->sender = $submission;
31
                $this->trigger('event_send_submission', $event);
32
            }
33
            $submission->save(true, ['sending_status']);
34
        }
35
    }
36
37
    public function actionMarkSpam()
38
    {
39
        Submission::updateAll(['is_deleted' => 1], ['spam' => 1]);
40
    }
41
42
    public function actionClearDeleted()
43
    {
44
        $time = new \DateTime();
45
        $days = Yii::$app->getModule('core')->daysToStoreSubmissions;
46
        $time->sub(new \DateInterval("P{$days}D"));
47
        /** @var Object $object */
48
        $object = Object::getForClass(Submission::className());
49
        if ($object !== null) {
50
            $submissionIds = Submission::find()
51
                ->select(['id'])
52
                ->where('UNIX_TIMESTAMP(`date_received`) < ' . $time->getTimestamp() . ' AND `is_deleted` = \'1\'')
53
                ->column();
54
            Review::deleteAll(['submission_id' => $submissionIds]);
55
            Yii::$app->db->createCommand()->delete(
56
                $object->column_properties_table_name,
57
                ['object_model_id' => $submissionIds]
58
            );
59
            Yii::$app->db->createCommand()->delete(
60
                $object->eav_table_name,
61
                ['object_model_id' => $submissionIds]
62
            );
63
            Yii::$app->db->createCommand()->delete(
64
                $object->categories_table_name,
65
                ['object_model_id' => $submissionIds]
66
            );
67
            ObjectStaticValues::deleteAll(
68
                [
69
                    'object_id' => $object->id,
70
                    'object_model_id' => $submissionIds,
71
                ]
72
            );
73
            Submission::deleteAll(['id' => $submissionIds]);
74
        }
75
    }
76
77
    /**
78
     * Send new submissions action
79
     * @param bool $sendFailed
80
     */
81
    public function actionSendNew($sendFailed = false)
82
    {
83
        /** @var Submission[] $submissions */
84
        $statuses = [
85
            Submission::STATUS_NEW,
86
        ];
87
        if ($sendFailed) {
88
            $statuses[] = Submission::STATUS_ERROR;
89
        }
90
        $submissions = Submission::find()
91
            ->with('form')
92
            ->where(
93
                [
94
                    'sending_status' => $statuses,
95
                    'spam' => 0,
96
                    'is_deleted' => 0
97
                ]
98
            )
99
            ->all();
100
101
        $this->sendSubmissions($submissions);
102
    }
103
104
    /**
105
     * Send failed submissions action
106
     */
107
    public function actionSendFailed()
108
    {
109
        /** @var Submission[] $submissions */
110
        $submissions = Submission::find()
111
            ->with('form')
112
            ->where(
113
                [
114
                    'sending_status' => Submission::STATUS_ERROR,
115
                    'spam' => 0,
116
                    'is_deleted' => 0
117
                ]
118
            )
119
            ->all();
120
        $this->sendSubmissions($submissions, Submission::STATUS_HOPELESS_ERROR);
121
    }
122
123
    /**
124
     * Mark filed submissions as new
125
     */
126
    public function actionReliveFailed()
127
    {
128
        Submission::updateAll(
129
            [
130
                'sending_status' => Submission::STATUS_NEW,
131
            ],
132
            [
133
                'sending_status' => [Submission::STATUS_ERROR, Submission::STATUS_HOPELESS_ERROR]
134
            ]
135
        );
136
    }
137
}
138