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;