/** * 휴지통 패키지에서 각 휴지통의 상태를 알 수 있도록 정보를 반환 * 휴지통에 얼마만큼의 정보가 있는지 알려주기 위한 인터페이스 * * @return string */ public static function summary() { $count = BoardModel::where('status', 'trash')->where('type', BoardModule::getId())->count(); // todo: translation return sprintf('휴지통에 %s건의 문서가 있습니다.', $count); }
/** * 게시판 이동 * Document Package 에서 comment 를 지원하지 않아서 사용할 수 있는 인터페이스가 없음 * * @param Board $board board model * @param ConfigEntity $config board config entity * @return void */ public function move(Board $board, ConfigEntity $config) { $board->getConnection()->beginTransaction(); $dstInstanceId = $config->get('boardId'); // 덧글이 있다면 덧글들을 모두 옯긴다. if ($config->get('recursiveDelete') === true) { $query = Board::where('head', $board->head); if ($board->reply !== '' && $board->reply !== null) { $query->where('reply', 'like', $board->reply . '%'); } $items = $query->get(); foreach ($items as $item) { $this->setModelConfig($item, $config); $item->instanceId = $dstInstanceId; $item->save(); $slug = $board->boardSlug; $slug->instanceId = $dstInstanceId; $slug->save(); } } else { $board->instanceId = $dstInstanceId; $board->save(); $slug = $board->boardSlug; $slug->instanceId = $dstInstanceId; $slug->save(); } $board->getConnection()->commit(); }