Sowas habe ich letztens mal selbst über die API realisiert. Den PHP-Code könnte ich im Prinzip auch mal unter https://forum.churchtools.de/category/22/churchtools-schnittstellen bereitstellen, allerdings ist er bisher eher noch im Teststadium.

Die Angelegenheit ist nämlich nicht ganz trivial: Probleme kann es geben, wenn die Hierarchie nicht eindeutig ist - man kann ja für eine Gruppe gleich mehrere andere Gruppen als übergeordnet zuordnen. Deshalb ist dann die Position innerhalb des Treeviews nicht mehr eindeutig, im ungünstigsten Fall kann es sogar zu Zirkelbezügen kommen.