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