Passed
Pull Request — master (#9)
by
unknown
17:20
created

SiteRepository::updateIntegrations()   B

Complexity

Conditions 6
Paths 32

Size

Total Lines 39
Code Lines 26

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 6
eloc 26
nc 32
nop 1
dl 0
loc 39
rs 8.8817
c 0
b 0
f 0
1
<?php
2
3
namespace Chuckbe\Chuckcms\Chuck;
4
5
use Chuckbe\Chuckcms\Models\Site;
6
7
class SiteRepository
8
{
9
10
    public static function updateOrCreateFromRequest($req)
11
    {
12
        $settings = [];
13
        foreach ($req->get('company') as $cmpKey => $cmpValue) {
14
            $settings['company'][$cmpKey] = $cmpValue;
15
        }
16
        foreach ($req->get('socialmedia') as $smKey => $smValue) {
17
            $settings['socialmedia'][$smKey] = $smValue;
18
        }
19
        foreach ($req->get('favicon') as $faviKey => $faviValue) {
20
            $settings['favicon'][$faviKey] = $faviValue;
21
        }
22
        foreach ($req->get('logo') as $logoKey => $logoValue) {
23
            $settings['logo'][$logoKey] = $logoValue;
24
        }
25
        foreach ($req->get('integrations') as $igsKey => $igsValue) {
26
            $settings['integrations'][$igsKey] = $igsValue;
27
        }
28
        $settings['lang'] = implode(",", $req->get('lang'));
29
        $settings['domain'] = $req->get('site_domain'); 
30
        
31
        // updateOrCreate the site
32
        $result = Site::updateOrCreate(
33
            ['id' => $req->get('site_id')],
34
            ['name' => $req->get('site_name'),
35
            'slug' => $req->get('site_slug'),
36
            'domain' => $req->get('site_domain'),
37
            'settings' => $settings]
38
        );
39
40
        return $result;
41
    }
42
43
    public static function updateIntegrations($req)
44
    {
45
        $settings = [];
46
        foreach ($req['company'] as $cmpKey => $cmpValue) {
47
            $settings['company'][$cmpKey] = $cmpValue;
48
        }
49
        foreach ($req['socialmedia'] as $cmpKey => $cmpValue) {
50
            $settings['socialmedia'][$cmpKey] = $cmpValue;
51
        }
52
        foreach ($req['favicon'] as $faviKey => $faviValue) {
53
            $settings['favicon'][$faviKey] = $faviValue;
54
        }
55
        foreach ($req['logo'] as $faviKey => $faviValue) {
56
            $settings['logo'][$faviKey] = $faviValue;
57
        }
58
        foreach($req['integrations'] as $igsKey => $igsValue){
59
            $settings['integrations'][$igsKey] = $igsValue;
60
        }
61
        $settings['lang'] = $req['lang'];
62
        $settings['domain'] = $req['domain']; 
63
64
        $result = [
0 ignored issues
show
Unused Code introduced by
The assignment to $result is dead and can be removed.
Loading history...
65
            ['id' => $req['id']],
66
            ['name' => $req['name'],
67
            'slug' => $req['slug'],
68
            'domain' => $req['domain'],
69
            'settings' => $settings]
70
        ];
71
72
         // updateOrCreate the site
73
        $result = Site::updateOrCreate(
74
            ['id' => $req['id']],
75
            ['name' => $req['name'],
76
            'slug' => $req['slug'],
77
            'domain' => $req['domain'],
78
            'settings' => $settings]
79
        );
80
81
        return $result;
82
    }
83
84
    public static function createFromArray($array)
85
    {
86
        // updateOrCreate the site
87
        $result = Site::create($array);
88
89
        return $result;
90
    }
91
92
}