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()); }
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')); }
/** * 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')); }
/** * 인터셥센을 이용해 서드파티가 처리할 수 있도록 메소드 사용 * * @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; }
/** * 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); }