6
I've been trying to figure this out.
The HTML for that page is stored in cache/adminmenu.php. That file is generated by this code in admin.php:
xoops_module_write_admin_menu(xoops_module_get_admin_menu())
The function xoops_module_get_admin_menu(), which is in include/cp_functions.php, gets the modules from the database using this code:
$module_handler =& xoops_gethandler('module');
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('hasadmin', 1));
$criteria->add(new Criteria('isactive', 1));
$criteria->setSort('mid');
$mods =& $module_handler->getObjects($criteria);
That results in the query:
SELECT * FROM xoops_modules WHERE (hasadmin = 1 AND isactive = 1) ORDER BY weight ASC, mid ASC
So the modules
should be sorted first by weight (called "Order" on the Modules Administration page) and then by module ID. Both sorts are ascending.
I'm not sure what causes the file cache/adminmenu.php to be regenerated, so you could try deleting that file to force it to get rebuilt. That will result in the message "This is your first time to enter the administration section.", which doesn't seem to hurt anything, but I'm not sure about that either.