Passed
Push — master ( ea4f1f...1035b2 )
by Davide
03:06
created

LaravelJumbotronImages::showJumbotronImage()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 6
ccs 4
cts 4
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace DavideCasiraghi\LaravelJumbotronImages;
4
5
use DavideCasiraghi\LaravelJumbotronImages\Models\JumbotronImage;
6
7
class LaravelJumbotronImages
8
{
9
    /**
10
     * Return a random quote.
11
     *
12
     * @return \DavideCasiraghi\LaravelJumbotronImages\Models\JumbotronImage
13
     */
14 1
    public function getJumbotronImage($jumbotronImageId)
15
    {
16 1
        $jumbotronImage = JumbotronImage::find($jumbotronImageId);
17 1
        $jumbotronImage->parameters = $this->getParametersArray($jumbotronImage);
0 ignored issues
show
Bug introduced by
The property parameters does not seem to exist on DavideCasiraghi\LaravelJ...s\Models\JumbotronImage. Are you sure there is no database migration missing?

Checks if undeclared accessed properties appear in database migrations and if the creating migration is correct.

Loading history...
18
19 1
        $ret = $jumbotronImage;
20
21 1
        return $ret;
22
    }
23
24
    /*****************************/
25
26
    /**
27
     * Show a Jumbotron Image.
28
     *
29
     * @return \DavideCasiraghi\LaravelJumbotronImages\Models\JumbotronImage
30
     */
31 1
    public function showJumbotronImage($jumbotronImageId)
32
    {
33 1
        $jumbotronImage = JumbotronImage::find($jumbotronImageId);
34 1
        $jumbotronImage->parameters = $this->getParametersArray($jumbotronImage);
0 ignored issues
show
Bug introduced by
The property parameters does not seem to exist on DavideCasiraghi\LaravelJ...s\Models\JumbotronImage. Are you sure there is no database migration missing?

Checks if undeclared accessed properties appear in database migrations and if the creating migration is correct.

Loading history...
35
36 1
        return view('laravel-jumbotron-images::jumbotronImages.show', compact('jumbotronImage'));
37
    }
38
39
    /***************************************************************************/
40
41
    /**
42
     * Attach to the jumbotron image object an array with the parameters for the show-jumbotron-image view.
43
     *
44
     * @return array
45
     */
46 3
    public static function getParametersArray($jumbotronImage)
47
    {
48
        $ret = [
49 3
             'cover_opacity' => 'opacity: '.$jumbotronImage->cover_opacity.';',
50 3
             'background_color' => 'background: #'.$jumbotronImage->background_color.';',
51 3
             'image' => 'background-image:url(/storage/images/jumbotron_images/'.$jumbotronImage->image_file_name.');',
52
         ];
53
54
        /* Parallax - The element is defined with stellar plugin like: <section class="parallax" data-stellar-background-ratio="0.5" ><span>Summer</span></section>*/
55 3
        if ($jumbotronImage->parallax == 1) {
56 2
            $ret['parallax'] = ' parallax';
57 2
            $ret['parallax_ratio'] = "data-stellar-background-ratio='0.5'";
58
        }
59
60 3
        if ($jumbotronImage->white_moon == 1) {
61 2
            $ret['white_moon'] = ' moon-curve ';
62
        }
63
64
        /* Scroll down arrow */
65 3
        if ($jumbotronImage->scroll_down_arrow == 1) {
66 2
            $ret['scroll_down_arrow'] = "<div class='scroll-arrow white'><span>SCROLL DOWN</span><img src='/vendor/laravel-jumbotron-images/assets/images/angle-down-regular.svg'></div>";
67
        }
68
69 3
        switch ($jumbotronImage->text_horizontal_alignment) {
70 3
            case 0:
71 1
                $ret['text_horizontal_alignment'] = 'text-align: left;';
72 1
                break;
73 2
            case 1:
74 2
                $ret['text_horizontal_alignment'] = 'text-align: center;';
75 2
                break;
76
            case 2:
77
                $ret['text_horizontal_alignment'] = 'text-align: right;';
78
                break;
79
        }
80
81 3
        if ($jumbotronImage->text_width != 100) {
82 3
            switch ($jumbotronImage->text_horizontal_alignment) {
83 3
                case 0:	// Left
84 1
                    $ret['text_width'] = 'width: '.$jumbotronImage->text_width.'%;';
85 1
                break;
86 2
                case 1: // Center
87 2
                    $ret['text_width'] = 'width: '.$jumbotronImage->text_width.'%; margin: auto;';
88 2
                break;
89
                case 2: // Right
90
                    $ret['text_width'] = 'width: '.$jumbotronImage->text_width.'%; float: right;';
91
                break;
92
            }
93
        }
94
95 3
        return $ret;
96
    }
97
}
98