| @@ 160-184 (lines=25) @@ | ||
| 157 | * |
|
| 158 | * @return mixed |
|
| 159 | */ |
|
| 160 | public function sortByWeight($array) |
|
| 161 | { |
|
| 162 | $callback = function ($a, $b) { |
|
| 163 | if (!isset($a['weight'])) { |
|
| 164 | return 1; |
|
| 165 | } |
|
| 166 | if (!isset($b['weight'])) { |
|
| 167 | return -1; |
|
| 168 | } |
|
| 169 | if ($a['weight'] == $b['weight']) { |
|
| 170 | return 0; |
|
| 171 | } |
|
| 172 | ||
| 173 | return ($a['weight'] < $b['weight']) ? -1 : 1; |
|
| 174 | }; |
|
| 175 | ||
| 176 | if ($array instanceof Collection) { |
|
| 177 | $array = $array->toArray(); |
|
| 178 | } |
|
| 179 | if (is_array($array)) { |
|
| 180 | usort($array, $callback); |
|
| 181 | } |
|
| 182 | ||
| 183 | return $array; |
|
| 184 | } |
|
| 185 | ||
| 186 | /** |
|
| 187 | * Sort by date. |
|
| @@ 193-217 (lines=25) @@ | ||
| 190 | * |
|
| 191 | * @return mixed |
|
| 192 | */ |
|
| 193 | public function sortByDate($array) |
|
| 194 | { |
|
| 195 | $callback = function ($a, $b) { |
|
| 196 | if (!isset($a['date'])) { |
|
| 197 | return -1; |
|
| 198 | } |
|
| 199 | if (!isset($b['date'])) { |
|
| 200 | return 1; |
|
| 201 | } |
|
| 202 | if ($a['date'] == $b['date']) { |
|
| 203 | return 0; |
|
| 204 | } |
|
| 205 | ||
| 206 | return ($a['date'] > $b['date']) ? -1 : 1; |
|
| 207 | }; |
|
| 208 | ||
| 209 | if ($array instanceof Collection) { |
|
| 210 | $array = $array->toArray(); |
|
| 211 | } |
|
| 212 | if (is_array($array)) { |
|
| 213 | usort($array, $callback); |
|
| 214 | } |
|
| 215 | ||
| 216 | return $array; |
|
| 217 | } |
|
| 218 | ||
| 219 | /** |
|
| 220 | * Create an URL. |
|