load($_FILES["inputFile"]['tmp_name'])) { erreur("Unable to parse given file. A XML file was expected."); return "admin/import_users"; } $xpath = new DOMXpath($doc); $elements = $xpath->query("//teams/team"); if (!is_null($elements)) { $output = ""; $error = ""; foreach ($elements as $element) { $team = new Team(); foreach ($element->childNodes as $child) { if ($child->nodeName == "name") $team->team_name = $child->nodeValue; else if ($child->nodeName == "slogan") $team->slogan = $child->nodeValue; else if ($child->nodeName == "member") { // Slogan rly needed ? if (empty($team->id) && !$team->update()) { $error .= "Unable to add team $team->team_name
"; continue; } $user = new Member(); $user->team = $team; foreach ($child->childNodes as $child_member) { if ($child_member->nodeName == "firstname") $user->firstname = $child_member->nodeValue; else if ($child_member->nodeName == "lastname") $user->lastname = $child_member->nodeValue; else if ($child_member->nodeName == "company") $user->company = $child_member->nodeValue; else if ($child_member->nodeName == "nickname") $user->nickname = $child_member->nodeValue; } if (!$user->update()) { $error .= "Unable to add user $user->firstname $user->lastname $user->nickname
"; $team->drop(); continue; } $team->members[] = $user; } } if (!empty($team->id) && !empty($team->team_name)) { //TODO save the certificate subject $output .= new_client($team->team_name, $misc_dir); } } if (file_exists("$misc_dir/teams.pass")) { $output .= file_get_contents("$misc_dir/teams.pass"); unlink("$misc_dir/teams.pass"); } $template->assign("output", $output); } if ($error != "") erreur($error); else erreur("Fichier XML importé avec succès.", "success"); } return "admin/import_users";