Example #1
0
 /**
  * 휴지통 패키지에서 각 휴지통의 상태를 알 수 있도록 정보를 반환
  * 휴지통에 얼마만큼의 정보가 있는지 알려주기 위한 인터페이스
  *
  * @return string
  */
 public static function summary()
 {
     $count = BoardModel::where('status', 'trash')->where('type', BoardModule::getId())->count();
     // todo: translation
     return sprintf('휴지통에 %s건의 문서가 있습니다.', $count);
 }
Example #2
0
 /**
  * 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];
 }
Example #3
0
 /**
  * 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([]);
 }