PluginProbe
Fluent Support – Helpdesk & Customer Support Ticket System / 2.4.5
Fluent Support – Helpdesk & Customer Support Ticket System v2.4.5
2.4.5 2.4.0 2.3.2 2.3.1 2.3.0 2.2.1 2.2.0 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.10.5 1.4.0 1.4.1 1.4.2 1.4.5 1.4.6 1.4.7 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 All 69 releases
← All changes | app/Http/Controllers/ProductController.php +41 -47 1.4.6 → 2.4.5 View file →
@@ -1,74 +1,68 @@
1 1 <?php
2 2
3 3 namespace FluentSupport\App\Http\Controllers;
4 4
5 -use FluentSupport\App\Models\Customer;
5 +use FluentSupport\App\Http\Requests\ProductRequest;
6 6 use FluentSupport\App\Models\Product;
7 -use FluentSupport\App\Models\Conversation;
8 -use FluentSupport\App\Models\Ticket;
9 -use FluentSupport\Framework\Request\Request;
10 -use FluentSupport\Framework\Support\Arr;
7 +use FluentSupport\Framework\Http\Request\Request;
11 8
12 9 class ProductController extends Controller
13 10 {
14 - public function index(Request $request)
11 + /**
12 + * @param Request $request
13 + * @param Product $product
14 + * @return array
15 + */
16 + public function index( Request $request, Product $product )
15 17 {
16 - $products = Product::orderBy('id', 'DESC')->searchBy($request->get('search'))->paginate();
17 -
18 - return [
19 - 'products' => $products
20 - ];
18 + return $product->getProducts( $request->getSafe('search', 'sanitize_text_field') );
21 19 }
22 20
23 - public function get(Request $request, $productId)
21 + /**
22 + * @param Product $product
23 + * @param int $product_id
24 + * @return array
25 + */
26 + public function get( Product $product, $product_id )
24 27 {
25 - $product = Product::findOrFail($productId);
26 - return [
27 - 'product' => $product
28 - ];
28 + return $product->getProduct( $product_id );
29 29 }
30 30
31 - public function create(Request $request)
31 + /**
32 + * @param ProductRequest $request
33 + * @param Product $product
34 + * @return array
35 + * @throws \FluentSupport\Framework\Validator\ValidationException
36 + */
37 + public function create( ProductRequest $request, Product $product )
32 38 {
33 39 $data = $request->all();
34 - $this->validate($data, [
35 - 'title' => 'required'
36 - ]);
37 40
38 - $data = wp_unslash($data);
39 - $product = Product::create($data);
41 + return $product->createProduct( $data );
42 + }
40 43
41 - return [
42 - 'message' => __('Product has been successfully created', 'fluent-support'),
43 - 'product' => $product
44 - ];
45 - }
46 44
47 - public function update(Request $request, $productId)
45 + /**
46 + * @param ProductRequest $request
47 + * @param Product $product
48 + * @param int $product_id
49 + * @return array
50 + * @throws \FluentSupport\Framework\Validator\ValidationException
51 + */
52 + public function update( ProductRequest $request, Product $product, $product_id )
48 53 {
49 54 $data = $request->all();
50 - $this->validate($data, [
51 - 'title' => 'required'
52 - ]);
53 55
54 - $product = Product::findOrFail($productId);
55 - $product->fill($data);
56 - $product->save();
57 -
58 - return [
59 - 'message' => __('Product has been updated', 'fluent-support'),
60 - 'product' => Product::find($productId)
61 - ];
56 + return $product->updateProduct( $product_id, $data );
62 57 }
63 58
64 - public function delete(Request $request, $productId)
59 + /**
60 + * @param Product $product
61 + * @param int $product_id
62 + * @return array
63 + */
64 + public function delete( Product $product, $product_id )
65 65 {
66 - Product::where('id', $productId)
67 - ->delete();
68 -
69 - return [
70 - 'message' => __('Product has been deleted', 'fluent-support')
71 - ];
66 + return $product->deleteProduct( $product_id );
72 67 }
73 -
74 68 }