_category = $category; $this->_user_entity = $user_entity; } private function getCategory(): string { if ($this->_category == "") { throw new \Exception("저장할 Category가 정의되지 않았습니다."); } return $this->_category; } private function getUserEntity(): UserEntity { if ($this->_user_entity === null) { throw new \Exception("사용자정보가 없습니다."); } return $this->_user_entity; } final public function getBasePath(): string { return getenv("mangboard.uploads.path"); } final public function getUploadPath(): string { return parent::getUploadPath() . DIRECTORY_SEPARATOR . $this->getBasePath(); } final public function getUploadURL(): string { return sprintf("/wp-content/%s/%s/%s", parent::getUploadURL(), $this->getBasePath(), $this->getBasePath()); } final public function getHTMLTag(string $content = ""): string { //Board 게시판 image_path , content용 데이터 배열에 추가 후 modifyBoard에서 처리 switch ($this->getOrintginType()) { case "image": $content = sprintf( "\"%s\"", $this->getUploadURL(), $this->getPath(), $this->getOriginName(), $this->getOriginName() ); break; case "video": $content = sprintf( "", $this->getOriginName(), $this->getUploadURL(), $this->getPath(), $this->getOriginName(), $this->getMimeType(), ); break; } log_message("debug", sprintf( "\n--------%s--------\n%s\n--------------------\n", __FUNCTION__, $content )); return $content; } private function getBoardsLibrary(): BoardsLibrary { if ($this->_boards_library === null) { $this->_boards_library = new BoardsLibrary($this->getCategory(), $this->getUserEntity()); } return $this->_boards_library; } final public function getBoardLibrary(): BoardLibrary { if ($this->_board_library === null) { $this->_board_library = new BoardLibrary( $this->getBoardsLibrary()->getEntity(), $this->getUserEntity() ); } return $this->_board_library; } final public function getFileLibrary(): FileLibrary { if ($this->_file_library === null) { $this->_file_library = new FileLibrary( $this->getBoardsLibrary()->getEntity(), $this->getUserEntity() ); } return $this->_file_library; } final public function getImageLibrary(): ImageLibrary { if ($this->_image_library === null) { $this->_image_library = new ImageLibrary(); } return $this->_image_library; } }