Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 41
Alias
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 5
600
0.00% covered (danger)
0.00%
0 / 41
 createAlias
0.00% covered (danger)
0.00%
0 / 1
20
0.00% covered (danger)
0.00%
0 / 10
 editAlias
0.00% covered (danger)
0.00%
0 / 1
42
0.00% covered (danger)
0.00%
0 / 11
 deleteAlias
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 6
 getZoneAliases
0.00% covered (danger)
0.00%
0 / 1
56
0.00% covered (danger)
0.00%
0 / 8
 deleteAliases
0.00% covered (danger)
0.00%
0 / 1
20
0.00% covered (danger)
0.00%
0 / 6
1<?php
2namespace Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Traits;
3
4use Illuminate\Support\Facades\Log;
5use Qmp\Laravel\CDNApi\Cdn\AbstractProvider;
6use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Alias as ObjectAlias;
7use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Referrer;
8use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Stats;
9use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Zone;
10
11trait Alias
12{
13    public function createAlias($zoneId, $url)
14    {
15        $alias = new ObjectAlias();
16        $alias->zone_id = $zoneId;
17        $alias->name= $url;
18
19        $result = $this->send('add_zone_alias', $alias);
20
21        if (isset($result['status']) && $result['status'] == 'success' && isset($result['data']['zonealias'])) {
22            $alias->set($result['data']['zonealias']);
23            $alias->setId($alias->id);
24            return $alias->all();
25        }
26
27        Log::debug(var_export($result, true));
28
29        return false;
30    }
31
32    public function editAlias($id, $url = null, $zoneId = null)
33    {
34        $alias = new ObjectAlias(['id' => $id]);
35        $alias->setId($id);
36        if ($zoneId) {
37            $alias->zone_id = $zoneId;
38        }
39        if ($url) {
40            $alias->name= $url;
41        }
42
43        $result = $this->send('edit_zone_alias', $alias);
44
45        if (isset($result['status']) && $result['status'] == 'success' && isset($result['data']['zonealias'])) {
46            $alias->set($result['data']['zonealias']);
47            return $alias->all();
48        }
49    }
50
51    public function deleteAlias($id)
52    {
53        $alias = new ObjectAlias();
54        $alias->setId($id);
55        $result = $this->send('delete_zone_alias', $alias);
56        if (!isset($result['status']) || $result['status'] != 'success') {
57            return false;
58        }
59
60        return true;
61    }
62
63    protected function getZoneAliases($id = null)
64    {
65        $result = $this->send('list_zone_aliases');
66
67        $response = [];
68        if (isset($result['status']) && $result['status'] == 'success' && isset($result['data']['zonealiases'])) {
69            foreach ($result['data']['zonealiases'] as $zoneAlias) {
70                if ($zoneAlias['zone_id'] == $id || $id === null) {
71                    $alias = new ObjectAlias($zoneAlias);
72                    $response[] = $alias->all();
73                }
74            }
75        }
76
77        return $response;
78    }
79
80    protected function deleteAliases($zoneId)
81    {
82        $resultAliases = $this->getZoneAliases();
83        foreach ($resultAliases as $resultAlias) {
84            if ($resultAlias['zone_id'] == $zoneId) {
85                if (!$this->deleteAlias($resultAlias['id'])) {
86                    return false;
87                }
88            }
89        }
90
91        return true;
92    }
93
94
95
96}