segment as $seg) { $dirs = File::directories(resource_path() . '/views/segments/' . $seg); foreach ($dirs as $dir) { $temp = explode('/', $dir); $valids[] = [ 'segment' => $temp[count($temp) - 2], 'part' => $temp[count($temp) - 1], 'data' => json_decode(file_get_contents($dir . '/' . $temp[count($temp) - 1] . '.json'), true) ]; } } return view('admin.areas.area-design', compact('area', 'valids')); } /** * screenshot segment * @param $segment * @param $part * @return \Symfony\Component\HttpFoundation\BinaryFileResponse */ public function image($segment, $part) { return response()->file(resource_path() . '/views/segments/' . $segment . '/' . $part . '/screenshot.png', ['Content-Type' => 'image/png']); } public function update(Request $request, Area $area) { // return $request->all(); foreach ($request->input('parts',[]) as $item) { $data = json_decode($item); if ($data == null){ continue; } if ($data->id == null){ // create $part = new Part(); $part->area_id = $area->id; $part->segment = $data->segment; $part->part = $data->part; $part->save(); }else{ $part = Part::whereId($data->id)->first(); $part->segment = $data->segment; $part->part = $data->part; $part->save(); } } Part::whereIn('id', json_decode($request->input('removed')))->delete(); \Artisan::call('client'); logAdmin(__METHOD__,__CLASS__,$area->id); return redirect()->back()->with(['message' => __('area :NAME of website updated',['NAME' => $area->name])]); } public function sort(Area $area){ return view('admin.areas.area-sort',compact('area')); } public function sortSave(Request $request){ foreach ($request->input('items') as $key => $v){ $p = Part::whereId($v['id'])->first(); $p->sort = $key; $p->save(); } logAdmin(__METHOD__,__CLASS__,$p->area_id); return ['OK' => true,'message' => __("As you wished sort saved")]; } }