diff --git a/public/static/style-openprovider.css b/public/static/style-openprovider.css index 91ab8e0..f9ff0ad 100644 --- a/public/static/style-openprovider.css +++ b/public/static/style-openprovider.css @@ -71,6 +71,19 @@ a.op-button-edit:hover { color: #fcfcfc; } +div.op-grid { + display: grid; + grid-auto-flow: column; + margin: 8px 0; +} + +div.op-grid-item { + margin: 4px; + padding: 2px; + border: 1px solid #fcfcfc; + border-radius: 2px; +} + tr.status-free { background-color: #34860e; color: #fff; } tr.status-reserved { background-color: #c59e1d; color: #fff; } tr.status-use { background-color: #850000; color: #fff; } diff --git a/src/Site/Controller/Op.php b/src/Site/Controller/Op.php index 953b887..3a9eca0 100644 --- a/src/Site/Controller/Op.php +++ b/src/Site/Controller/Op.php @@ -78,6 +78,10 @@ class Op { $this->tmpl->assign('pagetit', $this->pagetit); if (!$this->user || $this->user->role !== Roles::ADMIN) goto noaccess; + $data = $this->op->getReseller(['with_statistics' => true]); + $domain = $this->op->listDomains(['order_by.renewal_date' => 'asc', 'status' => 'ACT']); + $this->tmpl->assign('data', $data->data); + $this->tmpl->assign('domain', $domain->data); $this->tmpl->render('index'); exit(); diff --git a/src/Std/Lib/Curl.php b/src/Std/Lib/Curl.php index 2cc088c..b04ee76 100644 --- a/src/Std/Lib/Curl.php +++ b/src/Std/Lib/Curl.php @@ -388,7 +388,7 @@ class Curl { if ($method === 'POST' || $method === 'PUT') { if (!empty($this->postRaw)) { $httpData = $this->postRaw; - } elseif (!empty($this->postFields)) { + } else if (!empty($this->postFields)) { $httpData = http_build_query($this->postFields); if (!isset($this->headers['Content-Type'])) { $this->headers['Content-Type'] = 'application/x-www-form-urlencoded'; diff --git a/src/Std/Lib/Openprovider.php b/src/Std/Lib/Openprovider.php index 161c7cc..3988c8f 100644 --- a/src/Std/Lib/Openprovider.php +++ b/src/Std/Lib/Openprovider.php @@ -52,9 +52,9 @@ class Openprovider { private string $ip = ''; private int $resellerId = 0; private int $lastAuth = 0; - // private string $BASEURL = 'https://api.openprovider.eu/v1beta'; - private string $BASEURL = DEBUG_MODE ? 'http://api.sandbox.openprovider.nl:8480/v1beta' - : 'https://api.openprovider.eu/v1beta'; + private string $BASEURL = 'https://api.openprovider.eu/v1beta'; + // private string $BASEURL = DEBUG_MODE ? 'http://api.sandbox.openprovider.nl:8480/v1beta' + // : 'https://api.openprovider.eu/v1beta'; public function __construct() { if (!OPENPROVIDER_ENABLED) return; @@ -64,6 +64,10 @@ class Openprovider { $this->cache = new Cache($this->cacheDir); } + public function deleteCache(string $name): void { + $this->cache->murder($name); + } + /** * トークンの受け取り。 * このライブリリーを使ったら、一回「login()」を実行する事が必須となります。 @@ -147,7 +151,6 @@ class Openprovider { /** * ドメイン一覧。 - * @todo テスト * * @return Result 結果。 */ @@ -157,11 +160,12 @@ class Openprovider { $cache = $this->cache->get($cacheName); if ($this->cache->resurrect($cache, $query)) return Result::Success('', $cache); - $curl = $this->setupCurl('/domains'); + $uri = "/domains?".http_build_query($query, '', '&', PHP_QUERY_RFC3986); + $curl = $this->setupCurl($uri); $res = $this->curlResult($curl); - if (isset($res['data']['results'])) { + if (isset($res->data['data']['results'])) { $this->cache->set($cacheName, $res->data); - return Result::Success('', $res['data']['results']); + return Result::Success('', $res->data['data']['results']); } return Result::Error('ドメインの確認に失敗。'); @@ -213,7 +217,8 @@ class Openprovider { 'autorenew' => $autorenew, ]; - $curl = $this->setupCurl('/domains/', 'POST', $payload); + $uri = '/domains/'; + $curl = $this->setupCurl($uri, 'POST', $payload); kys('TODO'); $res = $this->curlResult($curl); if (isset($res['data'])) return Result::Success('', $res); @@ -250,7 +255,8 @@ class Openprovider { 'with_price' => $with_price, ]; - $curl = $this->setupCurl('/domains/check', 'POST', $payload); + $uri = '/domains/check'; + $curl = $this->setupCurl($uri, 'POST', $payload); $res = $this->curlResult($curl); if (isset($res->data['data']['results'])) return Result::Success('', $res->data['data']['results']); @@ -267,7 +273,8 @@ class Openprovider { public function suggestDomainname(array $payload = []): Result { if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。'); - $curl = $this->setupCurl('/domains/suggest-name', 'POST', $payload); + $uri = '/domains/suggest-name'; + $curl = $this->setupCurl($uri, 'POST', $payload); $res = $this->curlResult($curl); if (isset($res->data['data']['results'])) { return Result::Success('ドメインを勧められる事に成功。', $res->data['data']['results']); @@ -286,7 +293,8 @@ class Openprovider { public function tradeDomainname(array $payload = []): Result { if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。'); - $curl = $this->setupCurl('/domains/trade', 'POST', $payload); + $uri = '/domains/trade'; + $curl = $this->setupCurl($uri, 'POST', $payload); $res = $this->curlResult($curl); if (isset($res->data['data']['results'])) { $this->cache->murder('listdomains'); @@ -306,7 +314,8 @@ class Openprovider { public function transferDomainname(array $payload = []): Result { if (!OPENPROVIDER_ENABLED) return Result::error('エラー:OpenProviderは無効です。'); - $curl = $this->setupCurl('/domains/transfer', 'POST', $payload); + $uri = '/domains/transfer'; + $curl = $this->setupCurl($uri, 'POST', $payload); $res = $this->curlResult($curl); if (isset($res->data['data']['results'])) { $this->cache->murder('listdomains'); @@ -2084,7 +2093,6 @@ class Openprovider { /** * リセラーの受け取り - * @todo テスト * * @param array $query 検索クエリー * @return Result @@ -2160,7 +2168,6 @@ class Openprovider { /** * 統計の受け取り - * @todo テスト * * @return Result */ diff --git a/view/openprovider/index.maron b/view/openprovider/index.maron index 57a84da..380216a 100644 --- a/view/openprovider/index.maron +++ b/view/openprovider/index.maron @@ -1,5 +1,5 @@ {@ include(common/header) @} -
| ドメイン名 | +更新日 | +
|---|---|
| {{ $dom }} | +{{ $d['renewal_date'] }} | +