Code Duplication    Length = 8-14 lines in 11 locations

src/PlaygroundGame/Controller/Frontend/InstantWinController.php 2 locations

@@ 21-31 (lines=11) @@
18
19
        if ($this->game->getOccurrenceType()=='datetime') {
20
            $entry = $this->getGameService()->play($this->game, $this->user);
21
            if (!$entry) {
22
                // the user has already taken part of this game and the participation limit has been reached
23
                $this->flashMessenger()->addMessage('Vous avez déjà participé');
24
25
                return $this->redirect()->toUrl(
26
                    $this->frontendUrl()->fromRoute(
27
                        'instantwin/result',
28
                        array('id' => $this->game->getIdentifier())
29
                    )
30
                );
31
            }
32
33
            // update the winner attribute in entry.
34
            $occurrence = $this->getGameService()->IsInstantWinner($this->game, $this->user);
@@ 91-99 (lines=9) @@
88
    {
89
        $lastEntry = $this->getGameService()->findLastInactiveEntry($this->game, $this->user);
90
91
        if (!$lastEntry) {
92
            return $this->redirect()->toUrl(
93
                $this->frontendUrl()->fromRoute(
94
                    'instantwin',
95
                    array('id' => $this->game->getIdentifier(), ),
96
                    array('force_canonical' => true)
97
                )
98
            );
99
        }
100
        $winner = $lastEntry->getWinner();
101
        $occurrence = null;
102

src/PlaygroundGame/Controller/Frontend/LotteryController.php 2 locations

@@ 20-30 (lines=11) @@
17
        }
18
19
        $entry = $this->getGameService()->play($this->game, $this->user);
20
        if (!$entry) {
21
            // the user has already taken part of this game and the participation limit has been reached
22
            $this->flashMessenger()->addMessage('Vous avez déjà participé');
23
24
            return $this->redirect()->toUrl(
25
                $this->frontendUrl()->fromRoute(
26
                    'lottery/result',
27
                    array('id' => $this->game->getIdentifier())
28
                )
29
            );
30
        }
31
32
        // Every entry is eligible to draw
33
        $entry->setDrawable(true);
@@ 58-66 (lines=9) @@
55
        $socialLinkUrl = $this->shortenUrl()->shortenUrl($socialLinkUrl);
56
57
        $lastEntry = $this->getGameService()->findLastInactiveEntry($this->game, $this->user);
58
        if (!$lastEntry) {
59
            return $this->redirect()->toUrl(
60
                $this->frontendUrl()->fromRoute(
61
                    'lottery',
62
                    array('id' => $this->game->getIdentifier()),
63
                    array('force_canonical' => true)
64
                )
65
            );
66
        }
67
68
        $form = $this->getServiceLocator()->get('playgroundgame_sharemail_form');
69
        $form->setAttribute('method', 'post');

src/PlaygroundGame/Controller/Frontend/MissionController.php 2 locations

@@ 47-57 (lines=11) @@
44
    {
45
        $subGameIdentifier = $this->getEvent()->getRouteMatch()->getParam('gameId');
46
        $entry = $this->getGameService()->play($this->game, $this->user);
47
        if (!$entry) {
48
            // the user has already taken part of this game and the participation limit has been reached
49
            $this->flashMessenger()->addMessage('You have already played');
50
51
            return $this->redirect()->toUrl(
52
                $this->frontendUrl()->fromRoute(
53
                    'mission/result',
54
                    array('id' => $this->game->getIdentifier())
55
                )
56
            );
57
        }
58
59
        if (!$subGameIdentifier) {
60
            $subGame = $this->game->getNextPlayableGame($entry);
@@ 65-75 (lines=11) @@
62
            $subGame = $this->getGameService()->checkGame($subGameIdentifier);
63
        }
64
65
        if (!$this->game->isPlayable($subGame, $entry)) {
66
            // this subgame is not playable
67
            $this->flashMessenger()->addMessage('No game found');
68
69
            return $this->redirect()->toUrl(
70
                $this->frontendUrl()->fromRoute(
71
                    'mission',
72
                    array('id' => $this->game->getIdentifier())
73
                )
74
            );
75
        }
76
        
77
        $socialLinkUrl = $this->frontendUrl()->fromRoute(
78
            'mission',

src/PlaygroundGame/Controller/Frontend/GameController.php 1 location

@@ 311-324 (lines=14) @@
308
309
                if ($key < $keyplay || ($keyStep && !$keyplayStep && $key <= $keyplay)) {
310
                    $entry = $this->getGameService()->play($this->game, $this->user);
311
                    if (!$entry) {
312
                        // the user has already taken part of this game and the participation limit has been reached
313
                        $this->flashMessenger()->addMessage('Vous avez déjà participé');
314
                    
315
                        return $this->redirect()->toUrl(
316
                            $this->frontendUrl()->fromRoute(
317
                                $this->game->getClassType().'/result',
318
                                array(
319
                                    'id' => $this->game->getIdentifier(),
320
                                    
321
                                )
322
                            )
323
                        );
324
                    }
325
                } else {
326
                    // I'm looking for an entry without anonymousIdentifier (the active entry in fact).
327
                    $entry = $this->getGameService()->findLastEntry($this->game, $this->user);

src/PlaygroundGame/Controller/Frontend/QuizController.php 1 location

@@ 196-204 (lines=9) @@
193
        $socialLinkUrl = $this->shortenUrl()->shortenUrl($socialLinkUrl);
194
195
        $lastEntry = $this->getGameService()->findLastEntry($this->game, $this->user);
196
        if (!$lastEntry) {
197
            return $this->redirect()->toUrl(
198
                $this->frontendUrl()->fromRoute(
199
                    'quiz',
200
                    array('id' => $this->game->getIdentifier()),
201
                    array('force_canonical' => true)
202
                )
203
            );
204
        }
205
206
        // je compte les bonnes réponses et le ratio
207
        $maxCorrectAnswers = $this->game->getMaxCorrectAnswers();

src/PlaygroundGame/Controller/Frontend/PostVoteController.php 3 locations

@@ 156-164 (lines=9) @@
153
    {
154
        $entry = $this->getGameService()->findLastActiveEntry($this->game, $this->user);
155
         
156
        if (!$entry) {
157
            // the user has already taken part of this game and the participation limit has been reached
158
            return $this->redirect()->toUrl(
159
                $this->frontendUrl()->fromRoute(
160
                    'postvote/'.$this->game->nextStep('preview'),
161
                    array('id' => $this->game->getIdentifier())
162
                )
163
            );
164
        }
165
166
        // Je recherche le post associé à entry + status == 0. Si non trouvé, je redirige vers home du jeu.
167
        $post = $this->getGameService()->getPostVotePostMapper()->findOneBy(array('entry' => $entry, 'status' => 0));
@@ 228-235 (lines=8) @@
225
        // Je recherche le post associé à entry + status == 0. Si non trouvé, je redirige vers home du jeu.
226
        $post = $this->getGameService()->getPostVotePostMapper()->findById($postId);
227
228
        if (! $post || $post->getStatus() === 9) {
229
            return $this->redirect()->toUrl(
230
                $this->frontendUrl()->fromRoute(
231
                    'postvote',
232
                    array('id' => $this->game->getIdentifier())
233
                )
234
            );
235
        }
236
237
        $formModeration = new Form();
238
        $formModeration->setAttribute('method', 'post');
@@ 330-338 (lines=9) @@
327
        // Je recherche le post associé à entry + status == 0. Si non trouvé, je redirige vers home du jeu.
328
        $post = $this->getGameService()->getPostVotePostMapper()->findOneBy(array('entry' => $lastEntry));
329
330
        if (! $post) {
331
            die('bad');
332
            return $this->redirect()->toUrl(
333
                $this->frontendUrl()->fromRoute(
334
                    'postvote',
335
                    array('id' => $this->game->getIdentifier())
336
                )
337
            );
338
        }
339
340
        $view = $this->forward()->dispatch(
341
            'playgroundgame_'.$this->game->getClassType(),