| @@ 24-39 (lines=16) @@ | ||
| 21 | * |
|
| 22 | * @return self |
|
| 23 | */ |
|
| 24 | public function sortByDate(): self |
|
| 25 | { |
|
| 26 | return $this->usort(function ($a, $b) { |
|
| 27 | if (!isset($a['date'])) { |
|
| 28 | return -1; |
|
| 29 | } |
|
| 30 | if (!isset($b['date'])) { |
|
| 31 | return 1; |
|
| 32 | } |
|
| 33 | if ($a['date'] == $b['date']) { |
|
| 34 | return 0; |
|
| 35 | } |
|
| 36 | ||
| 37 | return ($a['date'] > $b['date']) ? -1 : 1; |
|
| 38 | }); |
|
| 39 | } |
|
| 40 | } |
|
| 41 | ||
| @@ 74-87 (lines=14) @@ | ||
| 71 | * |
|
| 72 | * @return int |
|
| 73 | */ |
|
| 74 | public static function sortByDate($a, $b) |
|
| 75 | { |
|
| 76 | if (!isset($a['date'])) { |
|
| 77 | return -1; |
|
| 78 | } |
|
| 79 | if (!isset($b['date'])) { |
|
| 80 | return 1; |
|
| 81 | } |
|
| 82 | if ($a['date'] == $b['date']) { |
|
| 83 | return 0; |
|
| 84 | } |
|
| 85 | ||
| 86 | return ($a['date'] > $b['date']) ? -1 : 1; |
|
| 87 | } |
|
| 88 | ||
| 89 | /** |
|
| 90 | * Checks if a date is valid. |
|
| @@ 37-52 (lines=16) @@ | ||
| 34 | * |
|
| 35 | * @return self |
|
| 36 | */ |
|
| 37 | public function sortByDate(): self |
|
| 38 | { |
|
| 39 | return $this->usort(function ($a, $b) { |
|
| 40 | if (!isset($a['date'])) { |
|
| 41 | return -1; |
|
| 42 | } |
|
| 43 | if (!isset($b['date'])) { |
|
| 44 | return 1; |
|
| 45 | } |
|
| 46 | if ($a['date'] == $b['date']) { |
|
| 47 | return 0; |
|
| 48 | } |
|
| 49 | ||
| 50 | return ($a['date'] > $b['date']) ? -1 : 1; |
|
| 51 | }); |
|
| 52 | } |
|
| 53 | ||
| 54 | /** |
|
| 55 | * Sort items by title (natural sort). |
|
| @@ 71-86 (lines=16) @@ | ||
| 68 | * |
|
| 69 | * @return self |
|
| 70 | */ |
|
| 71 | public function sortByWeight(): self |
|
| 72 | { |
|
| 73 | return $this->usort(function ($a, $b) { |
|
| 74 | if (!isset($a['weight'])) { |
|
| 75 | return -1; |
|
| 76 | } |
|
| 77 | if (!isset($b['weight'])) { |
|
| 78 | return 1; |
|
| 79 | } |
|
| 80 | if ($a['weight'] == $b['weight']) { |
|
| 81 | return 0; |
|
| 82 | } |
|
| 83 | ||
| 84 | return ($a['weight'] > $b['weight']) ? -1 : 1; |
|
| 85 | }); |
|
| 86 | } |
|
| 87 | } |
|
| 88 | ||