/** * 정렬 확장 기능 목록 * * @return array */ public function getOrders() { $names = $this->register->get(Module\Board::getId() . PluginRegister::KEY_DELIMITER . self::ORDER_REGISTER_NAME); $classes = []; foreach ($names as $name) { $classes[$name] = new $name(); } return $classes; }
/** * create instance */ public function __construct() { $instanceConfig = InstanceConfig::instance(); $this->currentUrl = $instanceConfig->getUrl(); $this->boardId = $instanceConfig->getInstanceId(); if ($this->boardId === null) { throw new NotFoundInstanceIdException(); } $this->handler = app('xe.board.handler'); $this->urlHandler = app('xe.board.url'); $this->configHandler = app('xe.board.config'); // set config $this->config = $this->configHandler->get($this->boardId); $this->handler->setConfig($this->config); $this->urlHandler->setConfig($this->config); // check is manager $this->permissionHandler = app('xe.board.permission'); if (Auth::guest() === false && $this->permissionHandler->get($this->boardId)->ables(PermissionHandler::ACTION_MANAGE) === true) { $this->isManager = true; } // set skin /** @var \Xpressengine\Presenter\Presenter $presenter */ $presenter = app('xe.presenter'); $presenter->setSkin(Board::getId()); //$presenter->htmlRenderPopup(); $presenter->share('config', $this->config); $presenter->share('currentUrl', $this->currentUrl); $presenter->share('boardId', $this->boardId); $presenter->share('handler', $this->handler); $presenter->share('permissionHandler', $this->permissionHandler); $presenter->share('configHandler', $this->configHandler); $presenter->share('urlHandler', $this->urlHandler); $presenter->share('isManager', $this->isManager); }
/** * document manager * * @return \Xpressengine\Presenter\RendererInterface */ public function docsTrash() { $instances = []; $instanceIds = []; $urls = []; /** @var \Xpressengine\Routing\InstanceRouteHandler $instanceRoute */ $instanceRoute = app('xe.router'); $instanceRoutes = $instanceRoute->getsByModule(Board::getId()); foreach ($instanceRoutes as $route) { $instanceIds[] = $route->instanceId; $urls[$route->instanceId] = $route->url; $instances[] = ['id' => $route->instanceId, 'name' => $route->instanceId]; } $wheres = ['status' => DocumentEntity::STATUS_TRASH, 'instanceIds' => $instanceIds]; // keyword 검색 처리 if (Input::get('searchKeyword') != '') { $searchTarget = Input::get('searchTarget'); $searchKeyword = Input::get('searchKeyword'); if ($searchTarget == 'title_content') { $wheres[$searchTarget] = $searchKeyword; } else { $wheres[$searchTarget] = $searchKeyword; } } // 상세 검색 처리 foreach (Input::all() as $key => $value) { if ($value != '') { $wheres[$key] = $value; } } // 정렬 처리 $orders = ['createdAt' => 'desc']; $documents = Document::paginate($wheres, $orders, 3)->appends(Input::except('page')); return $this->presenter->make('docs.trash', compact('documents', 'instances', 'urls')); }