1 | <?php |
||
2 | |||
3 | namespace Chuckbe\Chuckcms\Controllers; |
||
4 | |||
5 | use Chuckbe\Chuckcms\Models\Redirect; |
||
6 | |||
7 | use Illuminate\Http\Request; |
||
8 | use Illuminate\Foundation\Bus\DispatchesJobs; |
||
9 | use Illuminate\Routing\Controller as BaseController; |
||
10 | use Illuminate\Foundation\Validation\ValidatesRequests; |
||
11 | use Illuminate\Foundation\Auth\Access\AuthorizesRequests; |
||
12 | |||
13 | class RedirectController extends BaseController |
||
14 | { |
||
15 | use AuthorizesRequests, DispatchesJobs, ValidatesRequests; |
||
16 | |||
17 | /** |
||
18 | * Create a new controller instance. |
||
19 | * |
||
20 | * @return void |
||
21 | */ |
||
22 | public function __construct(Redirect $redirect) |
||
23 | { |
||
24 | $this->redirect = $redirect; |
||
0 ignored issues
–
show
Bug
Best Practice
introduced
by
Loading history...
|
|||
25 | } |
||
26 | |||
27 | /** |
||
28 | * Show the dashboard -> menus index. |
||
29 | * |
||
30 | * @return \Illuminate\Http\Response |
||
31 | */ |
||
32 | public function index() |
||
33 | { |
||
34 | $redirects = $this->redirect->get(); |
||
35 | |||
36 | return view('chuckcms::backend.redirects.index', compact('redirects')); |
||
0 ignored issues
–
show
|
|||
37 | } |
||
38 | |||
39 | public function create(Request $request) |
||
40 | { |
||
41 | //$request['slug'] = str_slug($request->slug, '-'); |
||
42 | |||
43 | $this->validate($request, [//@todo create custom Request class for redirect validation |
||
44 | 'slug' => 'max:185|required|unique:redirects', |
||
45 | 'to' => 'required|max:185', |
||
46 | 'type' => 'required|numeric|in:301,302' |
||
47 | ]); |
||
48 | |||
49 | $redirect = Redirect::firstOrNew( |
||
50 | ['slug' => $request['slug']], |
||
51 | ['to' => $request['to'], |
||
52 | 'type' => $request['type']]); |
||
53 | |||
54 | if ($redirect->save()) { |
||
55 | return redirect()->route('dashboard.redirects'); |
||
56 | } |
||
57 | } |
||
58 | |||
59 | public function update(Request $request) |
||
60 | { |
||
61 | //$request['slug'] = str_slug($request->slug, '-'); |
||
62 | |||
63 | $this->validate($request, [//@todo create custom Request class for redirect validation |
||
64 | 'id' => 'required', |
||
65 | 'slug' => 'required|max:185', |
||
66 | 'to' => 'required|max:185', |
||
67 | 'type' => 'required|numeric|in:301,302' |
||
68 | ]); |
||
69 | |||
70 | $redirect = Redirect::where('id', $request['id'])->update([ |
||
71 | 'slug' => $request['slug'], |
||
72 | 'to' => $request['to'], |
||
73 | 'type' => $request['type'] |
||
74 | ]); |
||
75 | |||
76 | return redirect()->route('dashboard.redirects'); |
||
77 | } |
||
78 | |||
79 | public function delete(Request $request) |
||
80 | { |
||
81 | $this->validate($request, ['id' => 'required']); |
||
82 | |||
83 | $redirect = Redirect::where('id', $request['id'])->first(); |
||
84 | |||
85 | if ($redirect->delete()) { |
||
86 | return redirect()->route('dashboard.redirects'); |
||
87 | } |
||
88 | } |
||
89 | } |
||
90 |