From 0de303678f808c787f0ebaa2e0f16b63345bb3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=ED=9D=A0?= Date: Sat, 5 Oct 2024 15:33:56 +0900 Subject: [PATCH] cfmgrv4 init...1 --- app/Config/Routes.php | 1 - .../Admin/Cloudflare/AccountController.php | 4 ++-- .../Admin/Cloudflare/RecordController.php | 21 +++++++++++++++---- app/Controllers/MVController.php | 2 +- .../Admin/Cloudflare/Account_helper.php | 4 ++-- app/Helpers/Admin/Cloudflare/Auth_helper.php | 2 +- .../Admin/Cloudflare/Record_helper.php | 6 +++--- app/Helpers/Admin/Cloudflare/Zone_helper.php | 4 ++-- 8 files changed, 28 insertions(+), 16 deletions(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 26349b7..25eaa95 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -56,7 +56,6 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin'], function ($rou $routes->group('account', function ($routes) { $routes->get('/', 'AccountController::index'); $routes->post('create/(:uuid)', 'AccountController::create'); - $routes->get('reload/(:alphanum)', 'AccountController::reload/$1'); $routes->get('reload/(:num)', 'AccountController::reload/$1'); $routes->get('download/(:alpha)', 'AccountController::download/$1'); }); diff --git a/app/Controllers/Admin/Cloudflare/AccountController.php b/app/Controllers/Admin/Cloudflare/AccountController.php index f27955d..cf19b9f 100644 --- a/app/Controllers/Admin/Cloudflare/AccountController.php +++ b/app/Controllers/Admin/Cloudflare/AccountController.php @@ -14,7 +14,7 @@ class AccountController extends CloudflareController { private $_myLibrary = null; private $_model = null; - private $_auth_key = null; + private $_auth_entity = null; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { parent::initController($request, $response, $logger); @@ -33,7 +33,7 @@ class AccountController extends CloudflareController final protected function getMyLibrary(): Account { if ($this->_myLibrary === null) { - $this->_myLibrary = new Account($this->_auth_key); + $this->_myLibrary = new Account($this->_auth_entity); } return $this->_myLibrary; } diff --git a/app/Controllers/Admin/Cloudflare/RecordController.php b/app/Controllers/Admin/Cloudflare/RecordController.php index a2f8ad1..af4b2a2 100644 --- a/app/Controllers/Admin/Cloudflare/RecordController.php +++ b/app/Controllers/Admin/Cloudflare/RecordController.php @@ -126,12 +126,25 @@ class RecordController extends CloudflareController if ($this->entity === null) { throw new \Exception("{$uid} 정보를 찾을수 없습니다."); } - //부모데이터정의 - $this->_zone_entity = $this->getZoneModel()->getEntityByPK($this->entity->getParent()); - //Socket처리 - $entity = $this->getMyLibrary()->modify($this->entity, $this->formDatas); + //fixed 필드가 있고 값이 변경되었을때 + if (in_array('fixed', $this->fields) && $this->formDatas['fixed'] !== $this->entity->fixed) { + $entity = $this->getModel()->modify($this->entity, $this->formDatas); + } else { + //부모데이터정의 + $this->_zone_entity = $this->getZoneModel()->getEntityByPK($this->entity->getParent()); + //Socket처리 + $entity = $this->getMyLibrary()->modify($this->entity, $this->formDatas); + } log_message("debug", "Record:{$entity->getTitle()} 수정 작업을 완료하였습니다."); } + //단일필드작업 + public function toggle(string $uid, string $field): RedirectResponse + { + $this->action = __FUNCTION__; + $this->fields = [$field]; + $this->modify_process($uid); + return $this->modify_procedure($uid); + } //일괄처리작업 public function batcjob(): RedirectResponse { diff --git a/app/Controllers/MVController.php b/app/Controllers/MVController.php index 7dbf4d3..69cd136 100644 --- a/app/Controllers/MVController.php +++ b/app/Controllers/MVController.php @@ -220,7 +220,7 @@ abstract class MVController extends CommonController } } //단일필드작업 - final public function toggle(string $uid, string $field): RedirectResponse + public function toggle(string $uid, string $field): RedirectResponse { $this->action = __FUNCTION__; $this->fields = [$field]; diff --git a/app/Helpers/Admin/Cloudflare/Account_helper.php b/app/Helpers/Admin/Cloudflare/Account_helper.php index adf51b1..95e024e 100644 --- a/app/Helpers/Admin/Cloudflare/Account_helper.php +++ b/app/Helpers/Admin/Cloudflare/Account_helper.php @@ -62,7 +62,7 @@ function getFieldView_AccountHelper(string $field, array $viewDatas, array $extr } else { // dd($viewDatas['field_options']); $value = anchor( - base_url() . strtolower($viewDatas['root']) . "auth/reload/" . $viewDatas['entity']->getParent(), + current_url() . "/reload/" . $viewDatas['entity']->getParent(), ICONS["RELOAD"], [ "class" => "btn btn-sm btn-primary btn-circle", @@ -75,7 +75,7 @@ function getFieldView_AccountHelper(string $field, array $viewDatas, array $extr break; case AccountModel::TITLE: $value = anchor( - current_url() . '/reload/' . $viewDatas['entity']->getPK(), + base_url() . strtolower($viewDatas['root']) . 'zone/reload/' . $viewDatas['entity']->getPK(), ICONS["RELOAD"], [ "class" => "btn btn-sm btn-primary btn-circle", diff --git a/app/Helpers/Admin/Cloudflare/Auth_helper.php b/app/Helpers/Admin/Cloudflare/Auth_helper.php index 3f87349..3e1e44a 100644 --- a/app/Helpers/Admin/Cloudflare/Auth_helper.php +++ b/app/Helpers/Admin/Cloudflare/Auth_helper.php @@ -43,7 +43,7 @@ function getFieldView_AuthHelper(string $field, array $viewDatas, array $extras switch ($field) { case AuthModel::TITLE: $value = anchor( - current_url() . '/reload/' . $viewDatas['entity']->getPK(), + base_url() . strtolower($viewDatas['root']) . 'account/reload/' . $viewDatas['entity']->getPK(), ICONS["RELOAD"], [ "class" => "btn btn-sm btn-primary btn-circle", diff --git a/app/Helpers/Admin/Cloudflare/Record_helper.php b/app/Helpers/Admin/Cloudflare/Record_helper.php index de0b8ca..8fb13e4 100644 --- a/app/Helpers/Admin/Cloudflare/Record_helper.php +++ b/app/Helpers/Admin/Cloudflare/Record_helper.php @@ -76,7 +76,7 @@ function getFieldView_RecordHelper(string $field, array $viewDatas, array $extra $value = ""; } else { $value = anchor( - base_url() . strtolower($viewDatas['root']) . 'zone/reload/' . $viewDatas['entity']->getParent(), + current_url() . "/reload/" . $viewDatas['entity']->getParent(), ICONS["RELOAD"], [ "class" => "btn btn-sm btn-primary btn-circle", @@ -86,8 +86,8 @@ function getFieldView_RecordHelper(string $field, array $viewDatas, array $extra } break; case RecordModel::TITLE: - $url = sprintf("%s/toggle/%s?fixed=%s", current_url(), $viewDatas['entity']->getPK(), $viewDatas['entity']->fixed == 'on' ? "off" : "on"); - $value = sprintf("%s%s", $viewDatas['entity']->fixed == 'on' ? ICONS['LOCK'] : "", $value); + $url = sprintf("%s/toggle/%s/fixed?fixed=%s", current_url(), $viewDatas['entity']->getPK(), $viewDatas['entity']->fixed == 'on' ? "off" : "on"); + $value = sprintf("%s%s", $viewDatas['entity']->fixed == 'on' ? "" . ICONS['LOCK'] . "" : "", $value); $value = anchor($url, $value, ["target" => "_self"]); break; case 'content': diff --git a/app/Helpers/Admin/Cloudflare/Zone_helper.php b/app/Helpers/Admin/Cloudflare/Zone_helper.php index 2664d20..ba5e5b8 100644 --- a/app/Helpers/Admin/Cloudflare/Zone_helper.php +++ b/app/Helpers/Admin/Cloudflare/Zone_helper.php @@ -79,7 +79,7 @@ function getFieldView_ZoneHelper(string $field, array $viewDatas, array $extras $value = ""; } else { $value = anchor( - base_url() . strtolower($viewDatas['root']) . "account/reload/" . $viewDatas['entity']->getParent(), + current_url() . "/reload/" . $viewDatas['entity']->getParent(), ICONS["RELOAD"], [ "class" => "btn btn-sm btn-primary btn-circle", @@ -92,7 +92,7 @@ function getFieldView_ZoneHelper(string $field, array $viewDatas, array $extras break; case ZoneModel::TITLE: $value = anchor( - current_url() . '/reload/' . $viewDatas['entity']->getPK(), + base_url() . strtolower($viewDatas['root']) . 'record/reload/' . $viewDatas['entity']->getPK(), ICONS["RELOAD"], [ "class" => "btn btn-sm btn-primary btn-circle",