PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Application / Commands / SortParamsTrait.php
ameliabooking / src / Application / Commands Last commit date
Bookable 4 weeks ago Booking 1 week ago Calendar 1 week ago Entities 1 week ago Google 4 months ago Import 4 weeks ago Mobile 1 month ago Notification 1 month ago Payment 4 weeks ago QrCode 1 week ago Settings 4 weeks ago Square 7 months ago Stash 1 week ago Stats 7 months ago Test 7 months ago User 1 week ago WhatsNew 4 months ago Command.php 1 week ago CommandHandler.php 7 years ago CommandResult.php 6 months ago SortParamsTrait.php 5 months ago
SortParamsTrait.php
42 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Commands;
4
5 /**
6 * Trait SortParamsTrait
7 *
8 * @package AmeliaBooking\Application\Commands
9 */
10 trait SortParamsTrait
11 {
12 /**
13 * @param array $params
14 * @param array $allowedFields
15 *
16 * @return array
17 */
18 protected function parseSortParams($params, array $allowedFields)
19 {
20 if (empty($params['sort'])) {
21 return $params;
22 }
23
24 $sort = $params['sort'];
25 $isDescending = substr($sort, 0, 1) === '-';
26 $sortField = $isDescending ? substr($sort, 1) : $sort;
27
28 if (!in_array($sortField, $allowedFields, true)) {
29 unset($params['sort']);
30
31 return $params;
32 }
33
34 $params['sort'] = [
35 'field' => $sortField,
36 'order' => $isDescending ? 'DESC' : 'ASC',
37 ];
38
39 return $params;
40 }
41 }
42