PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.4
Booking for Appointments and Events Calendar – Amelia v2.4.4
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 2 weeks ago Booking 2 weeks ago Calendar 2 weeks ago Entities 2 weeks ago Google 3 months ago Import 3 months ago Mobile 2 weeks ago Notification 2 weeks ago Payment 2 months ago QrCode 3 months ago Settings 2 weeks ago Square 6 months ago Stash 6 months ago Stats 6 months ago Test 6 months ago User 1 day ago WhatsNew 3 months ago Command.php 1 month ago CommandHandler.php 7 years ago CommandResult.php 4 months ago SortParamsTrait.php 3 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