예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 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";
                 }
             }
         }
     }
 }
예제 #6
0
 * (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;
 }