public function getGroupsAsDOM() { $t_group = new ca_user_groups(); $vo_groups = $this->opo_dom->createElement("groups"); $qr_groups = $this->opo_db->query("SELECT * FROM ca_user_groups WHERE parent_id IS NOT NULL"); while ($qr_groups->nextRow()) { $t_group->load($qr_groups->get("group_id")); $vo_group = $this->opo_dom->createElement("group"); $vo_group->setAttribute("code", $this->makeIDNO($t_group->get("code"))); $vo_group->appendChild($this->opo_dom->createElement("name", caEscapeForXML($t_group->get("name")))); $vo_group->appendChild($this->opo_dom->createElement("description", caEscapeForXML($t_group->get("description")))); if (is_array($va_roles = $t_group->getGroupRoles())) { $vo_roles = $this->opo_dom->createElement("roles"); foreach ($va_roles as $va_role) { $vo_roles->appendChild($this->opo_dom->createElement("role", $this->makeIDNO($va_role["code"]))); } $vo_group->appendChild($vo_roles); } $vo_groups->appendChild($vo_group); } return $vo_groups; }