55 lines
1.9 KiB
PHP
55 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers\Cloudflare;
|
|
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
use App\Models\Cloudflare\ZoneModel;
|
|
use App\Services\Cloudflare\Zone;
|
|
|
|
class ZoneController extends CloudflareController
|
|
{
|
|
private $_account_entity = null;
|
|
private $_myLibrays = [];
|
|
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
|
{
|
|
parent::initController($request, $response, $logger);
|
|
$this->class_name .= "Zone";
|
|
$this->class_path .= $this->class_name;
|
|
$this->title = lang("{$this->class_path}.title");
|
|
}
|
|
final protected function getModel(): ZoneModel
|
|
{
|
|
if ($this->model === null) {
|
|
$this->model = new ZoneModel();
|
|
}
|
|
return $this->model;
|
|
}
|
|
final protected function getMyLibrary(): Zone
|
|
{
|
|
if (!isset($this->_myLibrays[$this->_account_entity->getPK()])) {
|
|
$this->_myLibrays[$this->_account_entity->getPK()] = new Zone($this->_account_entity);
|
|
}
|
|
return $this->_myLibrays[$this->_account_entity->getPK()];
|
|
}
|
|
//Trigger작업
|
|
protected function trigger_process(mixed $uid): void
|
|
{
|
|
// //자신정보정의
|
|
// $this->entity = $this->getModel()->getEntityByPK($uid);
|
|
// if ($this->entity === null) {
|
|
// throw new \Exception("{$uid} 정보를 찾을수 없습니다.");
|
|
// }
|
|
// //부모데이터정의
|
|
// $this->_account_entity = $this->getAccountModel()->getEntityByPK($this->entity->getParent());
|
|
// //Socket처리
|
|
// $this->entity = $this->getMyLibrary()->sync($this->entity);
|
|
log_message("notice", "Zone Trigger {$uid} 작업완료");
|
|
}
|
|
public function trigger(mixed $uid): ResponseInterface
|
|
{
|
|
return $this->trigger_procedure($uid);
|
|
}
|
|
}
|