Code Duplication    Length = 42-42 lines in 2 locations

app/Http/Controllers/MissingController.php 2 locations

@@ 71-112 (lines=42) @@
68
    }
69
70
    //Spiele mit fehlenden Screenshots anzeigen
71
    public function index_gamescreens($orderby = 'title', $direction = 'asc')
72
    {
73
        $rows = (\Auth::check()) ? \Auth::user()->settings->rows_per_page_games : config('app.rows_per_page_games');
74
75
        if ($orderby == 'developer.name') {
76
            $games = Game::Join('games_developer', 'games.id', '=', 'games_developer.game_id')
77
                ->Join('developer', 'games_developer.developer_id', '=', 'developer.id')
78
                ->leftJoin('screenshots as tr', 'tr.game_id', '=', 'games.id')
79
                ->groupBy('games.id')
80
                ->orderBy($orderby, $direction)
81
                ->havingRaw('COUNT(tr.id) < 1')
82
                ->paginate($rows, [
83
                    'games.*',
84
                ]);
85
        } elseif ($orderby == 'game.release_date') {
86
            $games = Game::Join('games_files', 'games.id', '=', 'games_files.game_id')
87
                ->leftJoin('screenshots as tr', 'tr.game_id', '=', 'games.id')
88
                ->groupBy('games.id')
89
                ->orderBy('games_files.release_year', $direction)
90
                ->orderBy('games_files.release_month', $direction)
91
                ->orderBy('games_files.release_day', $direction)
92
                ->havingRaw('COUNT(tr.id) < 1')
93
                ->paginate($rows, [
94
                    'games.*',
95
                ]);
96
        } else {
97
            $games = Game::with(['tags'])->select(['games.*', \DB::raw('COUNT(tr.id) as ctr')])
98
                ->leftJoin('screenshots as tr', 'tr.game_id', '=', 'games.id')
99
                ->groupBy('games.id')
100
                ->orderBy($orderby, $direction)
101
                ->havingRaw('COUNT(tr.id) < 1')
102
                ->paginate($rows, [
103
                    'games.*',
104
                ]);
105
        }
106
107
        return view('missing.gamescreens.index', [
108
            'games'     => $games,
109
            'orderby'   => $orderby,
110
            'direction' => $direction,
111
        ]);
112
    }
113
114
    //Spiele mit fehlenden Spieledateien anzeigen
115
    public function index_gamefiles($orderby = 'title', $direction = 'asc')
@@ 115-156 (lines=42) @@
112
    }
113
114
    //Spiele mit fehlenden Spieledateien anzeigen
115
    public function index_gamefiles($orderby = 'title', $direction = 'asc')
116
    {
117
        $rows = (\Auth::check()) ? \Auth::user()->settings->rows_per_page_games : config('app.rows_per_page_games');
118
119
        if ($orderby == 'developer.name') {
120
            $games = Game::Join('games_developer', 'games.id', '=', 'games_developer.game_id')
121
                ->leftJoin('games_files as tr', 'tr.game_id', '=', 'games.id')
122
                ->leftJoin('screenshots as tr', 'tr.game_id', '=', 'games.id')
123
                ->groupBy('games.id')
124
                ->orderBy($orderby, $direction)
125
                ->havingRaw('COUNT(tr.id) < 1')
126
                ->paginate($rows, [
127
                    'games.*',
128
                ]);
129
        } elseif ($orderby == 'game.release_date') {
130
            $games = Game::Join('games_files', 'games.id', '=', 'games_files.game_id')
131
                ->leftJoin('games_files as tr', 'tr.game_id', '=', 'games.id')
132
                ->groupBy('games.id')
133
                ->orderBy('games_files.release_year', $direction)
134
                ->orderBy('games_files.release_month', $direction)
135
                ->orderBy('games_files.release_day', $direction)
136
                ->havingRaw('COUNT(tr.id) < 1')
137
                ->paginate($rows, [
138
                    'games.*',
139
                ]);
140
        } else {
141
            $games = Game::with(['tags'])->select(['games.*', \DB::raw('COUNT(tr.id) as ctr')])
142
                ->leftJoin('games_files as tr', 'tr.game_id', '=', 'games.id')
143
                ->groupBy('games.id')
144
                ->orderBy($orderby, $direction)
145
                ->havingRaw('COUNT(tr.id) < 1')
146
                ->paginate($rows, [
147
                    'games.*',
148
                ]);
149
        }
150
151
        return view('missing.gamefiles.index', [
152
            'games'     => $games,
153
            'orderby'   => $orderby,
154
            'direction' => $direction,
155
        ]);
156
    }
157
158
    //Spiele mit fehlender Spielebeschreibung anzeigen
159
    public function index_gamedesc($orderby = 'title', $direction = 'asc')