顧客様の作成・削除

諏訪子 <suwako@076.moe>、2026-04-29 20:03
コミット 1588201998f9076f801f717a62724d7d9ed22a35 ・親 7b8fdca ・ファイルを見る

8個のファイル、+466 -319

変更 .gitignore
@@ -1,7 +1,7 @@
11 data/*.pem
22 data/*.txt
33 data/*.json
4-data/cache/*.json
4+data/cache
55 data/user/*.json
66 log/*.txt
77 public/static/user
@@ -6,7 +6,10 @@
66 height: 300px;
77 }
88
9-button {
9+button, a.op-button {
10+ text-decoration: none;
11+ padding: 4px;
12+ margin: 4px;
1013 border: 1px solid #ea79d8;
1114 color: #fcfcfc;
1215 border-radius: 4px;
@@ -15,8 +18,57 @@
1518 transition: background-color 0.2s ease-in-out;
1619 }
1720
18-button:hover {
21+a.op-button-delete {
22+ text-decoration: none;
23+ padding: 4px;
24+ margin: 4px;
25+ border: 1px solid #ee5040;
26+ color: #fcfcfc;
27+ border-radius: 4px;
28+ background: #ee5040;
29+ font-size: 16px;
30+ transition: background-color 0.2s ease-in-out;
31+}
32+
33+a.op-button-create {
34+ text-decoration: none;
35+ padding: 4px;
36+ margin: 4px;
37+ border: 1px solid #17c73d;
38+ color: #fcfcfc;
39+ border-radius: 4px;
40+ background: #17c73d;
41+ font-size: 16px;
42+ transition: background-color 0.2s ease-in-out;
43+}
44+
45+a.op-button-edit {
46+ text-decoration: none;
47+ padding: 4px;
48+ margin: 4px;
49+ border: 1px solid #dbd81d;
50+ color: #232023;
51+ border-radius: 4px;
52+ background: #dbd81d;
53+ font-size: 16px;
54+ transition: background-color, color 0.2s ease-in-out;
55+}
56+
57+button:hover, a.op-button:hover {
1958 background-color: #b421f8;
59+}
60+
61+a.op-button-delete:hover {
62+ background-color: #8d0707;
63+}
64+
65+a.op-button-create:hover {
66+ background-color: #077907;
67+}
68+
69+a.op-button-edit:hover {
70+ background-color: #9fa10d;
71+ color: #fcfcfc;
2072 }
2173
2274 tr.status-free { background-color: #34860e; color: #fff; }
変更 route.php
@@ -97,7 +97,8 @@
9797 if (OPENPROVIDER_ENABLED) {
9898 $routes[] = Route::add('GET', 'openprovider', Op::class.'@index');
9999 $routes[] = Route::add('GET', 'openprovider/listcustomers', Op::class.'@opListCustomers');
100- $routes[] = Route::add('GET', 'openprovider/createcustomer', Op::class.'@opCreateCustomers');
100+ $routes[] = Route::add('GET', 'openprovider/createcustomer', Op::class.'@opCreateCustomer');
101+ $routes[] = Route::add('GET', 'openprovider/deletecustomer/{handle}', Op::class.'@opDeleteCustomer');
101102 $routes[] = Route::add('GET', 'openprovider/getcustomer/{handle}', Op::class.'@opGetCustomer');
102103 $routes[] = Route::add('GET', 'openprovider/listtlds', Op::class.'@opListTlds');
103104 $routes[] = Route::add('GET', 'openprovider/gettld/{tld}', Op::class.'@opGetTld');
@@ -40,8 +40,8 @@
4040 use Site\Controller\Mods;
4141 use Std\Lib\Auth;
4242 use Std\Lib\Template;
43-
4443 use Std\Lib\Openprovider;
44+use Roles;
4545
4646 class Op {
4747 use Mods;
@@ -63,7 +63,7 @@
6363 $tmpl->assign('menu', $this->getMenu());
6464 $tmpl->assign('description', $description);
6565
66- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
66+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
6767 $tmpl->addCss('table');
6868 $tmpl->render('index');
6969 exit();
@@ -92,7 +92,7 @@
9292 $tmpl->assign('menu', $this->getMenu());
9393 $tmpl->assign('description', $description);
9494
95- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
95+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
9696 $op = new Openprovider();
9797 $op->login();
9898 $data = $op->listCustomers();
@@ -111,39 +111,44 @@
111111
112112 public function opCreateCustomer(array $params): void {
113113 try {
114- kys('sasa');
115- if (isset($_POST)) kys($_POST);
116114 $payload = [
117115 'additional_data' => [
118- 'company_registration_number' => '',
119- 'company_url' => '',
116+ 'company_registration_number' => $_POST['company_registration_number'] ?? '',
117+ 'company_url' => $_POST['company_url'] ?? '',
118+ 'birth_date' => $_POST['birth_year'] !== '' && $_POST['birth_month'] !== '' && $_POST['birth_day'] !== '' ? $_POST['birth_year'].'-'.$_POST['birth_month'].'-'.$_POST['birth_day'] : '',
119+ 'trading_name' => $_POST['company_name'] ?? '',
120120 ],
121121 'address' => [
122- 'city' => '',
123- 'country' => '',
124- 'number' => '',
125- 'state' => '',
126- 'street' => '',
127- 'zipcode' => '',
122+ 'city' => $_POST['address_city'] ?? '',
123+ 'country' => $_POST['address_country'] ?? 'JP',
124+ 'number' => $_POST['address_number'] ?? '',
125+ 'state' => $_POST['address_state'] ?? '',
126+ 'street' => $_POST['address_street'] ?? '',
127+ 'zipcode' => $_POST['address_zipcode'] ?? '',
128128 ],
129- 'comments' => '',
130- 'company_name' => '',
131- 'email' => '',
129+ 'birth' => [
130+ 'year' => $_POST['birth_year'] ?? '',
131+ 'month' => $_POST['birth_month'] ?? '',
132+ 'day' => $_POST['birth_day'] ?? '',
133+ ],
134+ 'comments' => $_POST['comments'] ?? '',
135+ 'company_name' => $_POST['company_name'] ?? '',
136+ 'email' => $_POST['email'] ?? '',
132137 'fax' => [
133- 'area_code' => '',
134- 'country_code' => '',
135- 'subscriber_number' => '',
138+ 'area_code' => $_POST['fax_area_code'] ?? '',
139+ 'country_code' => $_POST['fax_country_code'] ?? '',
140+ 'subscriber_number' => $_POST['fax_subscriber_number'] ?? '',
136141 ],
137142 'locale' => 'ja_JP',
138143 'name' => [
139- 'first_name' => '',
140- 'full_name' => '',
141- 'last_name' => '',
144+ 'first_name' => $_POST['first_name'] ?? '',
145+ 'full_name' => $_POST['first_name'] !== '' && $_POST['last_name'] !== '' ? $_POST['first_name'].' '.$_POST['last_name'] : '',
146+ 'last_name' => $_POST['last_name'] ?? '',
142147 ],
143148 'phone' => [
144- 'area_code' => '',
145- 'country_code' => '',
146- 'subscriber_number' => '',
149+ 'area_code' => $_POST['phone_area_code'] ?? '',
150+ 'country_code' => $_POST['phone_country_code'] ?? '',
151+ 'subscriber_number' => $_POST['phone_subscriber_number'] ?? '',
147152 ],
148153 ];
149154 $tmpl = new Template('/openprovider/');
@@ -161,19 +166,43 @@
161166 $tmpl->assign('menu', $this->getMenu());
162167 $tmpl->assign('description', $description);
163168
164- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
165- if (isset($_POST)) {
169+ $err = [];
170+
171+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
172+
173+ if (!empty($_POST)) {
174+ if (NULL === $_POST['last_name'] || $_POST['last_name'] === ''
175+ || NULL === $_POST['first_name'] || $_POST['first_name'] === '') $err[] = '姓名をご入力下さい。';
176+ if (NULL === $_POST['phone_country_code'] || $_POST['phone_country_code'] === ''
177+ || NULL === $_POST['phone_area_code'] || $_POST['phone_area_code'] === ''
178+ || NULL === $_POST['phone_subscriber_number'] || $_POST['phone_subscriber_number'] === '') $err[] = '電話番号をご入力下さい。';
179+ if (NULL === $_POST['email'] || $_POST['email'] === '') $err[] = 'メールアドレスをご入力下さい。';
180+ if (NULL === $_POST['address_zipcode'] || $_POST['address_zipcode'] === '') $err[] = '郵便番号をご入力下さい。';
181+ if (NULL === $_POST['address_state'] || $_POST['address_state'] === '') $err[] = '都道府県をご入力下さい。';
182+ if (NULL === $_POST['address_city'] || $_POST['address_city'] === '') $err[] = '市区町村をご入力下さい。';
183+ if (NULL === $_POST['address_street'] || $_POST['address_street'] === '') $err[] = '町名をご入力下さい。';
184+ if (NULL === $_POST['address_number'] || $_POST['address_number'] === '') $err[] = '番地をご入力下さい。';
185+ if (!empty($err)) goto render;
186+
187+ if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $err[] = 'メールアドレスは不正です。';
188+ if (!str_starts_with($_POST['phone_country_code'], '+')) $err[] = '電話番号の国コードは「+」ご始まり下さい。';
189+ if ($_POST['fax_country_code'] !== '' && !str_starts_with($_POST['fax_country_code'], '+')) $err[] = 'FAXの国コードは「+」ご始まり下さい。';
190+ if ((!filter_var($_POST['phone_area_code'], FILTER_VALIDATE_INT)) || (!filter_var($_POST['phone_subscriber_number'], FILTER_VALIDATE_INT))) $err[] = '電話番号は数字をご入力下さい。';
191+ if (($_POST['fax_area_code'] !== '' || $_POST['fax_subscriber_number'] !== '') && (!filter_var($_POST['fax_area_code'], FILTER_VALIDATE_INT) || !filter_var($_POST['fax_subscriber_number'], FILTER_VALIDATE_INT))) $err[] = 'FAXは数字をご入力下さい。';
192+ if (!empty($err)) goto render;
193+
166194 $op = new Openprovider();
167195 $op->login();
168- $data = $op->createCustomer($_POST, true);
169- kys($data->data);
170- header("Location: /openprovider/getcustomer/{$data->data['handle']}");
196+ $data = $op->createCustomer($payload, true);
197+ header("Location: /openprovider/getcustomer/{$data->data['data']['handle']}");
171198 exit();
172199 }
173200
201+ render:
202+ $tmpl->assign('err', $err);
174203 $tmpl->assign('data', $payload);
204+ $tmpl->addCss('openprovider');
175205 $tmpl->render('createcustomer');
176- kys('sasa');
177206
178207 exit();
179208
@@ -207,13 +236,14 @@
207236 $tmpl->assign('menu', $this->getMenu());
208237 $tmpl->assign('description', $description);
209238
210- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
239+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
211240 $op = new Openprovider();
212241 $op->login();
213242 $data = $op->getCustomer($handle, true);
214243 $tmpl->assign('data', $data->data);
215244
216245 $tmpl->addCss('table');
246+ $tmpl->addCss('openprovider');
217247 $tmpl->render('getcustomer');
218248 exit();
219249
@@ -224,6 +254,58 @@
224254 }
225255 }
226256
257+ public function opDeleteCustomer(array $params): void {
258+ try {
259+ $handle = '';
260+ if (isset($params['handle'])) $handle = $params['handle'];
261+ if ($handle === '') {
262+ header('Location: /openprovider/listcustomers');
263+ exit();
264+ }
265+ assert_not_null($handle);
266+ $tmpl = new Template('/openprovider/');
267+ $pagetit = "OpenProvider管理 - 顧客様「{$handle}」の表示";
268+ $description = '';
269+
270+ // ユーザー
271+ $auth = new Auth();
272+ $user = $auth->getLoggedInUser();
273+ $tmpl->assign('user', $user);
274+
275+ $tmpl->assign('pagetit', $pagetit);
276+ $tmpl->assign('curPage', 'openprovider');
277+ $tmpl->assign('custCss', true);
278+ $tmpl->assign('menu', $this->getMenu());
279+ $tmpl->assign('description', $description);
280+
281+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
282+ if (empty($_POST)) goto render_confirm;
283+
284+ if (isset($_POST['delete_reject'])) {
285+ header("Location: /openprovider/getcustomer/{$handle}");
286+ exit();
287+ } else if (isset($_POST['delete_confirm'])) {
288+ $op = new Openprovider();
289+ $op->login();
290+ $op->deleteCustomer($handle);
291+ }
292+
293+ header('Location: /openprovider/listcustomers');
294+ exit();
295+
296+ render_confirm:
297+ $tmpl->assign('handle', $handle);
298+ $tmpl->addCss('openprovider');
299+ $tmpl->render('deletecustomer');
300+ exit();
301+
302+ noaccess:
303+ $tmpl->render('nopermission');
304+ } catch (\Exception $e) {
305+ throw new \Exception($e->getMessage());
306+ }
307+ }
308+
227309 public function opListTlds(array $params): void {
228310 try {
229311 $tmpl = new Template('/openprovider/');
@@ -241,7 +323,7 @@
241323 $tmpl->assign('menu', $this->getMenu());
242324 $tmpl->assign('description', $description);
243325
244- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
326+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
245327 $op = new Openprovider();
246328 $op->login();
247329 $data = $op->listTlds();
@@ -281,7 +363,7 @@
281363 $tmpl->assign('menu', $this->getMenu());
282364 $tmpl->assign('description', $description);
283365
284- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
366+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
285367 $op = new Openprovider();
286368 $op->login();
287369 $data = $op->getTld($tld);
@@ -315,7 +397,7 @@
315397 $tmpl->assign('menu', $this->getMenu());
316398 $tmpl->assign('description', $description);
317399
318- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
400+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
319401 $op = new Openprovider();
320402 $op->login();
321403 $data = $op->listDomains($domains, true);
@@ -355,7 +437,7 @@
355437 $tmpl->assign('menu', $this->getMenu());
356438 $tmpl->assign('description', $description);
357439
358- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
440+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
359441 $op = new Openprovider();
360442 $op->login();
361443 if (!empty($domains)) {
@@ -398,7 +480,7 @@
398480 $tmpl->assign('menu', $this->getMenu());
399481 $tmpl->assign('description', $description);
400482
401- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
483+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
402484 $op = new Openprovider();
403485 $op->login();
404486 $data = $op->getDomainPrices(['domain.name' => $domainname, 'domain.extension' => $domainext]);
@@ -432,14 +514,14 @@
432514 $tmpl->assign('menu', $this->getMenu());
433515 $tmpl->assign('description', $description);
434516
435- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
517+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
436518 $op = new Openprovider();
437519 $op->login();
438520 $data = $op->listDnsZones();
439521 $tmpl->assign('data', $data->data);
440522
441523 $tmpl->addCss('table');
442- if ($user && $user->role & (\Roles::ADMIN)) $tmpl->render('listdnszones');
524+ if ($user && $user->role & (Roles::ADMIN)) $tmpl->render('listdnszones');
443525 else goto noaccess;
444526 exit();
445527
@@ -473,7 +555,7 @@
473555 $tmpl->assign('menu', $this->getMenu());
474556 $tmpl->assign('description', $description);
475557
476- if (!$user || $user->role !== \Roles::ADMIN) goto noaccess;
558+ if (!$user || $user->role !== Roles::ADMIN) goto noaccess;
477559 $op = new Openprovider();
478560 $op->login();
479561 $data = ['rec' => $op->listZoneRecords($domain), 'zone' => $op->getDnsZone($domain)];
@@ -38,9 +38,10 @@
3838 namespace Std\Lib;
3939
4040 use Std\Lib\Curl;
41+use Result;
4142
4243 class Openprovider {
43- protected string $dataDir = ROOT."/data/cache/";
44+ protected string $dataDir = ROOT."/data/cache/openprovider/";
4445 protected int $tokenDuration = 172800; // 48時間
4546 protected int $dataDuration = 1800; // 30分
4647
@@ -60,19 +61,19 @@
6061 $this->ip = OPENPROVIDER['ip'];
6162 }
6263
63- /***
64+ /**
6465 * トークンの受け取り。
6566 * このライブリリーを使ったら、一回「login()」を実行する事が必須となります。
6667 *
6768 * @return Result 結果
6869 */
69- public function login(): \Result {
70- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
70+ public function login(): Result {
71+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
7172 $cache = $this->getCache('login');
7273 if (time() < ($this->lastAuth + $this->tokenDuration)) {
7374 $this->token = $cache['data']['token'];
7475 $this->lastAuth = $cache['last_auth'];
75- return \Result::Success('', $cache);
76+ return Result::Success('', $cache);
7677 }
7778
7879 $curl = new Curl("{$this->BASEURL}/auth/login");
@@ -91,7 +92,7 @@
9192 if (!$res->isSuccess) {
9293 $err = "CURLの実行に失敗: ".$curl->message;
9394 assert_unless_success($res, $err);
94- return \Result::Error($err);
95+ return Result::Error($err);
9596 }
9697
9798 $body = $curl->getResponseBody();
@@ -99,7 +100,7 @@
99100 $err = json_decode($body, true);
100101 assert_not_null($err, "エラーの受け取りに失敗。");
101102 assert($curl->getResponseCode() == 200, $err['desc']);
102- return \Result::Error();
103+ return Result::Error();
103104 }
104105 assert_not_null($body, "返事ボディーは空です。");
105106
@@ -110,10 +111,10 @@
110111 $res['last_auth'] = $this->lastAuth;
111112 $this->setCache('login', $res);
112113
113- return \Result::Success('', $res);
114+ return Result::Success('', $res);
114115 }
115116
116- return \Result::Error('ログインに失敗。');
117+ return Result::Error('ログインに失敗。');
117118 }
118119
119120 /**
@@ -123,42 +124,42 @@
123124 * @param array $payload フォームデータ
124125 * @return Result
125126 */
126- public function generateLoginUrlSpamExpert(array $payload = []): \Result {
127- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
127+ public function generateLoginUrlSpamExpert(array $payload = []): Result {
128+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
128129
129130 $uri = '/spam-expert-generate-login-url';
130131 $curl = $this->setupCurl($uri, 'POST', $payload);
131132 $res = $this->curlResult($curl);
132133 if (isset($res->data['data'])) {
133- return \Result::Success('DNSテンプレートの追加に成功。', $res->data);
134+ return Result::Success('DNSテンプレートの追加に成功。', $res->data);
134135 }
135136
136- return \Result::Error('DNSテンプレートの追加に失敗。');
137+ return Result::Error('DNSテンプレートの追加に失敗。');
137138 }
138139
139140 // ドメイン
140141
141142 //// ドメイン
142143
143- /***
144+ /**
144145 * ドメイン一覧。
145146 * @todo テスト
146147 *
147148 * @return Result 結果。
148149 */
149- public function listDomains(array $query = []): \Result {
150- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
150+ public function listDomains(array $query = []): Result {
151+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
151152 $cache = $this->getCache('listdomains');
152- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
153+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
153154
154155 $curl = $this->setupCurl('/domains');
155156 $res = $this->curlResult($curl);
156157 if (isset($res['data']['results'])) {
157158 $this->setCache('listdomains', $res->data);
158- return \Result::Success('', $res['data']['results']);
159+ return Result::Success('', $res['data']['results']);
159160 }
160161
161- return \Result::Error('ドメインの確認に失敗。');
162+ return Result::Error('ドメインの確認に失敗。');
162163 }
163164
164165 /**
@@ -170,8 +171,8 @@
170171 * @param int $period 年間(デフォルト=1年)
171172 * @return Result 結果。配列の場合:'activation_date'(リアルタイムで成功したのみ), 'auth_code'(TLDが対応している場合のみ), 'expiration_date', 'id', 'renewal_date', 'status'(ACT又はREQ)
172173 */
173- public function createDomain(string $name, array $info, int $period = 1): \Result {
174- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
174+ public function createDomain(string $name, array $info, int $period = 1): Result {
175+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
175176 if (!isset($info['owner_handle']) || $info['owner_handle'] === '') $info['owner_handle'] = OPENPROVIDER['owner_handle'];
176177 if (!isset($info['admin_handle']) || $info['admin_handle'] === '') $info['admin_handle'] = OPENPROVIDER['owner_handle'];
177178 if (!isset($info['tech_handle']) || $info['tech_handle'] === '') $info['tech_handle'] = OPENPROVIDER['owner_handle'];
@@ -210,27 +211,27 @@
210211 $curl = $this->setupCurl('/domains/', 'POST', $payload);
211212 kys('TODO');
212213 $res = $this->curlResult($curl);
213- if (isset($res['data'])) return \Result::Success('', $res);
214+ if (isset($res['data'])) return Result::Success('', $res);
214215
215- return \Result::Error('ドメインの確認に失敗。');
216+ return Result::Error('ドメインの確認に失敗。');
216217 }
217218
218- /***
219+ /**
219220 * ドメインを登録可能かどうかの確認。
220221 *
221222 * @param array $domains ドメイン名リスト。例:['076.moe', '076.co.jp', '076.com']
222223 * @param bool $with_price 値段を表示するかどうか。デフォルトは「false」
223224 * @return Result 結果。配列の場合:'domain'と'status'はいつでもあり、'reason', 'premium', 'is_premium'が多分あり、そして'price'が「with_price」が「true」の場合のみ。
224225 */
225- public function checkDomainAvailable(array $domains, bool $with_price = false): \Result {
226- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
226+ public function checkDomainAvailable(array $domains, bool $with_price = false): Result {
227+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
227228 $domainList = [];
228229 foreach ($domains as $d) {
229230 $domain = explode('.', $d);
230231 assert_exists($domain[0]);
231232 assert_exists($domain[1]);
232233 if (count($domain) !== 2) {
233- return \Result::Error("不正なドメイン形: {$d}");
234+ return Result::Error("不正なドメイン形: {$d}");
234235 }
235236
236237 $domainList[] = [
@@ -246,9 +247,9 @@
246247
247248 $curl = $this->setupCurl('/domains/check', 'POST', $payload);
248249 $res = $this->curlResult($curl);
249- if (isset($res->data['data']['results'])) return \Result::Success('', $res->data['data']['results']);
250+ if (isset($res->data['data']['results'])) return Result::Success('', $res->data['data']['results']);
250251
251- return \Result::Error('ドメインの確認に失敗。');
252+ return Result::Error('ドメインの確認に失敗。');
252253 }
253254
254255 //// 追加データ
@@ -260,8 +261,8 @@
260261 * @param array $query 検索クエリー
261262 * @return Result
262263 */
263- public function getDomainAdditionalData(array $query): \Result {
264- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
264+ public function getDomainAdditionalData(array $query): Result {
265+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
265266 $name = '';
266267 $ext = '';
267268 if (isset($query['domain.name'])) $name = $query['domain.name'];
@@ -269,17 +270,17 @@
269270 $cacheName = $name && $ext ? "domainadditionaldata-{$name}.{$ext}" : 'domainadditionaldata';
270271
271272 $cache = $this->getCache($cacheName);
272- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
273+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
273274
274275 $uri = "/domains/additional-data?".http_build_query($query, '', '&', PHP_QUERY_RFC3986);
275276 $curl = $this->setupCurl($uri);
276277 $res = $this->curlResult($curl);
277278 if (isset($res->data['data'])) {
278279 $this->setCache($cacheName, $res->data);
279- return \Result::Success('', $res->data);
280+ return Result::Success('', $res->data);
280281 }
281282
282- return \Result::Error('ドメインの追加データの受け取りに失敗。');
283+ return Result::Error('ドメインの追加データの受け取りに失敗。');
283284 }
284285
285286 //// 顧客様の追加データ
@@ -291,8 +292,8 @@
291292 * @param array $query 検索クエリー
292293 * @return Result
293294 */
294- public function getDomainCustomerAdditionalData(array $query): \Result {
295- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
295+ public function getDomainCustomerAdditionalData(array $query): Result {
296+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
296297 $name = '';
297298 $ext = '';
298299 if (isset($query['domain.name'])) $name = $query['domain.name'];
@@ -300,17 +301,17 @@
300301 $cacheName = $name && $ext ? "domainadditionaldata-{$name}.{$ext}" : 'domainadditionaldata';
301302
302303 $cache = $this->getCache($cacheName);
303- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
304+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
304305
305306 $uri = "/domains/additional-data/customers?".http_build_query($query, '', '&', PHP_QUERY_RFC3986);
306307 $curl = $this->setupCurl($uri);
307308 $res = $this->curlResult($curl);
308309 if (isset($res->data['data'])) {
309310 $this->setCache($cacheName, $res->data);
310- return \Result::Success('', $res->data);
311+ return Result::Success('', $res->data);
311312 }
312313
313- return \Result::Error('ドメインの顧客様の追加データの受け取りに失敗。');
314+ return Result::Error('ドメインの顧客様の追加データの受け取りに失敗。');
314315 }
315316
316317
@@ -322,8 +323,8 @@
322323 * @param array $query 検索クエリー
323324 * @return Result
324325 */
325- public function getDomainPrices(array $query): \Result {
326- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
326+ public function getDomainPrices(array $query): Result {
327+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
327328 $name = '';
328329 $ext = '';
329330 if (isset($query['domain.name'])) $name = $query['domain.name'];
@@ -331,60 +332,62 @@
331332 $cacheName = $name && $ext ? "domainprices-{$name}.{$ext}" : 'domainprices';
332333
333334 $cache = $this->getCache($cacheName);
334- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
335+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
335336
336337 $uri = "/domains/prices?".http_build_query($query, '', '&', PHP_QUERY_RFC3986);
337338 $curl = $this->setupCurl($uri);
338339 $res = $this->curlResult($curl);
339340 if (isset($res->data['data'])) {
340341 $this->setCache($cacheName, $res->data);
341- return \Result::Success('', $res->data);
342+ return Result::Success('', $res->data);
342343 }
343344
344- return \Result::Error('TLD一覧の受け取りに失敗。');
345+ return Result::Error('TLD一覧の受け取りに失敗。');
345346 }
346347
347348 //// 認証コード
348349
349350 /**
350351 * 認証コードの受け取り
352+ * @todo テスト
351353 *
352354 * @param int $id ドメイン名ID
353355 * @param array $query 検索クエリー
354356 * @return Result
355357 */
356- public function getAuthCode(int $id, array $query = []): \Result {
357- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
358+ public function getAuthCode(int $id, array $query = []): Result {
359+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
358360
359361 $uri = "/domains/{$id}/authcode?".http_build_query($query, '', '&', PHP_QUERY_RFC3986);
360362 $curl = $this->setupCurl($uri);
361363 $res = $this->curlResult($curl);
362364 if (isset($res->data['data'])) {
363- return \Result::Success('', $res->data);
365+ return Result::Success('', $res->data);
364366 }
365367
366- return \Result::Error('認証コードの受け取りに失敗。');
368+ return Result::Error('認証コードの受け取りに失敗。');
367369 }
368370
369371 /**
370372 * 認証コードの再設定
373+ * @todo テスト
371374 *
372375 * @param int $id ドメイン名ID
373376 * @param array $payload フォームデータ
374377 * @return Result
375378 */
376- public function resetAuthCode(int $id, array $payload = []): \Result {
377- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
379+ public function resetAuthCode(int $id, array $payload = []): Result {
380+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
378381
379382 $uri = "/domains/{$id}/authcode/reset";
380383 $curl->setupCurl($uri, 'POST', $payload);
381384 $res = $this->curlResult($curl);
382385 kys($res);
383386 if (isset($res)) {
384- return \Result::Success('', $res->data);
387+ return Result::Success('', $res->data);
385388 }
386389
387- return \Result::Error("認証コードの再設定に失敗。");
390+ return Result::Error("認証コードの再設定に失敗。");
388391 }
389392
390393 //// TLD
@@ -395,10 +398,10 @@
395398 * @param array $query 検索クエリー
396399 * @return Result
397400 */
398- public function listTlds(array $query = []): \Result {
399- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
401+ public function listTlds(array $query = []): Result {
402+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
400403 $cache = $this->getCache('listtlds');
401- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
404+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
402405
403406 if (empty($query)) $query = [ 'limit' => 10, 'offset' => 0, 'order' => 'ASC' ];
404407 foreach ($query as $k => $v) if (is_bool($v)) $query[$k] = $v ? 'true' : 'false';
@@ -408,10 +411,10 @@
408411 $res = $this->curlResult($curl);
409412 if (isset($res->data['data'])) {
410413 $this->setCache('listtlds', $res->data);
411- return \Result::Success('', $res->data);
414+ return Result::Success('', $res->data);
412415 }
413416
414- return \Result::Error('TLD一覧の受け取りに失敗。');
417+ return Result::Error('TLD一覧の受け取りに失敗。');
415418 }
416419
417420 /**
@@ -421,11 +424,11 @@
421424 * @param array $query 検索クエリー
422425 * @return Result
423426 */
424- public function getTld(string $tld, array $query = []): \Result {
425- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
427+ public function getTld(string $tld, array $query = []): Result {
428+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
426429 $cacheName = "gettld-{$tld}";
427430 $cache = $this->getCache($cacheName);
428- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
431+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
429432
430433 if (empty($query)) $query = [ 'limit' => 10, 'offset' => 0 ];
431434 foreach ($query as $k => $v) if (is_bool($v)) $query[$k] = $v ? 'true' : 'false';
@@ -435,10 +438,10 @@
435438 $res = $this->curlResult($curl);
436439 if (isset($res->data['data'])) {
437440 $this->setCache($cacheName, $res->data);
438- return \Result::Success('', $res->data);
441+ return Result::Success('', $res->data);
439442 }
440443
441- return \Result::Error('TLD一覧の受け取りに失敗。');
444+ return Result::Error('TLD一覧の受け取りに失敗。');
442445 }
443446
444447 // 請求
@@ -451,11 +454,11 @@
451454 * @param array $query 検索クエリー
452455 * @return Result
453456 */
454- public function listInvoices(array $query = []): \Result {
455- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
457+ public function listInvoices(array $query = []): Result {
458+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
456459 $cacheName = 'listinvoices';
457460 $cache = $this->getCache($cacheName);
458- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
461+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
459462
460463 if (empty($query)) $query = [ 'limit' => 10, 'offset' => 0 ];
461464 foreach ($query as $k => $v) if (is_bool($v)) $query[$k] = $v ? 'true' : 'false';
@@ -465,10 +468,10 @@
465468 $res = $this->curlResult($curl);
466469 if (isset($res->data['data'])) {
467470 $this->setCache($cacheName, $res->data);
468- return \Result::Success('', $res->data);
471+ return Result::Success('', $res->data);
469472 }
470473
471- return \Result::Error('請求書一覧の受け取りに請求書');
474+ return Result::Error('請求書一覧の受け取りに請求書');
472475 }
473476
474477 //// 支払
@@ -480,11 +483,11 @@
480483 * @param array $query 検索クエリー
481484 * @return Result
482485 */
483- public function listPayments(array $query = []): \Result {
484- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
486+ public function listPayments(array $query = []): Result {
487+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
485488 $cacheName = 'listpayments';
486489 $cache = $this->getCache($cacheName);
487- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
490+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
488491
489492 if (empty($query)) $query = [ 'limit' => 10, 'offset' => 0 ];
490493 foreach ($query as $k => $v) if (is_bool($v)) $query[$k] = $v ? 'true' : 'false';
@@ -494,10 +497,10 @@
494497 $res = $this->curlResult($curl);
495498 if (isset($res->data['data'])) {
496499 $this->setCache($cacheName, $res->data);
497- return \Result::Success('', $res->data);
500+ return Result::Success('', $res->data);
498501 }
499502
500- return \Result::Error('支払一覧の受け取りに失敗。');
503+ return Result::Error('支払一覧の受け取りに失敗。');
501504 }
502505
503506 //// トランザクション
@@ -509,11 +512,11 @@
509512 * @param array $query 検索クエリー
510513 * @return Result
511514 */
512- public function listTransactions(array $query = []): \Result {
513- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
515+ public function listTransactions(array $query = []): Result {
516+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
514517 $cacheName = 'listtransactions';
515518 $cache = $this->getCache($cacheName);
516- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
519+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
517520
518521 if (empty($query)) $query = [ 'limit' => 10, 'offset' => 0 ];
519522 foreach ($query as $k => $v) if (is_bool($v)) $query[$k] = $v ? 'true' : 'false';
@@ -523,10 +526,10 @@
523526 $res = $this->curlResult($curl);
524527 if (isset($res->data['data'])) {
525528 $this->setCache($cacheName, $res->data);
526- return \Result::Success('', $res->data);
529+ return Result::Success('', $res->data);
527530 }
528531
529- return \Result::Error('トランザクション一覧の受け取りに失敗。');
532+ return Result::Error('トランザクション一覧の受け取りに失敗。');
530533 }
531534
532535 // DNS
@@ -539,17 +542,17 @@
539542 * @param array $payload フォームデータ
540543 * @return Result
541544 */
542- public function createDomainToken(array $payload = []): \Result {
543- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
545+ public function createDomainToken(array $payload = []): Result {
546+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
544547
545548 $uri = '/dns/domain-token';
546549 $curl = $this->setupCurl($uri, 'POST', $payload);
547550 $res = $this->curlResult($curl);
548551 if (isset($res->data['data'])) {
549- return \Result::Success('DNSテンプレートの追加に成功。', $res->data);
552+ return Result::Success('DNSテンプレートの追加に成功。', $res->data);
550553 }
551554
552- return \Result::Error('DNSテンプレートの追加に失敗。');
555+ return Result::Error('DNSテンプレートの追加に失敗。');
553556 }
554557
555558 //// ネームサーバー
@@ -563,11 +566,11 @@
563566 * @param array $query 検索クエリー
564567 * @return Result
565568 */
566- public function listDnsTemplate(array $query = []): \Result {
567- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
569+ public function listDnsTemplate(array $query = []): Result {
570+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
568571 $cacheName = 'listdnstemplates';
569572 $cache = $this->getCache($cacheName);
570- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
573+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
571574
572575 foreach ($query as $k => $v) { if (is_bool($v)) $query[$k] = $v ? 'true' : 'false'; }
573576 $uri = '/dns/templates?'.http_build_query($query, '', '&', PHP_QUERY_RFC3986);
@@ -576,10 +579,10 @@
576579 if (isset($res->data['data'])) {
577580 $res->data['query'] = $query;
578581 $this->setCache($cacheName, $res->data);
579- return \Result::Success('', $res->data);
582+ return Result::Success('', $res->data);
580583 }
581584
582- return \Result::Error('DNSテンプレート一覧の受け取りに失敗。');
585+ return Result::Error('DNSテンプレート一覧の受け取りに失敗。');
583586 }
584587
585588 /**
@@ -589,18 +592,18 @@
589592 * @param array $payload フォームデータ
590593 * @return Result
591594 */
592- public function createDnsTemplate(array $payload = []): \Result {
593- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
595+ public function createDnsTemplate(array $payload = []): Result {
596+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
594597
595598 $uri = '/dns/templates';
596599 $curl = $this->setupCurl($uri, 'POST', $payload);
597600 $res = $this->curlResult($curl);
598601 if (isset($res->data['data'])) {
599602 $this->murderCache('listdnstemplates');
600- return \Result::Success('DNSテンプレートの追加に成功。', $res->data);
603+ return Result::Success('DNSテンプレートの追加に成功。', $res->data);
601604 }
602605
603- return \Result::Error('DNSテンプレートの追加に失敗。');
606+ return Result::Error('DNSテンプレートの追加に失敗。');
604607 }
605608
606609 /**
@@ -610,21 +613,21 @@
610613 * @param int $id DNSテンプレートID
611614 * @return Result
612615 */
613- public function getDnsTemplate(int $id): \Result {
614- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
616+ public function getDnsTemplate(int $id): Result {
617+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
615618 $cacheName = "getdnstemplate-{$id}";
616619 $cache = $this->getCache($cacheName);
617- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
620+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
618621
619622 $uri = "/dns/templates/{$id}";
620623 $curl = $this->setupCurl($uri);
621624 $res = $this->curlResult($curl);
622625 if (isset($res->data['data'])) {
623626 $this->setCache($cacheName, $res->data);
624- return \Result::Success('', $res->data);
627+ return Result::Success('', $res->data);
625628 }
626629
627- return \Result::Error('DNSテンプレートの更新に失敗。');
630+ return Result::Error('DNSテンプレートの更新に失敗。');
628631 }
629632
630633 /**
@@ -634,18 +637,18 @@
634637 * @param int $id DNSテンプレートID
635638 * @return Result
636639 */
637- public function deleteDnsTemplate(int $id): \Result {
638- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
640+ public function deleteDnsTemplate(int $id): Result {
641+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
639642
640643 $uri = "/dns/templates/{$id}";
641644 $curl = $this->setupCurl($uri, 'DELETE');
642645 $res = $this->curlResult($curl);
643646 if (isset($res->data['data'])) {
644647 $this->murderCache('listdnstemplates');
645- if ($res->data['data']['success']) return \Result::Success('DNSテンプレートの削除に成功。', $res->data);
648+ if ($res->data['data']['success']) return Result::Success('DNSテンプレートの削除に成功。', $res->data);
646649 }
647650
648- return \Result::Error('DNSテンプレートの削除に失敗。');
651+ return Result::Error('DNSテンプレートの削除に失敗。');
649652 }
650653
651654 //// ゾーン
@@ -656,10 +659,10 @@
656659 * @param array $query
657660 * @return Result
658661 */
659- public function listDnsZones(array $query = []): \Result {
660- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
662+ public function listDnsZones(array $query = []): Result {
663+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
661664 $cache = $this->getCache('listdnszones');
662- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
665+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
663666
664667 if (empty($query)) $query = [ 'limit' => 25, 'offset' => 0, 'order_by.name' => 'asc' ];
665668 foreach ($query as $k => $v) if (is_bool($v)) $query[$k] = $v ? 'true' : 'false';
@@ -669,10 +672,10 @@
669672 $res = $this->curlResult($curl);
670673 if (isset($res->data['data'])) {
671674 $this->setCache('listdnszones', $res->data);
672- return \Result::Success('', $res->data);
675+ return Result::Success('', $res->data);
673676 }
674677
675- return \Result::Error('TLD一覧の受け取りに失敗。');
678+ return Result::Error('TLD一覧の受け取りに失敗。');
676679 }
677680
678681 /**
@@ -682,10 +685,10 @@
682685 * @param array $query 検索クエリー
683686 * @return Result
684687 */
685- public function getDnsZone(string $domain, array $query = []): \Result {
686- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
688+ public function getDnsZone(string $domain, array $query = []): Result {
689+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
687690 $cache = $this->getCache("getdnszone-{$domain}");
688- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
691+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
689692
690693 if (empty($query)) $query = [ 'limit' => 100, 'offset' => 0, 'order_by.name' => 'asc' ];
691694 foreach ($query as $k => $v) if (is_bool($v)) $query[$k] = $v ? 'true' : 'false';
@@ -695,10 +698,10 @@
695698 $res = $this->curlResult($curl);
696699 if (isset($res->data['data'])) {
697700 $this->setCache("getdnszone-{$domain}", $res->data);
698- return \Result::Success('', $res->data);
701+ return Result::Success('', $res->data);
699702 }
700703
701- return \Result::Error('TLD一覧の受け取りに失敗。');
704+ return Result::Error('TLD一覧の受け取りに失敗。');
702705 }
703706
704707 //// ゾーンレコード
@@ -709,19 +712,19 @@
709712 * @param string $domain
710713 * @return Result
711714 */
712- public function listZoneRecords(string $domain): \Result {
713- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
715+ public function listZoneRecords(string $domain): Result {
716+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
714717 $cache = $this->getCache("getzonerecords-{$domain}");
715- if ($this->isValidLifespan($cache)) return \Result::Success('', $cache);
718+ if ($this->isValidLifespan($cache)) return Result::Success('', $cache);
716719
717720 $curl = $this->setupCurl("/dns/zones/{$domain}/records");
718721 $res = $this->curlResult($curl);
719722 if (isset($res->data['data'])) {
720723 $this->setCache("getzonerecords-{$domain}", $res->data);
721- return \Result::Success('', $res->data);
724+ return Result::Success('', $res->data);
722725 }
723726
724- return \Result::Error('TLD一覧の受け取りに失敗。');
727+ return Result::Error('TLD一覧の受け取りに失敗。');
725728 }
726729
727730 // Easydmarc
@@ -737,11 +740,11 @@
737740 * @param array $query 検索クエリー
738741 * @return Result
739742 */
740- public function listEmails(array $query = []): \Result {
741- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
743+ public function listEmails(array $query = []): Result {
744+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
742745 $cacheName = 'listemails';
743746 $cache = $this->getCache($cacheName);
744- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
747+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
745748
746749 foreach ($query as $k => $v) { if (is_bool($v)) $query[$k] = $v ? 'true' : 'false'; }
747750 $uri = '/emails?'.http_build_query($query, '', '&', PHP_QUERY_RFC3986);
@@ -750,10 +753,10 @@
750753 if (isset($res->data['data'])) {
751754 $res->data['query'] = $query;
752755 $this->setCache($cacheName, $res->data);
753- return \Result::Success('', $res->data);
756+ return Result::Success('', $res->data);
754757 }
755758
756- return \Result::Error('メールテンプレート一覧の受け取りに失敗。');
759+ return Result::Error('メールテンプレート一覧の受け取りに失敗。');
757760 }
758761
759762 /**
@@ -763,18 +766,18 @@
763766 * @param array $payload フォームデータ
764767 * @return Result
765768 */
766- public function createEmail(array $payload = []): \Result {
767- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
769+ public function createEmail(array $payload = []): Result {
770+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
768771
769772 $uri = '/emails';
770773 $curl = $this->setupCurl($uri, 'POST', $payload);
771774 $res = $this->curlResult($curl);
772775 if (isset($res->data['data'])) {
773776 $this->murderCache('listemails');
774- return \Result::Success('メールテンプレートの追加に成功。', $res->data);
777+ return Result::Success('メールテンプレートの追加に成功。', $res->data);
775778 }
776779
777- return \Result::Error('メールテンプレートの追加に失敗。');
780+ return Result::Error('メールテンプレートの追加に失敗。');
778781 }
779782
780783 /**
@@ -785,18 +788,18 @@
785788 * @param array $payload フォームデータ
786789 * @return Result
787790 */
788- public function updateEmail(int $id, array $payload = []): \Result {
789- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
791+ public function updateEmail(int $id, array $payload = []): Result {
792+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
790793
791794 $uri = "/emails/{$id}";
792795 $curl = $this->setupCurl($uri, 'PUT', $payload);
793796 $res = $this->curlResult($curl);
794797 if (isset($res->data['data'])) {
795798 $this->murderCache('listemails');
796- if ($res->data['data']['success']) return \Result::Success('メールテンプレートの更新に成功。', $res->data);
799+ if ($res->data['data']['success']) return Result::Success('メールテンプレートの更新に成功。', $res->data);
797800 }
798801
799- return \Result::Error('メールテンプレートの更新に失敗。');
802+ return Result::Error('メールテンプレートの更新に失敗。');
800803 }
801804
802805 /**
@@ -806,18 +809,18 @@
806809 * @param int $id メールテンプレートID
807810 * @return Result
808811 */
809- public function deleteEmail(int $id): \Result {
810- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
812+ public function deleteEmail(int $id): Result {
813+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
811814
812815 $uri = "/emails/{$id}";
813816 $curl = $this->setupCurl($uri, 'DELETE');
814817 $res = $this->curlResult($curl);
815818 if (isset($res->data['data'])) {
816819 $this->murderCache('listemails');
817- if ($res->data['data']['success']) return \Result::Success('メールテンプレートの削除に成功。', $res->data);
820+ if ($res->data['data']['success']) return Result::Success('メールテンプレートの削除に成功。', $res->data);
818821 }
819822
820- return \Result::Error('メールテンプレートの削除に失敗。');
823+ return Result::Error('メールテンプレートの削除に失敗。');
821824 }
822825
823826 // ライセンス
@@ -834,11 +837,11 @@
834837 * @param array $query 検索クエリー
835838 * @return Result
836839 */
837- public function listCustomers(array $query = []): \Result {
838- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
840+ public function listCustomers(array $query = []): Result {
841+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
839842 $cacheName = 'listcustomers';
840843 $cache = $this->getCache($cacheName);
841- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
844+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
842845
843846 foreach ($query as $k => $v) { if (is_bool($v)) $query[$k] = $v ? 'true' : 'false'; }
844847 $uri = '/customers?'.http_build_query($query, '', '&', PHP_QUERY_RFC3986);
@@ -847,10 +850,10 @@
847850 if (isset($res->data['data'])) {
848851 $res->data['query'] = $query;
849852 $this->setCache($cacheName, $res->data);
850- return \Result::Success('', $res->data);
853+ return Result::Success('', $res->data);
851854 }
852855
853- return \Result::Error('顧客様一覧の受け取りに失敗。');
856+ return Result::Error('顧客様一覧の受け取りに失敗。');
854857 }
855858
856859 /**
@@ -859,19 +862,18 @@
859862 * @param array $payload
860863 * @return Result
861864 */
862- public function createCustomer(array $payload): \Result {
863- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
865+ public function createCustomer(array $payload): Result {
866+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
864867
865868 $uri = '/customers';
866- $curl->setupCurl($uri, 'POST', $payload);
869+ $curl = $this->setupCurl($uri, 'POST', $payload);
867870 $res = $this->curlResult($curl);
868- kys($res);
869871 if (isset($res)) {
870872 $this->murderCache('listcustomers');
871- return \Result::Success('', $res->data);
873+ return Result::Success('', $res->data);
872874 }
873875
874- return \Result::Error("顧客様の作成に失敗。");
876+ return Result::Error("顧客様の作成に失敗。");
875877 }
876878
877879 /**
@@ -881,11 +883,11 @@
881883 * @param bool $withAdditionalData 詳細データ含むか?
882884 * @return Result
883885 */
884- public function getCustomer(string $handle, bool $withAdditionalData = false): \Result {
885- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
886+ public function getCustomer(string $handle, bool $withAdditionalData = false): Result {
887+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
886888 $cacheName = "getcustomer-{$handle}";
887889 $cache = $this->getCache($cacheName);
888- if ($this->isValidLifespan($cache, $handle, 'handle')) return \Result::Success('', $cache);
890+ if ($this->isValidLifespan($cache, $handle, 'handle')) return Result::Success('', $cache);
889891
890892 $query = [ 'with_additional_data' => $withAdditionalData ? 'true' : 'false' ];
891893 $uri = "/customers/{$handle}?".http_build_query($query, '', '&', PHP_QUERY_RFC3986);
@@ -895,10 +897,10 @@
895897 if (isset($res->data['data'])) {
896898 $res->data['handle'] = $handle;
897899 $this->setCache($cacheName, $res->data);
898- return \Result::Success('', $res->data);
900+ return Result::Success('', $res->data);
899901 }
900902
901- return \Result::Error('顧客様の受け取りに失敗。');
903+ return Result::Error('顧客様の受け取りに失敗。');
902904 }
903905
904906 /**
@@ -909,39 +911,38 @@
909911 * @param array $payload フォームデータ
910912 * @return Result
911913 */
912- public function updateCustomer(string $handle, array $payload = []): \Result {
913- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
914+ public function updateCustomer(string $handle, array $payload = []): Result {
915+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
914916
915917 $uri = "/customers/{$handle}";
916918 $curl = $this->setupCurl($uri, 'PUT', $payload);
917919 $res = $this->curlResult($curl);
918920 if (isset($res->data['data'])) {
919921 $this->murderCache('listcustomers');
920- if ($res->data['data']['success']) return \Result::Success('顧客様の更新に成功。', $res->data);
922+ if ($res->data['data']['success']) return Result::Success('顧客様の更新に成功。', $res->data);
921923 }
922924
923- return \Result::Error('顧客様の更新に失敗。');
925+ return Result::Error('顧客様の更新に失敗。');
924926 }
925927
926928 /**
927929 * 顧客様の削除
928- * @todo テスト
929930 *
930931 * @param string $handle 顧客様のハンドル
931932 * @return Result
932933 */
933- public function deleteCustomer(int $id): \Result {
934- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
934+ public function deleteCustomer(string $handle): Result {
935+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
935936
936937 $uri = "/customers/{$handle}";
937938 $curl = $this->setupCurl($uri, 'DELETE');
938939 $res = $this->curlResult($curl);
939940 if (isset($res->data['data'])) {
940941 $this->murderCache('listcustomers');
941- if ($res->data['data']['success']) return \Result::Success('顧客様の削除に成功。', $res->data);
942+ if ($res->data['data']['success']) return Result::Success('顧客様の削除に成功。');
942943 }
943944
944- return \Result::Error('顧客様の削除に失敗。');
945+ return Result::Error('顧客様の削除に失敗。');
945946 }
946947
947948 //// メール認証
@@ -953,11 +954,11 @@
953954 * @param array $query 検索クエリー
954955 * @return Result
955956 */
956- public function listEmailVerifications(array $query = []): \Result {
957- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
957+ public function listEmailVerifications(array $query = []): Result {
958+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
958959 $cacheName = 'listemailverifications';
959960 $cache = $this->getCache($cacheName);
960- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
961+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
961962
962963 foreach ($query as $k => $v) { if (is_bool($v)) $query[$k] = $v ? 'true' : 'false'; }
963964 $uri = '/customers/verifications/emails/domains?'.http_build_query($query, '', '&', PHP_QUERY_RFC3986);
@@ -966,10 +967,10 @@
966967 if (isset($res->data['data'])) {
967968 $res->data['query'] = $query;
968969 $this->setCache($cacheName, $res->data);
969- return \Result::Success('', $res->data);
970+ return Result::Success('', $res->data);
970971 }
971972
972- return \Result::Error('メール認証一覧の受け取りに失敗。');
973+ return Result::Error('メール認証一覧の受け取りに失敗。');
973974 }
974975
975976 /**
@@ -979,18 +980,18 @@
979980 * @param string $email メールアドレス
980981 * @return Result
981982 */
982- public function restartEmailVerifications(string $email, string $language = '', string $tag = ''): \Result {
983- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
983+ public function restartEmailVerifications(string $email, string $language = '', string $tag = ''): Result {
984+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
984985
985986 $uri = '/customers/verifications/emails/restart';
986987 $curl = $this->setupCurl($uri, 'POST', ['email' => $email, 'language' => $language, 'tag' => $tag]);
987988 $res = $this->curlResult($curl);
988989 if (isset($res->data['data'])) {
989990 $this->murderCache('listemailverifications');
990- return \Result::Success('メール認証の再起動に成功。', $res->data);
991+ return Result::Success('メール認証の再起動に成功。', $res->data);
991992 }
992993
993- return \Result::Error('メール認証の再起動に失敗。');
994+ return Result::Error('メール認証の再起動に失敗。');
994995 }
995996
996997 /**
@@ -1003,18 +1004,18 @@
10031004 * @param string $tag タグ
10041005 * @return Result
10051006 */
1006- public function startEmailVerifications(string $email, string $handle = '', string $language = '', string $tag = ''): \Result {
1007- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1007+ public function startEmailVerifications(string $email, string $handle = '', string $language = '', string $tag = ''): Result {
1008+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
10081009
10091010 $uri = '/customers/verifications/emails/start';
10101011 $curl = $this->setupCurl($uri, 'POST', ['email' => $email, 'handle' => $handle, 'language' => $language, 'tag' => $tag]);
10111012 $res = $this->curlResult($curl);
10121013 if (isset($res->data['data'])) {
10131014 $this->murderCache('listemailverifications');
1014- return \Result::Success('メール認証の起動に成功。', $res->data);
1015+ return Result::Success('メール認証の起動に成功。', $res->data);
10151016 }
10161017
1017- return \Result::Error('メール認証の起動に失敗。');
1018+ return Result::Error('メール認証の起動に失敗。');
10181019 }
10191020
10201021 //// リセラー
@@ -1026,11 +1027,11 @@
10261027 * @param array $query 検索クエリー
10271028 * @return Result
10281029 */
1029- public function getReseller(array $query = []): \Result {
1030- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1030+ public function getReseller(array $query = []): Result {
1031+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
10311032 $cacheName = 'getreseller';
10321033 $cache = $this->getCache($cacheName);
1033- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
1034+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
10341035
10351036 foreach ($query as $k => $v) { if (is_bool($v)) $query[$k] = $v ? 'true' : 'false'; }
10361037 $uri = '/resellers?'.http_build_query($query, '', '&', PHP_QUERY_RFC3986);
@@ -1039,10 +1040,10 @@
10391040 if (isset($res->data['data'])) {
10401041 $res->data['query'] = $query;
10411042 $this->setCache($cacheName, $res->data);
1042- return \Result::Success('', $res->data);
1043+ return Result::Success('', $res->data);
10431044 }
10441045
1045- return \Result::Error('リセラーの受け取りに失敗。');
1046+ return Result::Error('リセラーの受け取りに失敗。');
10461047 }
10471048
10481049 /**
@@ -1053,18 +1054,18 @@
10531054 * @param array $payload フォームデータ
10541055 * @return Result
10551056 */
1056- public function updateReseller(int $id, array $payload = []): \Result {
1057- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1057+ public function updateReseller(int $id, array $payload = []): Result {
1058+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
10581059
10591060 $uri = "/resellers/{$id}";
10601061 $curl = $this->setupCurl($uri, 'PUT', $payload);
10611062 $res = $this->curlResult($curl);
10621063 if (isset($res->data['data'])) {
10631064 $this->murderCache('getreseller');
1064- if ($res->data['data']['success']) return \Result::Success('リセラーの更新に成功。', $res->data);
1065+ if ($res->data['data']['success']) return Result::Success('リセラーの更新に成功。', $res->data);
10651066 }
10661067
1067- return \Result::Error('リセラーの更新に失敗。');
1068+ return Result::Error('リセラーの更新に失敗。');
10681069 }
10691070
10701071 //// 設定
@@ -1075,11 +1076,11 @@
10751076 *
10761077 * @return Result
10771078 */
1078- public function listSettings(): \Result {
1079- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1079+ public function listSettings(): Result {
1080+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
10801081 $cacheName = 'listsettings';
10811082 $cache = $this->getCache($cacheName);
1082- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
1083+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
10831084
10841085 $uri = '/resellers/settings';
10851086 $curl = $this->setupCurl($uri);
@@ -1087,10 +1088,10 @@
10871088 if (isset($res->data['data'])) {
10881089 $res->data['query'] = $query;
10891090 $this->setCache($cacheName, $res->data);
1090- return \Result::Success('', $res->data);
1091+ return Result::Success('', $res->data);
10911092 }
10921093
1093- return \Result::Error('設定の受け取りに失敗。');
1094+ return Result::Error('設定の受け取りに失敗。');
10941095 }
10951096
10961097 //// 統計
@@ -1101,11 +1102,11 @@
11011102 *
11021103 * @return Result
11031104 */
1104- public function listStatistics(array $query = []): \Result {
1105- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1105+ public function listStatistics(array $query = []): Result {
1106+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
11061107 $cacheName = 'liststatistics';
11071108 $cache = $this->getCache($cacheName);
1108- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
1109+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
11091110
11101111 $uri = '/resellers/statistics';
11111112 $curl = $this->setupCurl($uri);
@@ -1113,10 +1114,10 @@
11131114 if (isset($res->data['data'])) {
11141115 $res->data['query'] = $query;
11151116 $this->setCache($cacheName, $res->data);
1116- return \Result::Success('', $res->data);
1117+ return Result::Success('', $res->data);
11171118 }
11181119
1119- return \Result::Error('統計の受け取りに失敗。');
1120+ return Result::Error('統計の受け取りに失敗。');
11201121 }
11211122
11221123 //// タグ
@@ -1128,11 +1129,11 @@
11281129 * @param array $query 検索クエリー
11291130 * @return Result
11301131 */
1131- public function listTags(array $query = []): \Result {
1132- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1132+ public function listTags(array $query = []): Result {
1133+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
11331134 $cacheName = 'listtags';
11341135 $cache = $this->getCache($cacheName);
1135- if ($this->isValidLifespan($cache, $query)) return \Result::Success('', $cache);
1136+ if ($this->isValidLifespan($cache, $query)) return Result::Success('', $cache);
11361137
11371138 foreach ($query as $k => $v) { if (is_bool($v)) $query[$k] = $v ? 'true' : 'false'; }
11381139 $uri = '/tags?'.http_build_query($query, '', '&', PHP_QUERY_RFC3986);
@@ -1141,10 +1142,10 @@
11411142 if (isset($res->data['data'])) {
11421143 $res->data['query'] = $query;
11431144 $this->setCache($cacheName, $res->data);
1144- return \Result::Success('', $res->data);
1145+ return Result::Success('', $res->data);
11451146 }
11461147
1147- return \Result::Error('タグ一覧の受け取りに失敗。');
1148+ return Result::Error('タグ一覧の受け取りに失敗。');
11481149 }
11491150
11501151 /**
@@ -1154,18 +1155,18 @@
11541155 * @param array $payload フォームデータ
11551156 * @return Result
11561157 */
1157- public function createTag(array $payload = []): \Result {
1158- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1158+ public function createTag(array $payload = []): Result {
1159+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
11591160
11601161 $uri = '/tags';
11611162 $curl = $this->setupCurl($uri, 'POST', $payload);
11621163 $res = $this->curlResult($curl);
11631164 if (isset($res->data['data'])) {
11641165 $this->murderCache('listtags');
1165- return \Result::Success('タグの追加に成功。', $res->data);
1166+ return Result::Success('タグの追加に成功。', $res->data);
11661167 }
11671168
1168- return \Result::Error('タグの追加に失敗。');
1169+ return Result::Error('タグの追加に失敗。');
11691170 }
11701171
11711172 /**
@@ -1175,18 +1176,18 @@
11751176 * @param array $payload フォームデータ
11761177 * @return Result
11771178 */
1178- public function deleteTag(array $payload = []): \Result {
1179- if (!OPENPROVIDER_ENABLED) return \Result::error('エラー:OpenProviderは無効です。');
1179+ public function deleteTag(array $payload = []): Result {
1180+ if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。');
11801181
11811182 $uri = "/tags/{$id}";
11821183 $curl = $this->setupCurl($uri, 'DELETE', $payload);
11831184 $res = $this->curlResult($curl);
11841185 if (isset($res->data['data'])) {
11851186 $this->murderCache('listtags');
1186- if ($res->data['data']['success']) return \Result::Success('タグの削除に成功。', $res->data);
1187+ if ($res->data['data']['success']) return Result::Success('タグの削除に成功。', $res->data);
11871188 }
11881189
1189- return \Result::Error('タグの削除に失敗。');
1190+ return Result::Error('タグの削除に失敗。');
11901191 }
11911192
11921193 // SpamExpert
@@ -1229,12 +1230,12 @@
12291230 return $curl;
12301231 }
12311232
1232- private function curlResult(Curl &$curl): \Result {
1233+ private function curlResult(Curl &$curl): Result {
12331234 $res = $curl->execute();
12341235 if (!$res->isSuccess) {
12351236 $err = "CURL実行に失敗: {$curl->message}";
12361237 assert_unless_success($res, $err);
1237- return \Result::Error($err);
1238+ return Result::Error($err);
12381239 }
12391240
12401241 $body = $curl->getResponseBody();
@@ -1242,11 +1243,11 @@
12421243 $err = json_decode($body, true);
12431244 assert_not_null($err, "エラーの受け取りに失敗。");
12441245 assert($curl->getResponseCode() == 200, $err['desc']);
1245- return \Result::Error($err['desc']);
1246+ return Result::Error($err['desc']);
12461247 }
12471248 assert_not_null($body, "返事ボディーは空です。");
12481249
1249- return \Result::Success('', json_decode($body, true));
1250+ return Result::Success('', json_decode($body, true));
12501251 }
12511252
12521253 /**
@@ -1256,17 +1257,17 @@
12561257 * @param array $data 保存するデータ
12571258 * @return Result
12581259 */
1259- private function setCache(string $type, array $data): \Result {
1260+ private function setCache(string $type, array $data): Result {
12601261 if (!file_exists($this->dataDir)) {
12611262 if (!mkdir($this->dataDir, 0755))
1262- return \Result::Error('エラー:ユーザーのアイコンディレクトリの作成に失敗。');
1263+ return Result::Error('エラー:ユーザーのアイコンディレクトリの作成に失敗。');
12631264 }
12641265
12651266 $data['lifespan'] = time();
12661267 $json = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
1267- if (file_put_contents("{$this->dataDir}{$type}.json", $json) === false) return \Result::Error('エラー:ユーザーデータの保存に失敗。');
1268+ if (file_put_contents("{$this->dataDir}{$type}.json", $json) === false) return Result::Error('エラー:ユーザーデータの保存に失敗。');
12681269
1269- return \Result::Success();
1270+ return Result::Success();
12701271 }
12711272
12721273 /**
@@ -1298,10 +1299,10 @@
12981299 * @param string $name キャッシュのファイル名
12991300 * @return Result
13001301 */
1301- private function murderCache(string $name): \Result {
1302- if (!file_exists("{$this->dataDir}{$name}.json")) return \Result::Error('キャッシュファイルが存在しない。');
1303- if (!unlink("{$this->dataDir}{$name}.json")) return \Result::Error('キャッシュファイルの削除に失敗。');
1304- return \Result::Success();
1302+ private function murderCache(string $name): Result {
1303+ if (!file_exists("{$this->dataDir}{$name}.json")) return Result::Error('キャッシュファイルが存在しない。');
1304+ if (!unlink("{$this->dataDir}{$name}.json")) return Result::Error('キャッシュファイルの削除に失敗。');
1305+ return Result::Success();
13051306 }
13061307
13071308 /**
@@ -1,5 +1,12 @@
11 {@ include(common/header) @}
22 <h2>新規顧客様作成</h2>
3+{@ if (!empty($err)) @}
4+ <p class="errormes">
5+{@ foreach ($err as $e) @}
6+ {{ $e }}<br />
7+{@ endforeach @}
8+ </p>
9+{@ endif @}
310 <p>
411 <form method="POST" action="/openprovider/createcustomer">
512 <h3>会社情報</h3>
@@ -8,58 +15,54 @@
815 <tbody>
916 <tr>
1017 <td><label for="company_name">会社名</label></td>
11- <td><input type="text" name="company_name" value="{{ $data['company_name'] }}" /></td>
18+ <td><input type="text" name="company_name" value="{{ $data['company_name'] ?? '' }}" /></td>
1219 </tr>
1320 <tr>
1421 <td><label for="company_registration_number">法人番号</label></td>
15- <td><input type="text" name="company_registration_number" value="{{ $data['company_registration_number'] }}" /></td>
22+ <td><input type="text" name="company_registration_number" value="{{ $data['additional_data']['company_registration_number'] ?? '' }}" /></td>
1623 </tr>
1724 <tr>
1825 <td><label for="company_url">ウェブサイト</label></td>
19- <td><input type="text" name="company_url" value="{{ $data['company_url'] }}" /></td>
26+ <td><input type="text" name="company_url" value="{{ $data['additional_data']['company_url'] ?? '' }}" /></td>
2027 </tr>
2128 </tbody>
2229 </table>
2330 <h3>個人情報</h3>
24- telephone number (req)
25- fax number
26- email address (req)
27- birth date
2831 <table>
2932 <tbody>
3033 <tr>
3134 <td><label for="last_name">姓名(ローマ字)*</label></td>
3235 <td>
33- <input type="text" name="last_name" placeholder="Taro" value="{{ $data['last_name'] }}" />
34- <input type="text" name="first_name" placeholder="Yamada" value="{{ $data['first_name'] }}" />
36+ <input type="text" name="last_name" placeholder="Taro" value="{{ $data['name']['last_name'] ?? '' }}" />
37+ <input type="text" name="first_name" placeholder="Yamada" value="{{ $data['name']['first_name'] ?? '' }}" />
3538 </td>
3639 </tr>
3740 <tr>
3841 <td><label for="phone.country_code">電話番号*</label></td>
3942 <td>
40- <input type="text" name="phone.country_code" placeholder="+81" value="{{ $data['phone.country_code'] }}" />
41- <input type="text" name="phone.area_code" placeholder="43" value="{{ $data['phone.area_code'] }}" />
42- <input type="text" name="phone.subscriber_number" placeholder="0000000" value="{{ $data['phone.subscriber_number'] }}" />
43+ <input type="text" name="phone.country_code" placeholder="+81" value="{{ $data['phone']['country_code'] ?? '' }}" />
44+ <input type="number" name="phone.area_code" placeholder="43" value="{{ $data['phone']['area_code'] ?? '' }}" />
45+ <input type="number" name="phone.subscriber_number" placeholder="0000000" value="{{ $data['phone']['subscriber_number'] ?? '' }}" />
4346 </td>
4447 </tr>
4548 <tr>
4649 <td><label for="fax.country_code">FAX</label></td>
4750 <td>
48- <input type="text" name="fax.country_code" placeholder="+81" value="{{ $data['fax.country_code'] }}" />
49- <input type="text" name="fax.area_code" placeholder="43" value="{{ $data['fax.area_code'] }}" />
50- <input type="text" name="fax.subscriber_number" placeholder="0000000" value="{{ $data['fax.subscriber_number'] }}" />
51+ <input type="text" name="fax.country_code" placeholder="+81" value="{{ $data['fax']['country_code'] ?? '' }}" />
52+ <input type="number" name="fax.area_code" placeholder="43" value="{{ $data['fax']['area_code'] ?? '' }}" />
53+ <input type="number" name="fax.subscriber_number" placeholder="0000000" value="{{ $data['fax']['subscriber_number'] ?? '' }}" />
5154 </td>
5255 </tr>
5356 <tr>
5457 <td><label for="email">メールアドレス*</label></td>
55- <td><input type="text" name="email" placeholder="taro@076.co.jp" value="{{ $data['email'] }}" /></td>
58+ <td><input type="text" name="email" placeholder="taro@076.co.jp" value="{{ $data['email'] ?? '' }}" /></td>
5659 </tr>
5760 <tr>
58- <td><label for="year">生年月日</label></td>
61+ <td><label for="birth_year">生年月日</label></td>
5962 <td>
60- <input type="text" name="year" placeholder="1970" value="{{ $data['year'] }}" />年
61- <input type="text" name="month" placeholder="12" value="{{ $data['month'] }}" />月
62- <input type="text" name="day" placeholder="31" value="{{ $data['day'] }}" />日
63+ <input type="number" name="birth_year" placeholder="1970" value="{{ $data['birth']['year'] ?? '' }}" />年
64+ <input type="number" name="birth_month" placeholder="12" value="{{ $data['birth']['month'] ?? '' }}" />月
65+ <input type="number" name="birth_day" placeholder="31" value="{{ $data['birth']['day'] ?? '' }}" />日
6366 </td>
6467 </tr>
6568 </tbody>
@@ -68,29 +71,29 @@
6871 <table>
6972 <tbody>
7073 <tr>
71- <td><label for="zipcode">郵便番号*(ハイフン付き)</label></td>
72- <td>〒<input type="text" name="zipcode" value="{{ $data['zipcode'] }}" /></td>
74+ <td><label for="address_zipcode">郵便番号*(ハイフン付き)</label></td>
75+ <td>〒<input type="number" name="address_zipcode" value="{{ $data['address']['zipcode'] ?? '' }}" /></td>
7376 </tr>
7477 <tr>
75- <td><label for="state">都道府県*</label></td>
76- <td><input type="text" name="state" value="{{ $data['state'] }}" /></td>
78+ <td><label for="address_state">都道府県*</label></td>
79+ <td><input type="text" name="address_state" value="{{ $data['address']['state'] ?? '' }}" /></td>
7780 </tr>
7881 <tr>
79- <td><label for="city">市区町村*</label></td>
80- <td><input type="text" name="city" value="{{ $data['city'] }}" /></td>
82+ <td><label for="address_city">市区町村*</label></td>
83+ <td><input type="text" name="address_city" value="{{ $data['address']['city'] ?? '' }}" /></td>
8184 </tr>
8285 <tr>
83- <td><label for="street">町名*</label></td>
84- <td><input type="text" name="street" value="{{ $data['street'] }}" /></td>
86+ <td><label for="address_street">町名*</label></td>
87+ <td><input type="text" name="address_street" value="{{ $data['address']['street'] ?? '' }}" /></td>
8588 </tr>
8689 <tr>
87- <td><label for="number">番地*</label></td>
88- <td><input type="text" name="number" value="{{ $data['number'] }}" /></td>
90+ <td><label for="address_number">番地*</label></td>
91+ <td><input type="text" name="address_number" value="{{ $data['address']['number'] ?? '' }}" /></td>
8992 </tr>
9093 <tr>
91- <td><label for="country">国</label></td>
94+ <td><label for="address_country">国</label></td>
9295 <td>
93- <select name="country">
96+ <select name="address_country">
9497 <option value="JP" selected="selected">日本</option>
9598 <option value="NL">オランダ</option>
9699 </select>
@@ -98,7 +101,7 @@
98101 </tr>
99102 <tr>
100103 <td><label for="comments">メモ</label></td>
101- <td><input type="text" name="comments" value="{{ $data['comments'] }}" /></td>
104+ <td><input type="text" name="comments" value="{{ $data['comments'] ?? '' }}" /></td>
102105 </tr>
103106 </tbody>
104107 </table>
@@ -0,0 +1,9 @@
1+{@ include(common/header) @}
2+ <h2>本当に顧客様「{{ $handle }}」を削除しますか?</h2>
3+ <p>
4+ <form method="POST" action="/openprovider/deletecustomer/{{ $handle }}">
5+ <input type="submit" class="op-button-create" name="delete_confirm" value="はい" />
6+ <input type="submit" class="op-button-delete" name="delete_reject" value="いいえ" />
7+ </form>
8+ </p>
9+{@ include(common/footer) @}
@@ -1,26 +1,25 @@
11 {@ include(common/header) @}
2- 顧客様の削除<br />
3- 顧客様のクローン<br />
4- 顧客様の編集<br />
5-{$ $addInfo = $data['data']['additional_data'] $}
6-{$ $name = $data['data']['name'] $}
7-{$ $phone = $data['data']['phone'] $}
8-{$ $fax = $data['data']['fax'] $}
9-{$ $addr = $data['data']['address'] $}
2+ <a href="/openprovider/deletecustomer/{{ $data['data']['handle'] }}" class="op-button-delete">顧客様の削除</a>
3+ <a href="/openprovider/editcustomer/{{ $data['data']['handle'] }}" class="op-button-edit">顧客様の編集</a>
4+{$ $addInfo = $data['data']['additional_data'] ?? [] $}
5+{$ $name = $data['data']['name'] ?? [] $}
6+{$ $phone = $data['data']['phone'] ?? [] $}
7+{$ $fax = $data['data']['fax'] ?? [] $}
8+{$ $addr = $data['data']['address'] ?? [] $}
109 <h2>連絡先:{{ $name['full_name'] }} ({{ $data['data']['handle'] }})</h2>
1110 <table>
1211 <tbody>
1312 <tr>
1413 <th>ID</th>
15- <td>{{ $data['data']['id'] }}</td>
14+ <td>{{ $data['data']['id'] ?? '' }}</td>
1615 </tr>
1716 <tr>
1817 <th>リセラーID</th>
19- <td>{{ $data['data']['reseller_id'] }}</td>
18+ <td>{{ $data['data']['reseller_id'] ?? '' }}</td>
2019 </tr>
2120 <tr>
2221 <th>ハンドル</th>
23- <td>{{ $data['data']['handle'] }}</td>
22+ <td>{{ $data['data']['handle'] ?? '' }}</td>
2423 </tr>
2524 <tr>
2625 <th>イニシャル</th>
@@ -28,27 +27,27 @@
2827 </tr>
2928 <tr>
3029 <th>フルネーム</th>
31- <td>{{ $name['last_name'].' '.$name['first_name'] }}</td>
30+ <td>{{ ($name['last_name'] ?? '').' '.($name['first_name'] ?? '') }}</td>
3231 </tr>
3332 <tr>
3433 <th>生まれた場所</th>
35- <td>〒{{ $addInfo['birth_zipcode'].' '.$addInfo['birth_city'].' '.$addInfo['birth_address'].' '.$addInfo['birth_country'] }}</td>
34+ <td>〒{{ (!empty($fax) ? ($addInfo['birth_zipcode'] ?? '').' '.($addInfo['birth_city'] ?? '').' '.($addInfo['birth_address'] ?? '').' '.($addInfo['birth_country'] ?? '') : '') }}</td>
3635 </tr>
3736 <tr>
3837 <th>生年月日</th>
39- <td>{{ $addInfo['birth_date'] }}</td>
38+ <td>{{ $addInfo['birth_date'] ?? '' }}</td>
4039 </tr>
4140 <tr>
4241 <th>電話番号</th>
43- <td>{{ $phone['country_code'].$phone['area_code'].$phone['subscriber_number'] }}</td>
42+ <td>{{ (!empty($phone) ? ($phone['country_code'] ?? '').'-'.($phone['area_code'] ?? '').'-'.($phone['subscriber_number'] ?? '') : '') }}</td>
4443 </tr>
4544 <tr>
4645 <th>FAX</th>
47- <td>{{ $fax['country_code'].$fax['area_code'].$fax['subscriber_number'] }}</td>
46+ <td>{{ (!empty($fax) ? ($fax['country_code'] ?? '').'-'.($fax['area_code'] ?? '').'-'.($fax['subscriber_number'] ?? '') : '') }}</td>
4847 </tr>
4948 <tr>
5049 <th>メールアドレス</th>
51- <td>{{ $data['data']['email'] }}</td>
50+ <td>{{ $data['data']['email'] ?? '' }}</td>
5251 </tr>
5352 </tbody>
5453 </table>
@@ -57,28 +56,28 @@
5756 <tbody>
5857 <tr>
5958 <th>会社名</th>
60- <td>{{ $data['data']['company_name'] }}</td>
59+ <td>{{ $data['data']['company_name'] ?? '' }}</td>
6160 </tr>
6261 <tr>
6362 <th>VAT番号</th>
64- <td>{{ $data['data']['vat'] }}</td>
63+ <td>{{ $data['data']['vat'] ?? '' }}</td>
6564 </tr>
6665 <tr>
6766 <th>会社登録番号</th>
68- <td>{{ $addInfo['company_registration_number'] }}</td>
67+ <td>{{ $addInfo['company_registration_number'] ?? '' }}</td>
6968 </tr>
7069 <tr>
7170 <th>会社登録場所</th>
72- <td>{{ $addInfo['company_registration_city'] }}</td>
71+ <td>{{ $addInfo['company_registration_city'] ?? '' }}</td>
7372 </tr>
7473 <tr>
7574 <th>会社登録日</th>
76- <td>{{ $addInfo['company_registration_subscription_date'] }}</td>
75+ <td>{{ $addInfo['company_registration_subscription_date'] ?? '' }}</td>
7776 </tr>
7877 {$ $link = $addInfo['company_url'] $}
7978 <tr>
8079 <th>会社URL</th>
81- <td><a href="{{ $link }}">{{ $link }}</a></td>
80+ <td><a href="{{ $link ?? '#' }}">{{ $link ?? 'DUMMY' }}</a></td>
8281 </tr>
8382 </tbody>
8483 </table>
@@ -87,23 +86,23 @@
8786 <tbody>
8887 <tr>
8988 <th>道+番号</th>
90- <td>{{ $addr['street'].$addr['number'].' '.$addr['suffix'] }}</td>
89+ <td>{{ ($addr['street'].$addr['number'] ?? '').' '.($addr['suffix'] ?? '') }}</td>
9190 </tr>
9291 <tr>
9392 <th>郵便番号</th>
94- <td>{{ $addr['zipcode'] }}</td>
93+ <td>{{ $addr['zipcode'] ?? '' }}</td>
9594 </tr>
9695 <tr>
9796 <th>市区町村</th>
98- <td>{{ $addr['city'] }}</td>
97+ <td>{{ $addr['city'] ?? '' }}</td>
9998 </tr>
10099 <tr>
101100 <th>都道府県</th>
102- <td>{{ $addr['state'] }}</td>
101+ <td>{{ $addr['state'] ?? '' }}</td>
103102 </tr>
104103 <tr>
105104 <th>国</th>
106- <td>{{ $addr['country'] }}</td>
105+ <td>{{ $addr['country'] ?? '' }}</td>
107106 </tr>
108107 <tr>
109108 <th>言語</th>
@@ -111,7 +110,7 @@
111110 </tr>
112111 <tr>
113112 <th>本社の場所</th>
114- <td>〒{{ $addInfo['headquarters_zipcode'].' '.$addInfo['headquarters_city'].' '.$addInfo['headquarters_address'].' '.$addInfo['headquarters_country'] }}</td>
113+ <td>{{ !empty($addInfo) ? ('〒 '.($addInfo['headquarters_zipcode'] ?? '').' '.($addInfo['headquarters_city'] ?? '').' '.($addInfo['headquarters_address'] ?? '').' '.($addInfo['headquarters_country'] ?? '')) : '' }}</td>
115114 </tr>
116115 </tbody>
117116 </table>