GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Zone::delete_zone()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Cloudflare;
4
5
/**
6
 * CloudFlare API wrapper
7
 *
8
 * Zone
9
 * A Zone is a domain name along with its subdomains and other identities
10
 *
11
 * @author James Bell <[email protected]>
12
 *
13
 * @version 1
14
 */
15
class Zone extends Api
16
{
17
    /**
18
     * Create a zone (permission needed: #zone:edit)
19
     *
20
     * @param string    $name         The domain name
21
     * @param bool|null $jump_start   Automatically attempt to fetch existing DNS records
22
     * @param int|null  $organization To create a zone owned by an organization, specify the organization parameter. Organization objects can be found in the User or User's Organizations endpoints. You must pass at least the ID of the organization.
23
     */
24
    public function create($name, $jump_start = null, $organization = null)
25
    {
26
        $data = [
27
            'name'         => $name,
28
            'jump_start'   => $jump_start,
29
            'organization' => $organization,
30
        ];
31
32
        return $this->post('zones', $data);
33
    }
34
35
    /**
36
     * Initiate another zone activation check (permission needed: #zone:edit)
37
     *
38
     * @param string $identifier API item identifier tag
39
     */
40
    public function activation_check($identifier)
41
    {
42
        return $this->put('zones/'.$identifier.'/activation_check');
43
    }
44
45
    /**
46
     * List zones (permission needed: #zone:read)
47
     * List, search, sort, and filter your zones
48
     *
49
     * @param string|null $name      A domain name
50
     * @param string|null $status    Status of the zone (active, pending, initializing, moved, deleted)
51
     * @param int|null    $page      Page number of paginated results
52
     * @param int|null    $per_page  Number of zones per page
53
     * @param string|null $order     Field to order zones by (name, status, email)
54
     * @param string|null $direction Direction to order zones (asc, desc)
55
     * @param string|null $match     Whether to match all search requirements or at least one (any) (any, all)
56
     */
57
    public function zones($name = null, $status = null, $page = null, $per_page = null, $order = null, $direction = null, $match = null)
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
58
    {
59
        $data = [
60
            'name'      => $name,
61
            'status'    => $status,
62
            'page'      => $page,
63
            'per_page'  => $per_page,
64
            'order'     => $order,
65
            'direction' => $direction,
66
            'match'     => $match,
67
        ];
68
69
        return $this->get('zones', $data);
70
    }
71
72
    /**
73
     * Zone details (permission needed: #zone:read)
74
     *
75
     * @param string $zone_identifier API item identifier tag
76
     */
77
    public function zone($zone_identifier)
0 ignored issues
show
Coding Style Best Practice introduced by
Please use __construct() instead of a PHP4-style constructor that is named after the class.
Loading history...
78
    {
79
        return $this->get('zones/'.$zone_identifier);
80
    }
81
82
    /**
83
     * Edit Vanity Name Servers (permission needed: #zone:edit)
84
     *
85
     * @param string $zone_identifier     API item identifier tag
86
     * @param array  $vanity_name_servers An array of domains used for custom name servers. This is only available for Business
87
     *                                    and Enterprise plans.
88
     */
89
    public function edit_vanity_name_servers($zone_identifier, $vanity_name_servers)
90
    {
91
        $data = [
92
            'vanity_name_servers' => $vanity_name_servers,
93
        ];
94
95
        return $this->patch('zones/'.$zone_identifier, $data);
96
    }
97
98
    /**
99
     * Edit the desired plan for the zone (permission needed: #zone:edit)
100
     *
101
     * @param string $zone_identifier API item identifier tag
102
     * @param object $plan            The desired plan for the zone. Changing this value will create/cancel associated
103
     *                                subscriptions. To view available plans for this zone, see Zone Plans
104
     */
105
    public function edit_plan($zone_identifier, $plan)
106
    {
107
        $data = [
108
            'plan' => $plan,
109
        ];
110
111
        return $this->patch('zones/'.$zone_identifier, $data);
112
    }
113
114
    /**
115
     * Pause all CloudFlare features (permission needed: #zone:edit)
116
     * This will pause all features and settings for the zone. DNS will still resolve
117
     *
118
     * @param string $zone_identifier API item identifier tag
119
     */
120
    public function pause($zone_identifier)
121
    {
122
        $data = [
123
            'paused' => true,
124
        ];
125
126
        return $this->patch('zones/'.$zone_identifier, $data);
127
    }
128
129
    /**
130
     * Re-enable all CloudFlare features (permission needed: #zone:edit)
131
     * This will restore all features and settings for the zone
132
     *
133
     * @param string $zone_identifier API item identifier tag
134
     */
135
    public function unpause($zone_identifier)
136
    {
137
        $data = [
138
            'paused' => false,
139
        ];
140
141
        return $this->patch('zones/'.$zone_identifier, $data);
142
    }
143
144
    /**
145
     * Delete a zone (permission needed: #zone:edit)
146
     *
147
     * @param string $zone_identifier API item identifier tag
148
     */
149
    public function delete_zone($zone_identifier)
150
    {
151
        return $this->delete('zones/'.$zone_identifier);
152
    }
153
}
154