private function exportProjectInfo(Project $project, SimpleXMLElement $project_node) { $access_value = $project->isPublic() ? Project::ACCESS_PUBLIC : Project::ACCESS_PRIVATE; $project_node->addAttribute('unix-name', $project->getUnixName()); $project_node->addAttribute('full-name', $project->getPublicName()); $project_node->addAttribute('description', $project->getDescription()); $project_node->addAttribute('access', $access_value); $project_node->addChild('long-description', ''); $services_node = $project_node->addChild('services'); foreach ($project->getServices() as $service) { $service_node = $services_node->addChild('service'); $service_node->addAttribute('shortname', $service->getShortName()); $service_node->addAttribute('enabled', $service->isUsed()); } }
/** * Create the data array needed by create_project and create the project * * @param String $shortName * @param String $publicName * @param String $privacy * @param Project $template * * @return Integer */ private function formatDataAndCreateProject($shortName, $publicName, $privacy, Project $template) { $data = array('project' => array('form_license' => 'xrx', 'form_license_other' => '', 'form_short_description' => '', 'is_test' => false, 'is_public' => false, 'services' => array(), 'built_from_template' => $template->getID())); if ($privacy === Project::ACCESS_PUBLIC) { $data['project']['is_public'] = true; } foreach ($template->getServices() as $key => $service) { $is_used = $service->isActive() && $service->isUsed(); $data['project']['services'][$service->getId()]['is_used'] = $is_used; } $project = $this->projectCreator->create($shortName, $publicName, $data); $this->projectManager->activate($project); return $project->getID(); }