コード例 #1
0
 public function updateItem(Translator $translator, Request $request, $id)
 {
     /** @var CategoryItem $item */
     if (!($item = CategoryItem::find($request->get('id')))) {
         throw new InvalidArgumentHttpException();
     }
     $item->fill($request->all());
     XeCategory::putItem($item);
     $multiLang = $translator->getPreprocessorValues($request->all(), session()->get('locale'));
     $item->readableWord = $multiLang['word'];
     return XePresenter::makeApi($item->toArray());
 }
コード例 #2
0
 public function update(Request $request)
 {
     $inputs = $request->all();
     $items = [];
     foreach ($inputs['items'] as $key) {
         $items[] = $key;
     }
     XeConfig::put(Share::CONFIG_NAME, $items);
     return redirect()->to(route('manage.board.share.edit'));
 }
コード例 #3
0
 /**
  * document manager
  *
  * @return \Xpressengine\Presenter\RendererInterface
  */
 public function docsTrash(Request $request, RouteRepository $routeRepository)
 {
     $instances = [];
     $instanceIds = [];
     $urls = [];
     $instanceRoutes = $routeRepository->fetchByModule(BoardModule::getId());
     foreach ($instanceRoutes as $route) {
         $instanceIds[] = $route->instanceId;
         $urls[$route->instanceId] = $route->url;
         $instances[] = ['id' => $route->instanceId, 'name' => $route->url];
     }
     $wheres = ['status' => Board::STATUS_TRASH, 'instanceIds' => $instanceIds];
     // keyword 검색 처리
     if ($request->get('searchKeyword') != '') {
         $searchTarget = $request->get('searchTarget');
         $searchKeyword = $request->get('searchKeyword');
         if ($searchTarget == 'title_content') {
             $wheres[$searchTarget] = $searchKeyword;
         } else {
             $wheres[$searchTarget] = $searchKeyword;
         }
     }
     // 상세 검색 처리
     foreach ($request->all() as $key => $value) {
         if ($value != '') {
             $wheres[$key] = $value;
         }
     }
     $query = Board::whereIn('instanceId', $instanceIds)->where('status', Board::STATUS_TRASH);
     $query->orderBy('createdAt', 'desc');
     $documents = $query->paginate(15)->appends($request->except('page'));
     return $this->presenter->make('docs.trash', compact('documents', 'instances', 'urls'));
 }
コード例 #4
0
ファイル: Handler.php プロジェクト: xpressengine/plugin-board
 /**
  * 인터셥센을 이용해 서드파티가 처리할 수 있도록 메소드 사용
  *
  * @param Builder      $query   board model query builder
  * @param Request      $request request
  * @param ConfigEntity $config  board config entity
  * @return Builder
  */
 public function makeOrder(Builder $query, Request $request, ConfigEntity $config)
 {
     $orderType = $request->get('orderType', '');
     if ($orderType === '' && $config->get('orderType') != null) {
         $orderType = $config->get('orderType', '');
     }
     if ($orderType == '') {
         $query->orderBy('head', 'desc');
     } elseif ($orderType == 'assentCount') {
         $query->orderBy('assentCount', 'desc')->orderBy('head', 'desc');
     } elseif ($orderType == 'recentlyCreated') {
         $query->orderBy(Board::CREATED_AT, 'desc')->orderBy('head', 'desc');
     } elseif ($orderType == 'recentlyUpdated') {
         $query->orderBy(Board::UPDATED_AT, 'desc')->orderBy('head', 'desc');
     }
     $query->getProxyManager()->orders($query->getQuery(), $request->all());
     return $query;
 }
コード例 #5
0
 /**
  * update dynamic field
  *
  * @return \Xpressengine\Presenter\RendererInterface
  */
 public function update(Request $request, Translator $translator)
 {
     /**
      * @var \Xpressengine\DynamicField\DynamicFieldHandler $dynamicField
      */
     $dynamicField = app('xe.dynamicField');
     $inputs = $request->all();
     unset($inputs['databaseName']);
     /**
      * @var \Xpressengine\DynamicField\RegisterHandler $registerHandler
      */
     $registerHandler = $dynamicField->getRegisterHandler();
     $rules = DynamicFieldSection::getRules();
     $fieldType = $registerHandler->getSkin($dynamicField, $inputs['typeId']);
     $fieldSkin = $registerHandler->getSkin($dynamicField, $inputs['skinId']);
     $rules = array_merge($rules, $fieldType->getSettingsRules(), $fieldSkin->getSettingsRules());
     $this->validate($request->instance(), $rules);
     $configHandler = $dynamicField->getConfigHandler();
     $config = $configHandler->get($inputs['group'], $inputs['id']);
     foreach ($inputs as $name => $value) {
         $config->set($name, $value);
     }
     $dynamicField->setConnection(XeDB::connection($request->get('databaseName')));
     $dynamicField->put($config);
     $row = $config->getPureAll();
     $fieldType = $registerHandler->getType($dynamicField, $row['typeId']);
     $fieldSkin = $registerHandler->getSkin($dynamicField, $row['skinId']);
     $row['typeName'] = $fieldType->name();
     $row['skinName'] = $fieldSkin->name();
     $multiLang = $translator->getPreprocessorValues($inputs, session()->get('locale'));
     $row['label'] = $multiLang['label'];
     return XePresenter::makeApi($row);
 }