From eef1ffb0f43783e28d0b931f270cab6d10ece2fb Mon Sep 17 00:00:00 2001 From: Victor Häggqvist Date: Thu, 5 Mar 2015 02:31:03 +0100 Subject: init --- src/SortByFieldExtension.php | 82 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/SortByFieldExtension.php (limited to 'src') diff --git a/src/SortByFieldExtension.php b/src/SortByFieldExtension.php new file mode 100644 index 0000000..a3e028b --- /dev/null +++ b/src/SortByFieldExtension.php @@ -0,0 +1,82 @@ +$sort_by; + + if (is_array($b)) + $b_sort_value = $b[$sort_by]; + else + $b_sort_value = $b->$sort_by; + + if($a_sort_value == $b_sort_value) { + return 0; + } else if($a_sort_value > $b_sort_value) { + return (1 * $flip); + } else { + return (-1 * $flip); + } + }); + } + return $content; + } + + /** + * Validate the passed $item to check if it can be sorted + * @param $item mixed Collection item to be sorted + * @param $field string + * @return bool If collection item can be sorted + */ + private static function isSortable($item, $field) { + if (is_array($item)) + return array_key_exists($field, $item); + elseif (is_object($item)) + return property_exists($item, $field); + else + return false; + } +} -- cgit v1.2.3