title = lang("{$this->getService()->getClassPath()}.title"); $this->helper = new MapurlHelper(); $this->isMyLog = env("mylog.mapurl.use") == "true"; //MyLogService 사용여부 } protected function getService(): MapurlService { if ($this->service === null) { $this->service = new MapurlService(); } return $this->service; } private function remaping_process(): void { //모든 필요한 FormOption등 조기화작업 필요 $this->getService()->getModel()->where('status', DEFAULTS['STATUS']); $this->getService()->getModel()->orderBy('oldurl', 'ASC'); $this->entitys = $this->getService()->getModel()->getEntitys(); $remap_page = view($this->view_path . DIRECTORY_SEPARATOR . strtolower($this->getService()->getClassPath()) . DIRECTORY_SEPARATOR . 'remap_template', ["viewDatas" => $this->getViewDatas()]); $remap_path = FCPATH . DIRECTORY_SEPARATOR . "mapurl"; //디렉토리 생성 여부 확인 if (!is_dir($remap_path)) { mkdir($remap_path, 0755, true); } //htmlBuild용 if (!file_put_contents($remap_path . '/index.html', $remap_page)) { throw new \Exception(__FUNCTION__ . "에서 " . $remap_path . "/index.html Write 실패"); } } //생성 public function create_form(): RedirectResponse|string { $this->init('create', [$this->getService()->getModel()::TITLE, 'newurl', 'status']); return $this->create_form_procedure(); } protected function create_process(): void { parent::create_process(); $this->remaping_process(); } public function create(): RedirectResponse|string { $this->init(__FUNCTION__, [$this->getService()->getModel()::TITLE, 'newurl', 'status']); return $this->create_procedure(); } //수정 public function modify_form(int $uid): RedirectResponse|string { $this->init('modify', [$this->getService()->getModel()::TITLE, 'newurl', 'status']); return $this->modify_form_procedure($uid); } //(modify,toggle,batchjob사용) protected function modify_process(mixed $uid): void { parent::modify_process($uid); $this->remaping_process(); } public function modify(int $uid): RedirectResponse|string { $this->init(__FUNCTION__, [$this->getService()->getModel()::TITLE, 'newurl', 'status']); return $this->modify_procedure($uid); } public function toggle(mixed $uid, string $field): RedirectResponse { return $this->toggle_procedure($uid, $field); } //일괄처리작업 public function batchjob(): RedirectResponse { $this->init(__FUNCTION__); return $this->batchjob_procedure(); } //View public function view(int $uid): RedirectResponse|string { $this->init(__FUNCTION__); return $this->view_procedure($uid); } //삭제 protected function delete_process(mixed $uid): void { parent::delete_process($uid); $this->remaping_process(); } // 리스트 public function index(): string { $this->init(__FUNCTION__); return $this->list_procedure(); } // Download public function download(string $output_type, mixed $uid = false): DownloadResponse|string { $this->init(__FUNCTION__); return $this->download_procedure($output_type, $uid); } }