From caf76cbe72ca6749962a1feddfd70bdd29483c36 Mon Sep 17 00:00:00 2001 From: cash Date: Sun, 13 Feb 2011 18:48:40 +0000 Subject: admin menu uses weights for ordering git-svn-id: http://code.elgg.org/elgg/trunk@8201 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/classes/ElggMenuBuilder.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'engine/classes/ElggMenuBuilder.php') diff --git a/engine/classes/ElggMenuBuilder.php b/engine/classes/ElggMenuBuilder.php index f51ec8c62..33abc0c6b 100644 --- a/engine/classes/ElggMenuBuilder.php +++ b/engine/classes/ElggMenuBuilder.php @@ -179,9 +179,12 @@ class ElggMenuBuilder { case 'title': $sort_callback = array('ElggMenuBuilder', 'compareByTitle'); break; - case 'name'; + case 'name': $sort_callback = array('ElggMenuBuilder', 'compareByName'); break; + case 'weight': + $sort_callback = array('ElggMenuBuilder', 'compareByWeight'); + break; case 'order': // use registration order return; @@ -244,4 +247,18 @@ class ElggMenuBuilder { return strcmp($a, $b); } + + /** + * Compare two menu items by their weight + * + * @param ElggMenuItem $a + * @param ElggMenuItem $b + * @return bool + */ + public static function compareByWeight($a, $b) { + $a = $a->getWeight(); + $b = $b->getWeight(); + + return $a > $b; + } } -- cgit v1.2.3