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 3 weeks ago Booking 6 days ago Calendar 6 days ago Entities 6 days ago Google 4 months ago Import 3 weeks ago Mobile 1 month ago Notification 1 month ago Payment 3 weeks ago QrCode 6 days ago Settings 3 weeks ago Square 7 months ago Stash 6 days ago Stats 7 months ago Test 7 months ago User 6 days ago WhatsNew 4 months ago Command.php 6 days 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