PluginProbe
Depicter — Popup & Slider Builder / 1.6.2
Depicter — Popup & Slider Builder v1.6.2
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / app / src / Controllers / Ajax / ProductsAjaxController.php

ProductsAjaxController.php in Depicter — Popup & Slider Builder 1.6.2, at app/src/Controllers/Ajax/ProductsAjaxController.php

139 lines 5.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Depicter\Controllers\Ajax;
3
4 use Averta\Core\Utility\Data;
5 use Averta\WordPress\Utility\JSON;
6 use Depicter\Utility\Sanitize;
7 use Psr\Http\Message\ResponseInterface;
8 use WPEmerge\Requests\RequestInterface;
9
10 class ProductsAjaxController
11 {
12
13 /**
14 * List available products
15 * @param RequestInterface $request
16 * @param $view
17 *
18 * @return ResponseInterface
19 */
20 public function getProducts( RequestInterface $request, $view ) {
21 $args = [];
22
23 if( !Data::isNullOrEmptyStr( $request->body('perpage') ) ){
24 $args['perpage'] = Sanitize::int( $request->body('perpage') );
25 }
26 if( !Data::isNullOrEmptyStr( $request->body('excerptLength') ) ){
27 $args['excerptLength'] = Sanitize::int( $request->body('excerptLength') );
28 }
29 if( !Data::isNullOrEmptyStr( $request->body('offset') ) ){
30 $args['offset'] = Sanitize::int( $request->body('offset') );
31 }
32 if( !Data::isNullOrEmptyStr( $request->body('linkSlides') ) ){
33 $args['linkSlides'] = Sanitize::textfield( $request->body('linkSlides') );
34 }
35 if( !Data::isNullOrEmptyStr( $request->body('orderBy') ) ){
36 $args['orderBy'] = Sanitize::textfield( $request->body('orderBy') );
37 }
38 if( !Data::isNullOrEmptyStr( $request->body('order') ) ){
39 $args['order'] = Sanitize::textfield( $request->body('order') );
40 }
41 if( !Data::isNullOrEmptyStr( $request->body('imageSource') ) ){
42 $args['imageSource'] = Sanitize::textfield( $request->body('imageSource') );
43 }
44 if( !Data::isNullOrEmptyStr( $request->body('excludedIds') ) ){
45 $args['excludedIds'] = JSON::decode( $request->body('excludedIds') );
46 }
47 if( !Data::isNullOrEmptyStr( $request->body('includedIds') ) ){
48 $args['includedIds'] = JSON::decode( $request->body('includedIds') );
49 }
50 if( !Data::isNullOrEmptyStr( $request->body('excludeNonThumbnail') ) ){
51 $args['excludeNonThumbnail'] = Sanitize::textfield( $request->body('excludeNonThumbnail') );
52 }
53 if( !Data::isNullOrEmptyStr( $request->body('from') ) ){
54 $args['from'] = Sanitize::textfield( $request->body('from') );
55 }
56 if( Data::isBool( $request->body('inStockOnly') ) ){
57 $args['inStockOnly'] = Sanitize::textfield( $request->body('inStockOnly') );
58 }
59 if( Data::isBool( $request->body('regularProducts') ) ){
60 $args['regularProducts'] = Sanitize::textfield( $request->body('regularProducts') );
61 }
62 if( Data::isBool( $request->body('downloadableProducts') ) ){
63 $args['downloadableProducts'] = Sanitize::textfield( $request->body('downloadableProducts') );
64 }
65 if( Data::isBool( $request->body('virtualProducts') ) ){
66 $args['virtualProducts'] = Sanitize::textfield( $request->body('virtualProducts') );
67 }
68 if( Data::isBool( $request->body('filterByPrice') ) ){
69 $args['filterByPrice'] = Sanitize::textfield( $request->body('filterByPrice') );
70 }
71 if( !Data::isNullOrEmptyStr( $request->body('startPrice') ) ){
72 $args['startPrice'] = Sanitize::textfield( $request->body('startPrice') );
73 }
74 if( !Data::isNullOrEmptyStr( $request->body('endPrice') ) ){
75 $args['endPrice'] = Sanitize::textfield( $request->body('endPrice') );
76 }
77 if( !Data::isNullOrEmptyStr( $request->body('startSalePrice') ) ){
78 $args['startSalePrice'] = Sanitize::textfield( $request->body('startSalePrice') );
79 }
80 if( !Data::isNullOrEmptyStr( $request->body('endSalePrice') ) ){
81 $args['endSalePrice'] = Sanitize::textfield( $request->body('endSalePrice') );
82 }
83 if( !Data::isNullOrEmptyStr( $request->body('taxonomies') ) ){
84 $args['taxonomies'] = Sanitize::textfield( $request->body('taxonomies') );
85 }
86
87 $products = \Depicter::dataSource()->products()->previewRecords( $args );
88
89 return \Depicter::json([
90 'hits' => $products
91 ])->withStatus(200);
92 }
93
94 /**
95 * List hand picked products
96 * @param RequestInterface $request
97 * @param $view
98 *
99 * @return ResponseInterface
100 */
101 public function getHandPickedProducts( RequestInterface $request, $view ) {
102 $args = [];
103
104 if( !Data::isNullOrEmptyStr( $request->body('excerptLength') ) ){
105 $args['excerptLength'] = Sanitize::int( $request->body('excerptLength') );
106 }
107 if( !Data::isNullOrEmptyStr( $request->body('linkSlides') ) ){
108 $args['linkSlides'] = Sanitize::textfield( $request->body('linkSlides') );
109 }
110 if( !Data::isNullOrEmptyStr( $request->body('orderBy') ) ){
111 $args['orderBy'] = Sanitize::textfield( $request->body('orderBy') );
112 }
113 if( !Data::isNullOrEmptyStr( $request->body('order') ) ){
114 $args['order'] = Sanitize::textfield( $request->body('order') );
115 }
116 if( !Data::isNullOrEmptyStr( $request->body('imageSource') ) ){
117 $args['imageSource'] = Sanitize::textfield( $request->body('imageSource') );
118 }
119 if( !Data::isNullOrEmptyStr( $request->body('includedIds') ) ){
120 $args['includedIds'] = JSON::decode( $request->body('includedIds') );
121 }
122 if( !Data::isNullOrEmptyStr( $request->body('excludeNonThumbnail') ) ){
123 $args['excludeNonThumbnail'] = Sanitize::textfield( $request->body('excludeNonThumbnail') );
124 }
125 if( Data::isBool( $request->body('inStockOnly') ) ){
126 $args['inStockOnly'] = Sanitize::textfield( $request->body( 'inStockOnly' ) );
127 }
128 if( !Data::isNullOrEmptyStr( $request->body('taxonomies') ) ){
129 $args['taxonomies'] = Sanitize::textfield( $request->body('taxonomies') );
130 }
131
132 $products = \Depicter::dataSource()->handPickedProducts()->previewRecords( $args );
133
134 return \Depicter::json([
135 'hits' => $products
136 ])->withStatus(200);
137 }
138 }
139