diff --git a/vilesci/stammdaten/organisationseinheiten.php b/vilesci/stammdaten/organisationseinheiten.php
index 7fecfb051..226b9ffec 100644
--- a/vilesci/stammdaten/organisationseinheiten.php
+++ b/vilesci/stammdaten/organisationseinheiten.php
@@ -35,11 +35,51 @@ echo '
Organisationseinheiten - Übersicht
';
-$arr = array();
-$arr = getChilds('etw');
-$arr1['etw'] = $arr;
-displayh($arr1);
+//Benutzerdefiniert Sortierfunktion damit die Eintraege mit
+//Kindelementen nach oben sortiert werden
+function mysort($a, $b)
+{
+ if(is_array($a) && is_array($b))
+ {
+ if(count($a)==count($b))
+ return 0;
+
+ if(count($a)>count($b))
+ return -1;
+ else
+ return 1;
+ }
+ else
+ {
+ if(is_array($a))
+ return 1;
+ if(is_array($b))
+ return -1;
+ else
+ return 0;
+ }
+}
+
+//Alle obersten Organisationseinheiten holen
+$oe = new organisationseinheit();
+$oe->getHeads();
+
+foreach ($oe->result as $result)
+{
+ $arr = array();
+ //Array mit den Kindelementen erzeugen
+ $arr = getChilds($result->oe_kurzbz);
+
+ //Sortieren damit die Eintraege mit Kindern weiter oben stehen
+ uasort($arr,'mysort');
+
+ //Parent hinzufuegen
+ $arr1[$result->oe_kurzbz] = $arr;
+
+ //Anzeigen
+ displayh($arr1);
+}
//Liefert die Kindelemente einer Organisationseinheit in
//einem verschachteltem Array zurueck
@@ -56,7 +96,7 @@ function getChilds($foo)
$hlp = getChilds($val);
$arr[$val] = $hlp;
}
-
+
return $arr;
}