PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.7
Booking for Appointments and Events Calendar – Amelia v2.4.7
2.4.9 2.4.8 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 1 month ago Booking 2 weeks ago Calendar 3 weeks ago Entities 3 weeks ago Google 5 months ago Import 1 month ago Mobile 2 months ago Notification 2 months ago Payment 1 month ago QrCode 3 weeks ago Settings 1 month ago Square 8 months ago Stash 3 weeks ago Stats 8 months ago Test 8 months ago User 2 weeks ago WhatsNew 5 months ago Command.php 2 weeks 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