198 lines
8.2 KiB
PHP
198 lines
8.2 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers\Admin\Cloudflare;
|
|
|
|
use App\Controllers\Admin\AdminController;
|
|
use App\Models\Cloudflare\AccountModel;
|
|
use App\Models\Cloudflare\AuthModel;
|
|
use App\Models\Cloudflare\RecordModel;
|
|
use App\Models\Cloudflare\ZoneModel;
|
|
use CodeIgniter\HTTP\RedirectResponse;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
use App\Services\MyLogService;
|
|
|
|
abstract class CloudflareController extends AdminController
|
|
{
|
|
private $_authModel = null;
|
|
private $_accountModel = null;
|
|
private $_zoneModel = null;
|
|
private $_recordModel = null;
|
|
|
|
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
|
{
|
|
parent::initController($request, $response, $logger);
|
|
$this->uri_path .= "cloudflare/";
|
|
// dd($this->uri_path);
|
|
}
|
|
final protected function getAuthModel(): AuthModel
|
|
{
|
|
if ($this->_authModel === null) {
|
|
$this->_authModel = new AuthModel();
|
|
}
|
|
return $this->_authModel;
|
|
}
|
|
final protected function getAccountModel(): AccountModel
|
|
{
|
|
if ($this->_accountModel === null) {
|
|
$this->_accountModel = new AccountModel();
|
|
}
|
|
return $this->_accountModel;
|
|
}
|
|
final protected function getZoneModel(): ZoneModel
|
|
{
|
|
if ($this->_zoneModel === null) {
|
|
$this->_zoneModel = new ZoneModel();
|
|
}
|
|
return $this->_zoneModel;
|
|
}
|
|
final protected function getRecordModel(): RecordModel
|
|
{
|
|
if ($this->_recordModel === null) {
|
|
$this->_recordModel = new RecordModel();
|
|
}
|
|
return $this->_recordModel;
|
|
}
|
|
|
|
//생성관련
|
|
protected function create_process_result($message): RedirectResponse|string
|
|
{
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, $message, $this->myauth->getUIDByAuthInfo());
|
|
return parent::create_process_result($message);
|
|
// $this->init(__FUNCTION__);
|
|
// helper(['form']);
|
|
// $this->forms = ['attributes' => ['method' => "post",], 'hiddens' => []];
|
|
// return view(
|
|
// strtolower($this->view_path . $this->getService()->getClassPath() . "/create_result"),
|
|
// data: ['viewDatas' => $this->getViewDatas()]
|
|
// );
|
|
}
|
|
protected function create_process_failed($message): RedirectResponse|string
|
|
{
|
|
MyLogService::add("error", $message);
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
return parent::create_process_failed($message);
|
|
}
|
|
|
|
//수정관련
|
|
protected function modify_process_result($message): RedirectResponse|string
|
|
{
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, $message, $this->myauth->getUIDByAuthInfo());
|
|
return parent::modify_process_result($message);
|
|
}
|
|
protected function modify_process_failed($message): RedirectResponse|string
|
|
{
|
|
MyLogService::add("error", $message);
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
return parent::modify_process_failed($message);
|
|
}
|
|
|
|
//단일필드작업
|
|
protected function toggle_process_result($message): RedirectResponse|string
|
|
{
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, $message, $this->myauth->getUIDByAuthInfo());
|
|
return parent::toggle_process_result($message);
|
|
}
|
|
protected function toggle_process_failed($message): RedirectResponse|string
|
|
{
|
|
MyLogService::add("error", $message);
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
return parent::toggle_process_failed($message);
|
|
}
|
|
|
|
//일괄처리작업
|
|
protected function batchjob_process_result($message): RedirectResponse|string
|
|
{
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, $message, $this->myauth->getUIDByAuthInfo());
|
|
return parent::batchjob_process_result($message);
|
|
}
|
|
protected function batchjob_process_failed($message): RedirectResponse|string
|
|
{
|
|
MyLogService::add("error", $message);
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
return parent::batchjob_process_failed($message);
|
|
}
|
|
|
|
//Delete관련
|
|
protected function delete_process_result($message): RedirectResponse|string
|
|
{
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, $message, $this->myauth->getUIDByAuthInfo());
|
|
return parent::delete_process_result($message);
|
|
}
|
|
protected function delete_process_failed($message): RedirectResponse|string
|
|
{
|
|
MyLogService::add("error", $message);
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
return parent::delete_process_failed($message);
|
|
}
|
|
|
|
//일괄삭제
|
|
protected function batchdelete_process_result($message): RedirectResponse|string
|
|
{
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, $message, $this->myauth->getUIDByAuthInfo());
|
|
return parent::batchjob_delete_process_result($message);
|
|
}
|
|
protected function batchdelete_process_failed($message): RedirectResponse|string
|
|
{
|
|
MyLogService::add("error", $message);
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
return parent::batchjob_delete_process_failed($message);
|
|
}
|
|
|
|
//Sync관련련
|
|
protected function sync_process(string $uid): void {}
|
|
protected function sync_process_result($message): RedirectResponse|string
|
|
{
|
|
return redirect()->to($this->myauth->popPreviousUrl())->with('error', $message);
|
|
}
|
|
final protected function sync_procedure(string $uid): RedirectResponse
|
|
{
|
|
//Transaction Start
|
|
$this->getService()->getModel()->transStart();
|
|
try {
|
|
$this->sync_process($uid);
|
|
if ($this->isMyLog) {
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["SUCCESS"], $this->myauth->getUIDByAuthInfo());
|
|
}
|
|
$this->getService()->getModel()->transCommit();
|
|
return $this->sync_process_result(MESSAGES["SUCCESS"]);
|
|
} catch (\Exception $e) {
|
|
//Transaction Rollback
|
|
$this->getService()->getModel()->transRollback();
|
|
if ($this->isMyLog) {
|
|
MyLogService::add("error", $e->getMessage());
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
}
|
|
return redirect()->back()->with('error', $e->getMessage());
|
|
}
|
|
}
|
|
|
|
protected function reload_process(mixed $uid): void {}
|
|
protected function reload_process_result($message): RedirectResponse|string
|
|
{
|
|
return redirect()->to($this->myauth->popPreviousUrl())->with('error', $message);
|
|
}
|
|
final protected function reload_procedure(mixed $uid): RedirectResponse
|
|
{
|
|
//Transaction Start
|
|
$this->getService()->getModel()->transStart();
|
|
try {
|
|
$this->reload_process($uid);
|
|
if ($this->isMyLog) {
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["SUCCESS"], $this->myauth->getUIDByAuthInfo());
|
|
}
|
|
$this->getService()->getModel()->transCommit();
|
|
return $this->reload_process_result(MESSAGES["SUCCESS"]);
|
|
} catch (\Exception $e) {
|
|
//Transaction Rollback
|
|
$this->getService()->getModel()->transRollback();
|
|
if ($this->isMyLog) {
|
|
MyLogService::add("error", $e->getMessage());
|
|
MyLogService::save($this->getService()->getClassName(), __FUNCTION__, MESSAGES["FAILED"], $this->myauth->getUIDByAuthInfo());
|
|
}
|
|
return redirect()->back()->with('error', $e->getMessage());
|
|
}
|
|
}
|
|
}
|