/** * Détermine le font de couleur suivant le code de retour de la transaction vers Arcadia * @param string $paramAbreviationFtaEtat * @return string */ public static function getHtmlCellBgColorArcadia($paramIdFta, $paramBgColor) { $bgcolorArcadia = $paramBgColor; $keyValue = Fta2ArcadiaTransactionModel::checkIdArcadiaTransaction($paramIdFta); if ($keyValue) { $Fta2ArcadiaTransactionModel = new Fta2ArcadiaTransactionModel($keyValue); $codeReply = $Fta2ArcadiaTransactionModel->getDataField(Fta2ArcadiaTransactionModel::FIELDNAME_CODE_REPLY)->getFieldValue(); switch ($codeReply) { case Fta2ArcadiaTransactionModel::CONSOMME: $bgcolorArcadia = TableauFicheView::HTML_CELL_BGCOLOR_ARCADIA_OK; break; case Fta2ArcadiaTransactionModel::REJET_TASKS: $bgcolorArcadia = TableauFicheView::HTML_CELL_BGCOLOR_ARCADIA_ERREUR; break; case Fta2ArcadiaTransactionModel::REFUSE: $bgcolorArcadia = TableauFicheView::HTML_CELL_BGCOLOR_ARCADIA_ERREUR; break; case Fta2ArcadiaTransactionModel::CLOTURE_AUTO: $bgcolorArcadia = TableauFicheView::HTML_CELL_BGCOLOR_ARCADIA_ERREUR; break; default: $bgcolorArcadia = TableauFicheView::HTML_CELL_BGCOLOR_ARCADIA_ATTENTE; break; } } return $bgcolorArcadia; }
/** * Affiche une message de confirmation que les données ont bien été envoyé * @param Fta2ArcadiaTransactionModel $paramFta2ArcadiaTransactionModel * @return string */ function getMessageSendDataToArcadia(Fta2ArcadiaTransactionModel $paramFta2ArcadiaTransactionModel) { /** * Utilisateur ayant envoyer la donnée */ $idUser = $paramFta2ArcadiaTransactionModel->getDataField(Fta2ArcadiaTransactionModel::FIELDNAME_ID_USER)->getFieldValue(); $userModel = new UserModel($idUser); $prenomNom = $userModel->getPrenomNom(); /** * Date d'envoie du fichier */ $dateEnvoitmp = $paramFta2ArcadiaTransactionModel->getDataField(Fta2ArcadiaTransactionModel::FIELDNAME_DATE_ENVOI)->getFieldValue(); $dateEnvoi = FtaController::changementDuFormatDeDateFR($dateEnvoitmp); $message = '<td class="contenu"><center>' . UserInterfaceMessage::FR_ARCADIA_SEND_DATA_MESSAGE . ' par ' . $prenomNom . ' le ' . $dateEnvoi . ' </center></td>' . $this->getMessageSendDataToArcadiaAgainAndCancel(); return $message; }
function setActionProposal($actionProposal, $paramType) { /** * Initialisation de la key proposal en BDD */ $this->setKeyValuePorposal($paramType); /** * Actualisation du type d'action */ if ($this->getKeyValueProposal()) { $fta2ArcadiaTrasactionModel = new Fta2ArcadiaTransactionModel($this->getKeyValueProposal()); $fta2ArcadiaTrasactionModel->getDataField(Fta2ArcadiaTransactionModel::FIELDNAME_TAG_TYPE_TRANSACTION)->setFieldValue($actionProposal); $fta2ArcadiaTrasactionModel->saveToDatabase(); $this->setXMLRecordsetBalise($actionProposal); $this->setXMLRecordsetBaliseEspProduitFini($actionProposal); $this->actionProposal = $actionProposal; } }
$redirection = "index.php"; Lib::showMessage($titre, $message, $redirection); } } //Paramètre d'URL $idFta = Lib::getParameterFromRequest(FtaModel::KEYNAME); //$module_consultation = $_SESSION['module'] . '_consultation'; ////Sécurisation du chapitre Tarif //if ($module_consultation <> 1 and $nom_fta_chapitre_encours == 'tarif') { // include ('../lib/acces_interdit.php'); //} if ($idFta) { /** * Récupérations des paramètres */ $checkArcadiaData = Fta2ArcadiaTransactionModel::isIdArcadiaTransactionActif($idFta); $id_fta_chapitre_encours = Lib::getParameterFromRequest('id_fta_chapitre_encours', '1'); $synthese_action = Lib::isDefined('synthese_action'); $comeback = Lib::isDefined('comeback'); $idFtaEtat = Lib::isDefined(FtaEtatModel::KEYNAME); $abreviationFtaEtat = Lib::isDefined(FtaEtatModel::FIELDNAME_ABREVIATION); $idFtaRole = Lib::isDefined(FtaRoleModel::KEYNAME); $ftaModification = Acl::getValueAccesRights('fta_modification'); $id_fta_chapitre = $id_fta_chapitre_encours; /** * Initilisation */ $ftaModel = new FtaModel($idFta); //Rien ne garantie que l'utilisateur est mis un idFta existant $idWorkflowFtaEncours = $ftaModel->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $idSiteDeProduction = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION)->getFieldValue();
/** * 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"; } } } } }
* (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ require_once '../inc/main.php'; $paramIdFta = Lib::getParameterFromRequest(FtaModel::KEYNAME); $paramDesactivation = Lib::getParameterFromRequest("desactivation"); switch ($paramDesactivation) { case Fta2ArcadiaTransactionModel::OUI: Fta2ArcadiaTransactionModel::cancelIdArcadiaTransaction($paramIdFta); break; default: $ftaModel = new FtaModel($paramIdFta); $ftaModel->setDataFtaTableToCompare(); $fta2ArcadiaContoller = new Fta2ArcadiaController($ftaModel, Fta2ArcadiaTransactionModel::XML); break; } header("Location: modification_fiche.php?id_fta=" . $paramIdFta . "&id_fta_chapitre_encours=33&synthese_action=encours&id_fta_etat=1&abreviation_fta_etat=I&id_fta_role=5"); //// Instance de la class DomDocumen //$xml = new DOMDocument(); // //// Definition du prologue : la version et l'encodage //$xml->version = "1.0"; //$xml->encoding = "UTF-8"; //https://openclassrooms.com/forum/sujet/creer-un-fichier-xml-puis-demander-de-l-enregistrer-14428
/** * On retourne le code reply de la transaction en cours * @param int $paramIdFta * @return boolean */ public static function getCodeReplyByIdFta($paramIdFta) { $key = self::checkIdArcadiaTransaction($paramIdFta); if ($key) { $fta2ArcadiaTransactionModel = new Fta2ArcadiaTransactionModel($key); $codeReply = $fta2ArcadiaTransactionModel->getDataField(self::FIELDNAME_CODE_REPLY)->getFieldValue(); } else { $codeReply = FALSE; } return $codeReply; }