예제 #1
0
 /**
  * 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;
 }