1 | <?php |
||
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) |
||
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) |
||
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) |
||
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) |
||
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) |
||
153 | } |
||
154 |
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.