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::sendSubmissions()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 14
rs 9.4286
cc 3
eloc 10
nc 3
nop 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