diff --git a/app/Services/Cloudflare/Account.php b/app/Services/Cloudflare/Account.php index c80202a..ed094cc 100644 --- a/app/Services/Cloudflare/Account.php +++ b/app/Services/Cloudflare/Account.php @@ -61,16 +61,19 @@ class Account extends Cloudflare log_message("notice", "\n----------Auth {$this->getAuthEntity()->getTitle()}의 Account 처리 시작-----------"); $entitys = []; try { - $results_array = $this->reload_procedure("accounts"); - if (count(value: $results_array) > 0) { - foreach ($results_array as $results) { - foreach ($results as $result) { - if (!is_object($result) || get_class($result) !== 'stdClass') { - throw new \Exception("Account: result is not a stdClass:\n" . var_export($result, true) . "\n"); - } - $formDatas = $this->getArrayByResult($result); - $entitys[$formDatas[AccountModel::PK]] = $this->getModel()->modify(new AccountEntity(), $formDatas); + $results = $this->reload_procedure("accounts"); + $total = count(value: $results); + if ($total > 0) { + $cnt = 1; + foreach ($results as $result) { + if (!is_object($result) || get_class($result) !== 'stdClass') { + throw new \Exception("Account: result is not a stdClass:\n" . var_export($result, true) . "\n"); } + $formDatas = $this->getArrayByResult($result); + $entity = $this->getModel()->modify(new AccountEntity(), $formDatas); + log_message("debug", "[{$this->getMySocket()::$_request}] :{$cnt}/{$total} => {$entity->getTitle()} Account 처리"); + $entitys[$entity->getPK()] = $entity; + $cnt++; } //부모키를 기준으로 CF에 존재하지 않는 데이터 삭제용 $this->getModel()->where(AccountModel::PARENT, $this->getAuthEntity()->getPK()); diff --git a/app/Services/Cloudflare/Record.php b/app/Services/Cloudflare/Record.php index 49e363e..77ee605 100644 --- a/app/Services/Cloudflare/Record.php +++ b/app/Services/Cloudflare/Record.php @@ -143,16 +143,19 @@ class Record extends Cloudflare log_message("notice", "\n-----------Zone {$this->getParentEntity()->getTitle()}의 Record 처리 시작-----------"); $entitys = []; try { - $results_array = $this->reload_procedure("zones/{$this->getParentEntity()->getPK()}/dns_records"); - if (count(value: $results_array) > 0) { - foreach ($results_array as $results) { - foreach ($results as $result) { - if (!is_object($result) || get_class($result) !== 'stdClass') { - throw new \Exception("Record: result is not a stdClass:\n" . var_export($result, true) . "\n"); - } - $formDatas = $this->getArrayByResult($result); - $entitys[$formDatas[RecordModel::PK]] = $this->getModel()->modify(new RecordEntity(), $formDatas); + $results = $this->reload_procedure("zones/{$this->getParentEntity()->getPK()}/dns_records"); + $total = count(value: $results); + if ($total > 0) { + $cnt = 1; + foreach ($results as $result) { + if (!is_object($result) || get_class($result) !== 'stdClass') { + throw new \Exception("Record: result is not a stdClass:\n" . var_export($result, true) . "\n"); } + $formDatas = $this->getArrayByResult($result); + $entity = $this->getModel()->modify(new RecordEntity(), $formDatas); + log_message("debug", "[{$this->getMySocket()::$_request}] :{$cnt}/{$total} => {$entity->getTitle()} Record 처리"); + $entitys[$entity->getPK()] = $entity; + $cnt++; } //부모키를 기준으로 CF에 존재하지 않는 데이터 DB삭제 $this->getModel()->where(RecordModel::PARENT, $this->getParentEntity()->getPK()); diff --git a/app/Services/Cloudflare/Zone.php b/app/Services/Cloudflare/Zone.php index a78460b..6868d0d 100644 --- a/app/Services/Cloudflare/Zone.php +++ b/app/Services/Cloudflare/Zone.php @@ -149,18 +149,20 @@ class Zone extends Cloudflare log_message("notice", "\n-----------Account {$this->getParentEntity()->getTitle()}의 Zone처리 시작-----------"); $entitys = []; try { - $results_array = $this->reload_procedure("zones"); - if (count(value: $results_array) > 0) { - foreach ($results_array as $results) { - foreach ($results as $result) { - if (!is_object($result) || get_class($result) !== 'stdClass') { - throw new \Exception("Zone: result is not a stdClass:\n" . var_export($result, true) . "\n"); - } - $formDatas = $this->getArrayByResult($result); - $formDatas = $this->getCFSetting($formDatas[ZoneModel::PK], $formDatas); - $entitys[$formDatas[ZoneModel::PK]] = $this->getModel()->modify(new ZoneEntity(), $formDatas); + $results = $this->reload_procedure("zones"); + $cnt = 1; + $total = count(value: $results); + if ($total > 0) { + foreach ($results as $result) { + if (!is_object($result) || get_class($result) !== 'stdClass') { + throw new \Exception("Zone: result is not a stdClass:\n" . var_export($result, true) . "\n"); } - log_message("debug", "현재 [" . $this->getMySocket()::$_request . "]"); + $formDatas = $this->getArrayByResult($result); + $formDatas = $this->getCFSetting($formDatas[ZoneModel::PK], $formDatas); + $entity = $this->getModel()->modify(new ZoneEntity(), $formDatas); + log_message("debug", "[{$this->getMySocket()::$_request}] :{$cnt}/{$total} => {$entity->getTitle()} Zone 처리"); + $entitys[$entity->getPK()] = $entity; + $cnt++; } //부모키를 기준으로 CF에 존재하지 않는 데이터 삭제용 $this->getModel()->where(ZoneModel::PARENT, value: $this->getParentEntity()->getPK());