/** * 휴지통 패키지에서 각 휴지통의 상태를 알 수 있도록 정보를 반환 * 휴지통에 얼마만큼의 정보가 있는지 알려주기 위한 인터페이스 * * @return string */ public static function summary() { $count = BoardModel::where('status', 'trash')->where('type', BoardModule::getId())->count(); // todo: translation return sprintf('휴지통에 %s건의 문서가 있습니다.', $count); }
/** * Get menu type's item object * * @param string $id item id of menu type * @return mixed */ public function getTypeItem($id) { static $items = []; if (!isset($items[$id])) { $items[$id] = \Xpressengine\Plugins\Board\Models\Board::find($id); } return $items[$id]; }
/** * decrement vote count * * @param Board $board board model * @param UserInterface $user user * @param string $option 'assent' or 'dissent' * @return void */ public function decrementVoteCount(Board $board, UserInterface $user, $option) { $this->voteCounter->remove($board->id, $user, $option); $columnName = 'assentCount'; if ($option == 'dissent') { $columnName = 'dissentCount'; } $board->{$columnName} = $this->voteCounter->getPoint($board->id, $option); $board->save(); }
/** * move to copy * * @return \Illuminate\Http\RedirectResponse|Redirect */ public function copy(Request $request) { $documentIds = $request->get('id'); $documentIds = is_array($documentIds) ? $documentIds : [$documentIds]; $instanceId = $request->get('instanceId'); $config = $this->configHandler->get($instanceId); if ($config === null) { throw new NotFoundConfigHttpException(['instanceId' => $instanceId]); } $items = Board::find($documentIds); foreach ($items as $item) { $this->handler->setModelConfig($item, $this->configHandler->get($item->instanceId)); $user = new Guest(); if ($item->userId != '') { $user = User::find($item->userId); } $this->handler->copy($item, $user, $config); } Session::flash('alert', ['type' => 'success', 'message' => xe_trans('xe::processed')]); return $this->presenter->makeApi([]); }