Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
CRAP | |
0.00% |
0 / 41 |
Alias | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
600 | |
0.00% |
0 / 41 |
createAlias | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 10 |
|||
editAlias | |
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 11 |
|||
deleteAlias | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 6 |
|||
getZoneAliases | |
0.00% |
0 / 1 |
56 | |
0.00% |
0 / 8 |
|||
deleteAliases | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 6 |
1 | <?php |
2 | namespace Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Traits; |
3 | |
4 | use Illuminate\Support\Facades\Log; |
5 | use Qmp\Laravel\CDNApi\Cdn\AbstractProvider; |
6 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Alias as ObjectAlias; |
7 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Referrer; |
8 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Stats; |
9 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Zone; |
10 | |
11 | trait 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 | } |