public function exportUser(PFUser $user, SimpleXMLElement $members_node, $child_name)
 {
     if ($user->getLdapId()) {
         $member_node = $members_node->addChild($child_name, $user->getLdapId());
         $member_node->addAttribute('format', 'ldap');
     } else {
         $member_node = $members_node->addChild($child_name, $user->getUserName());
         $member_node->addAttribute('format', 'username');
     }
     $this->collection->add($user);
 }
    $output = $arguments['o'];
}
$display_xml = false;
if (isset($arguments['x'])) {
    $display_xml = true;
}
$options = array();
if (isset($arguments['t'])) {
    $options['tracker_id'] = (int) $arguments['t'];
}
$options['force'] = isset($arguments['f']);
$project = ProjectManager::instance()->getProject($project_id);
if ($project && !$project->isError() && !$project->isDeleted()) {
    try {
        $rng_validator = new XML_RNGValidator();
        $users_collection = new UserXMLExportedCollection($rng_validator, new XML_SimpleXMLCDATAFactory());
        $xml_exporter = new ProjectXMLExporter(EventManager::instance(), new UGroupManager(), $rng_validator, new UserXMLExporter(UserManager::instance(), $users_collection), new ProjectXMLExporterLogger());
        $archive = new ZipArchive();
        if ($archive->open($output, ZipArchive::CREATE) !== true) {
            echo '*** ERROR: Cannot create archive: ' . $archive_path;
            exit(1);
        }
        $xml_security = new XML_Security();
        $xml_security->enableExternalLoadOfEntities();
        $user = UserManager::instance()->forceLogin($username);
        $xml_content = $xml_exporter->export($project, $options, $user, $archive);
        $users_xml_content = $users_collection->toXML();
        if ($display_xml) {
            echo $xml_content;
            echo PHP_EOL;
            echo $users_xml_content;