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.
Completed
Push — master ( c31bff...117582 )
by Caspar
10:25
created

GenerateController::generatePDF()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 46

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
nc 3
nop 1
dl 0
loc 46
rs 9.1781
c 0
b 0
f 0
1
<?php
2
3
namespace App\Http\Controllers;
4
5
use DB;
6
use File;
7
use Illuminate\Http\Request;
8
use jeremykenedy\Uuid\Uuid;
9
use PDF;
10
use QrCode;
11
12
class GenerateController extends Controller
13
{
14
    /**
15
     * Default-View anzeigen.
16
     *
17
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
18
     */
19
    public function showGenerate()
20
    {
21
        return view('leader.generate');
22
    }
23
24
    /**
25
     * Code-Generierung initialisieren.
26
     *
27
     * @param Request $request
28
     *
29
     * @throws \Exception
30
     *
31
     * @return \Illuminate\Http\RedirectResponse
32
     */
33
    public function index(Request $request)
34
    {
35
        $this->preCleanup();
36
37
        $countQR = CodeCount::setCodeCount($request['countQR']);
38
39
        for ($i = 0; $i < $countQR; $i++) {
40
            $code = $this->generateCodes();
41
42
            $this->generateQR($code, $i);
43
        }
44
45
        if ($countQR > 0) {
46
            $this->generatePDF($countQR);
47
        }
48
49
        return back();
50
    }
51
52
    /**
53
     * Alte Daten löschen.
54
     */
55
    private function preCleanup()
56
    {
57
        DB::table('game_codes')->delete();
58
        DB::table('users_codes')->delete();
59
        DB::table('game_admin')->delete();
60
61
        DB::update('UPDATE users SET rank = NULL;');
62
        DB::update('UPDATE users SET total_points = NULL;');
63
        DB::update('UPDATE users SET start = NULL;');
64
        DB::update('UPDATE users SET end = NULL;');
65
66
        File::delete(File::glob(storage_path().'/pdf/codes/*.png'));
67
    }
68
69
    /**
70
     * UUIDs für die QR-Codes generieren.
71
     *
72
     * @throws \Exception
73
     *
74
     * @return mixed
75
     */
76
    private function generateCodes()
77
    {
78
        $code = uuid::generate(4);
79
80
        DB::table('game_codes')->insert(['game_code' => $code]);
81
82
        return $code;
83
    }
84
85
    /**
86
     * QR-Codes generieren.
87
     *
88
     * @param $code
89
     * @param $QRNumber
90
     */
91
    private function generateQR($code, $QRNumber)
92
    {
93
        QrCode::format('png')->size(200)->generate(url('/').'/user/qr/scan/'.$code, storage_path().'/pdf/codes/'.$QRNumber.'.png');
94
    }
95
96
    /**
97
     * PDF-File generieren.
98
     *
99
     * @param $fileCount
100
     */
101
    private function generatePDF($fileCount)
102
    {
103
        PDF::SetTitle(config('app.name'));
104
        PDF::SetFont('Arial', 'B', 18);
105
        PDF::SetMargins(10, 10, 10);
106
        PDF::SetCreator(config('app.name'));
107
        PDF::SetAuthor(config('app.name'));
108
109
        for ($i = 0; $i < $fileCount; $i++) {
110
            $j = $i;
111
            if ($fileCount - $i == 1) {
112
                PDF::AddPage();
113
                PDF::Cell(0, 15, config('app.name').' - QR Nr. '.++$j, 0, 1, 'C');
114
                PDF::SetY(20);
115
                PDF::SetX(80);
116
                PDF::Image(storage_path().'/pdf/codes/'.$i.'.png');
117
                PDF::SetY(70);
118
                PDF::SetX(20);
119
                PDF::Image(storage_path().'/pdf/logo.png');
120
            } else {
121
                PDF::AddPage();
122
                PDF::Cell(0, 15, config('app.name').' - QR Nr. '.++$j, 0, 1, 'C');
123
                PDF::SetY(20);
124
                PDF::SetX(80);
125
                PDF::Image(storage_path().'/pdf/codes/'.$i.'.png');
126
                PDF::SetY(70);
127
                PDF::SetX(20);
128
                PDF::Image(storage_path().'/pdf/logo.png');
129
130
                PDF::SetY(130);
131
                PDF::SetX(0);
132
                PDF::SetMargins(0, 10, 0);
133
                PDF::Cell(0, 0, '', 1, 1);
134
                PDF::SetY(150);
135
136
                PDF::Cell(0, 15, config('app.name').' - QR Nr. '.++$j, 0, 1, 'C');
137
                PDF::SetY(160);
138
                PDF::SetX(80);
139
                PDF::Image(storage_path().'/pdf/codes/'.++$i.'.png');
140
                PDF::SetY(210);
141
                PDF::SetX(20);
142
                PDF::Image(storage_path().'/pdf/logo.png');
143
            }
144
        }
145
146
        PDF::Output(storage_path().'/pdf/file/QR-Codes.pdf', 'F');
147
    }
148
}
149