function enregDataEtudXML($repfic, $nf) { $ok = ''; $this->model(); $model = new Model(); if ($ch = implode("", file($repfic . $nf))) { $data = 'sauvegarde'; $tb1 = preg_split("/<\\/?" . $data . ".*>/", $ch); $dataSv = array("ref", "datesv"); foreach ($dataSv as $balise) { $tb2 = preg_split("/<\\/?" . $balise . ">/", $tb1[1]); $res[] = $tb2[1]; } $ref = $res[0]; $datesv = $res[1]; if (substr($nf, 4, 13) == $ref) { $data = 'etudiant'; $tb1 = preg_split("/<\\/?" . $data . ".*>/", $ch); $ch = $tb1[1]; $res = null; $dataEleve = array("nom", "prenom", "mel"); foreach ($dataEleve as $balise) { $tb2 = preg_split("/<\\/?" . $balise . ">/", $ch); $res[] = $tb2[1]; } $ch = $tb2[2]; //$nom=$res[0]; //$prenom=$res[1]; $mel = $res[2]; $resmel = $model->existeMelEtudiant($mel); $num = $resmel[0]["num"]; if (!is_null($num)) { $model->supprSituEtudiantTout($num); $chSit = "situation"; $tb4 = preg_split("/<\\/?" . $chSit . ".*>/", $ch); for ($i = 1; $i < count($tb4) - 1; $i += 2) { //itération sur situation $res = null; $dataSit = array("ref", "codeType", "codeLocalisation", "codeSource", "codeCadre", "libcourt", "descriptif", "contexte", "datedebut", "datefin", "environnement", "moyen", "avisperso"); foreach ($dataSit as $balise) { $tb2 = preg_split("/<\\/?" . $balise . ">/", $tb4[$i]); $res[] = $tb2[1]; } $ref = $model->creeSituation($res, $num); $chPro = "avisprof"; $tb5 = preg_split("/<\\/?" . $chPro . ".*>/", $tb4[$i]); for ($j = 1; $j < count($tb5) - 1; $j += 2) { $res = null; $dataPro = array("commentaire", "datecommentaire", "numprof", "nomprof", "melprof"); foreach ($dataPro as $balise) { $tb2 = preg_split("/<\\/?" . $balise . ">/", $tb5[$j]); $res[] = $tb2[1]; } $model->creeCommentaire($res, $ref); } $chPro = "activitecitee"; $tb5 = preg_split("/<\\/?" . $chPro . ".*>/", $tb4[$i]); for ($j = 1; $j < count($tb5) - 1; $j += 2) { $res = null; $dataPro = array("idActivite", "commentaireactivite"); foreach ($dataPro as $balise) { $tb2 = preg_split("/<\\/?" . $balise . ">/", $tb5[$j]); $res[] = $tb2[1]; } $model->creeActivitecitee($res, $ref); } $chPro = "production"; $tb5 = preg_split("/<\\/?" . $chPro . ".*>/", $tb4[$i]); for ($j = 1; $j < count($tb5) - 1; $j += 2) { $res = null; $dataPro = array("designation", "adresse"); foreach ($dataPro as $balise) { $tb2 = preg_split("/<\\/?" . $balise . ">/", $tb5[$j]); $res[] = $tb2[1]; } $model->creeProduction($res, $ref); } $chPro = "typologie"; $tb5 = preg_split("/<\\/?" . $chPro . ".*>/", $tb4[$i]); for ($j = 1; $j < count($tb5) - 1; $j += 2) { $res = null; $dataPro = array("codeTypologie"); foreach ($dataPro as $balise) { $tb2 = preg_split("/<\\/?" . $balise . ">/", $tb5[$j]); $res[] = $tb2[1]; } $model->creeTypologie($res, $ref); } } } else { $ok = "mel étudiant inconnu"; } } else { $ok = 'mauvaise référence de fichier'; } } else { $ok = "erreur fichier serveur"; } $model->close(); return $ok; }