Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
CRAP | |
0.00% |
0 / 40 |
Referrer | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
600 | |
0.00% |
0 / 40 |
createReferrer | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 9 |
|||
editReferrer | |
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 11 |
|||
deleteReferrer | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 6 |
|||
getZoneReferrers | |
0.00% |
0 / 1 |
56 | |
0.00% |
0 / 8 |
|||
deleteReferrers | |
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 6 |
1 | <?php |
2 | namespace Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Traits; |
3 | |
4 | use Qmp\Laravel\CDNApi\Cdn\AbstractProvider; |
5 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Alias; |
6 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Referrer as ObjectReferrer; |
7 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Stats; |
8 | use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\Objects\Zone; |
9 | |
10 | trait Referrer |
11 | { |
12 | public function createReferrer($zoneId, $url) |
13 | { |
14 | $referrer = new ObjectReferrer(); |
15 | $referrer->zone_id = $zoneId; |
16 | $referrer->name= $url; |
17 | |
18 | $result = $this->send('add_zone_referrer', $referrer); |
19 | |
20 | if (isset($result['status']) && $result['status'] == 'success' && isset($result['data']['zonereferrer'])) { |
21 | $referrer->set($result['data']['zonereferrer']); |
22 | $referrer->setId($referrer->id); |
23 | return $referrer->all(); |
24 | } |
25 | |
26 | return false; |
27 | } |
28 | |
29 | public function editReferrer($id, $url = null, $zoneId = null) |
30 | { |
31 | $referrer = new ObjectReferrer(['id' => $id]); |
32 | $referrer->setId($id); |
33 | if ($zoneId) { |
34 | $referrer->zone_id = $zoneId; |
35 | } |
36 | if ($url) { |
37 | $referrer->name= $url; |
38 | } |
39 | |
40 | $result = $this->send('edit_zone_alias', $referrer); |
41 | |
42 | if (isset($result['status']) && $result['status'] == 'success' && isset($result['data']['zonereferrer'])) { |
43 | $referrer->set($result['data']['zonereferrer']); |
44 | return $referrer->all(); |
45 | } |
46 | } |
47 | |
48 | public function deleteReferrer($id) |
49 | { |
50 | $referrer = new ObjectReferrer(); |
51 | $referrer->setId($id); |
52 | $result = $this->send('delete_zone_referrer', $referrer); |
53 | if (!isset($result['status']) || $result['status'] != 'success') { |
54 | return false; |
55 | } |
56 | |
57 | return true; |
58 | } |
59 | |
60 | protected function getZoneReferrers($id = null) |
61 | { |
62 | $result = $this->send('list_zone_referrers'); |
63 | |
64 | $response = []; |
65 | if (isset($result['status']) && $result['status'] == 'success' && isset($result['data']['zonereferrers'])) { |
66 | foreach ($result['data']['zonereferrers'] as $zoneReferrers) { |
67 | if ($zoneReferrers['zone_id'] == $id || $id === null) { |
68 | $referrer = new ObjectReferrer($zoneReferrers); |
69 | $response[] = $referrer->all(); |
70 | } |
71 | } |
72 | } |
73 | |
74 | return $response; |
75 | } |
76 | |
77 | protected function deleteReferrers($zoneId) |
78 | { |
79 | $resultReferrers = $this->getZoneReferrers(); |
80 | foreach ($resultReferrers as $resultReferrer) { |
81 | if ($resultReferrer['zone_id'] == $zoneId) { |
82 | if (!$this->deleteReferrer($id)) { |
83 | return false; |
84 | } |
85 | } |
86 | } |
87 | |
88 | return true; |
89 | } |
90 | |
91 | |
92 | } |