private static function loadSortedMenuData($folder) { $menu_files = $folder->findFilesEndingWith("menu.ini"); if (count($menu_files) == 0) { return null; } $file = new File($folder->getPath() . $menu_files[0]->getFilename()); $all_data = PropertiesUtils::readFromFile($file, true); $final_sorted_data = array(); foreach ($all_data as $section => $data) { $data["key"] = $section; if (isset($data["folder"])) { $childs = MenuBuilder::loadSortedMenuData(new Dir($data["folder"])); if ($childs !== null) { $data["childs"] = $childs; } } $final_sorted_data[(int) $data["position"]] = $data; } ArrayUtils::reorder_from_zero($final_sorted_data); return $final_sorted_data; }