/** * create board item entity by document entity * * @param DocumentEntity $doc document entity * @param Request $request request * @param MemberEntityInterface $user user * @return ItemEntity */ public function makeItem(DocumentEntity $doc, Request $request = null, MemberEntityInterface $user = null) { if ($request !== null && $user !== null) { if ($request->get('notice') === '1') { $doc->notice(); } // 비회원 글쓰기 또는 익명 글쓰기 처리 if ($user instanceof Guest) { $doc->guest(); } elseif ($request->get('anonymity') == '1') { $doc->anonymity($this->config->get('anonymityName')); } else { $doc->setAuthor($user); } } $item = new ItemEntity(); $item->setDocument($doc); if ($request !== null) { // set files if (($fileIds = $request->get('_files')) !== null) { $item->setFiles($this->storage->getsIn($fileIds)); } } return $item; }