/** * Actualisation des données Fta à partir du fichier de retour d'Arcadia */ function updateBDDFtaFromArcadiaData() { $linkFolderOK = $this->getLinkFolderOK(); $linkFolder = $this->getLinkFolder(); $nameOfBDDTarget = $this->getNameOfBDDTarget(); $initFile = $this->getInitFile(); $actifTransaction = FALSE; $idUserTransaction = FALSE; /** * Fichiers ordonné dans un ordre décroissant */ $folder = scandir($linkFolder, 1); for ($i = 0; $i < count($folder); $i++) { /** * Nom du fichier */ $file = $folder[$i]; /** * Contenue du fichier */ $fileContent = file_get_contents($linkFolder . "/" . $file); /** * Vérification que le fichier soit un XML */ $xml = XMLReader::open($linkFolder . "/" . $file); $xml->setParserProperty(XMLReader::VALIDATE, true); $valide = $xml->isValid(); if ($valide) { /** * Début du traitement d'actualisation des données de BDD */ $dom = new DomDocument(); /** * Intégration du fichier */ if ($fileContent) { /** * Récupération des élements du fichier XML */ $dom->loadXML($fileContent); $Transaction = $dom->getElementsByTagName("Transaction"); foreach ($Transaction as $value) { $idTransaction = $value->getAttribute("id"); } $IdFta = $dom->getElementsByTagName("IdFta"); foreach ($IdFta as $IdFtaValue) { $idFta = $IdFtaValue->nodeValue; } $CodeReply = $dom->getElementsByTagName("CodeReply"); foreach ($CodeReply as $CodeReplyValue) { $codeReply = $CodeReplyValue->nodeValue; } $IdArcadia = $dom->getElementsByTagName("IdArcadia"); foreach ($IdArcadia as $IdArcadiaValue) { $codeArticleArcadia = $IdArcadiaValue->nodeValue; } /** * Requete de MAJ de la table de transactions */ $sql_inter = Fta2ArcadiaTransactionModel::getSQLUpdateFta2ArcadiaTransaction($nameOfBDDTarget, $codeReply, $codeArticleArcadia, $idFta, $idTransaction); if (mysql_query($sql_inter)) { echo "[OK] id_Trasaction " . $idTransaction . "\n"; /** * On vérifie si la transaction en cours est actif */ $sqlActif = Fta2ArcadiaTransactionModel::getSQLIdUserMailNotifFta2ArcadiaTransaction($nameOfBDDTarget, $idTransaction); $arrayIdArcadiaTransaction = mysql_query($sqlActif); if ($arrayIdArcadiaTransaction) { while ($value = mysql_fetch_array($arrayIdArcadiaTransaction)) { $actifTransaction = $value[Fta2ArcadiaTransactionModel::FIELDNAME_ACTIF]; $notificationMailTransaction = $value[Fta2ArcadiaTransactionModel::FIELDNAME_NOTIFICATION_MAIL]; $idUserTransaction = $value[Fta2ArcadiaTransactionModel::FIELDNAME_ID_USER]; } } else { echo UserInterfaceMessage::FR_ARCADIA_ERREUR_SCRIT_MESSAGE_TRANSACTION . $idTransaction; } /** * On actualise le code Article Arcadia de la Fta */ echo "Transaction " . $idTransaction . " " . Fta2ArcadiaTransactionModel::FIELDNAME_ACTIF . " = " . $actifTransaction . " Mail = " . $notificationMailTransaction . " user = "******"/" . $file); unlink($linkFolderOK . "/" . $file . ".ok"); } else { echo "[FAILED] id_Trasaction " . $idTransaction . "\n"; } } } } }