Exemplo n.º 1
0
 public function updateOrder(Request $request)
 {
     $validator = Validator::make($request->all(), ['placeholder' => 'required|in:' . implode(',', array_keys(HomeThemeFacade::placeholders())), 'widget_ids' => 'required|array|exists:theme_widgets,id']);
     if ($validator->fails()) {
         return response()->json(['success' => false, 'msg' => $validator->errors()->all()]);
     }
     $order = 0;
     foreach ($request->input('widget_ids') as $id) {
         ThemeWidget::where('id', $id)->update(['placeholder' => $request->input('placeholder'), 'order' => ++$order]);
     }
     return response()->json(['success' => true]);
 }
Exemplo n.º 2
0
 public function create($placeholder, array $data = [], array $localizedData = [])
 {
     if (!$this::WIDGET_TRANSLATABLE) {
         $localizedData = [];
     }
     $order = ThemeWidget::where('placeholder', $placeholder)->count() + 1;
     $this->themeWidget = ThemeWidget::create(['widget_name' => $this::WIDGET_NAME, 'theme_name' => $this::THEME_NAME, 'placeholder' => $placeholder, 'constructing_data' => json_encode(array_merge($data, $localizedData)), 'order' => $order]);
     return empty($this->themeWidget) ? [trans('error.database_insert')] : true;
 }
Exemplo n.º 3
0
 public function copyTo(Request $request)
 {
     $themeWidget = ThemeWidget::findOrFail($request->input('widget_id'));
     $validator = Validator::make($request->all(), ['placeholder' => 'required|in:' . implode(',', array_keys(HomeThemeFacade::placeholders()))]);
     $redirect = redirect(adminUrl('widgets'));
     if ($validator->fails()) {
         return $redirect->withErrors($validator);
     }
     ThemeWidget::create(['widget_name' => $themeWidget->widget_name, 'theme_name' => $themeWidget->theme_name, 'placeholder' => $request->input('placeholder'), 'constructing_data' => $themeWidget->constructing_data, 'active' => $themeWidget->active, 'order' => ThemeWidget::where('placeholder', $request->input('placeholder'))->count() + 1]);
     return $redirect;
 }