Exemplo n.º 1
0
 public function postSetting(Request $request, SkinHandler $skinHandler)
 {
     $validation = Validator::make($request->all(), ['skinId' => 'required', 'instanceId' => 'required']);
     if ($validation->fails()) {
         throw new InvalidArgumentException();
     }
     $skinInstanceId = $request->get('instanceId');
     $skinId = $request->get('skinId');
     $config = $request->except('instanceId', 'skinId', '_token');
     $skin = $skinHandler->get($skinId);
     // 각 스킨에게 config값을 전처리 할 기회를 준다.
     $config = $skin->updateSetting($config);
     $skin->setting($config);
     $skinHandler->saveConfig($skinInstanceId, $skin);
     return XePresenter::makeApi(['type' => 'success', 'message' => '저장되었습니다.', 'skinId' => $skinId, 'skinTitle' => $skin->getTitle()]);
 }