[openads-Commits] r8121 - branches/4.8.0-develop_trouillotage/obj

0 views
Skip to first unread message

elo...@adullact.net

unread,
Sep 21, 2018, 11:12:37 AM9/21/18
to openmairi...@googlegroups.com
Author: elodier
Date: 2018-09-21 17:12:33 +0200 (Fri, 21 Sep 2018)
New Revision: 8121

Modified:
branches/4.8.0-develop_trouillotage/obj/document_numerise.class.php
Log:
Trouillotage creation et modif avant enregistrement de la piece

Modified: branches/4.8.0-develop_trouillotage/obj/document_numerise.class.php
===================================================================
--- branches/4.8.0-develop_trouillotage/obj/document_numerise.class.php 2018-09-21 09:36:37 UTC (rev 8120)
+++ branches/4.8.0-develop_trouillotage/obj/document_numerise.class.php 2018-09-21 15:12:33 UTC (rev 8121)
@@ -1302,62 +1302,68 @@


/**
- * XXXXXXX: A SUPPRIMER QUAND LE WEBSERVICE SERA LA
+ * XXXXXXX: CHANGER URL service de trouillotage -> a transformer en paramétrage
* Méthode de traitement de fichier : trouillotage du fichier temporaire
*
- * @param string $content contenu du fichier à trouilloter
- * @param string $date_depot date de dépôt ou de création du fichier
- * @param string $numero_dossier numéro du dossier d'instruction concerné
- * @return string/boolean retourne contenu de fichier ou false
+ * @param string $uid uid du fichier à trouilloter
+ * @param string $stamp tampon pour le trouillotage du fichier
+ * @return string/boolean retourne uid du fichier trouilloté ou false
*/
- function traitementFichierTrouillotage($content, $numero_dossier, $date_depot=null) {
- $error_message="";
- if (isset($date_depot) !== true){
- $date_depot = date(_("Y-m-d H:i:s"));
- }
+ function traitementFichierTrouillotage($uid, $stamp = "") {
+ $fichier_temporaire = $this->f->storage->storage->temporary_storage->get($uid);

- if(isset($content) === false
- || trim($content) === ""){
- $this->addToLog("Contenu vide", VERBOSE_MODE);
+ /*
+ * DEBUT - Trouillotage du fichier
+ */
+ $msg_trouillotage = __("Erreur lors du trouillotage du fichier");
+ //Récupération du contenu du fichier temporaire
+ //
+ if (isset($fichier_temporaire) !== true) {
+ $this->addToLog($msg_trouillotage.__("Le fichier est introuvable"), VERBOSE_MODE);
return false;
}
- $content = base64_encode($content);
+ $fichier_content = base64_encode($fichier_temporaire["file_content"]);
+ //Si on a pu récupérer le contenu, on le trouillote
+ if (isset($fichier_content) !== true){
+ $this->addToLog($msg_trouillotage.__("Le contenu du fichier n'a pas pu etre recuperer"), VERBOSE_MODE);
+ return false;
+ }

- $stamp_value = $numero_dossier." ".$date_depot;
-
-
+ //Debut - STAMP
$data = array(
- "base64" => $content,
- "stamp_value" => $stamp_value
+ "base64" => $fichier_content,
+ "stamp_value" => $stamp
);
- // file_put_contents("../var/log/document_numerise.log", json_encode($data));
$url = "http://0.0.0.0:6544/stamp";
-
require_once PATH_OPENMAIRIE."om_rest_client.class.php";
$inst_om_rest_client = new om_rest_client($url);
-
- $response = $inst_om_rest_client->execute(
+ $response = $inst_om_rest_client->execute(
"POST",
"application/json",
json_encode($data)
);
- // file_put_contents("../var/log/document_numerise.log", print_r($response,true),FILE_APPEND);
- // $this->addToLog(
- // sprintf(
- // '%s(): Trouillotage - Code Retour : %s - Response %s',
- // __METHOD__,
- // $inst_om_rest_client->getResponseCode(),
- // str_replace("\n", "", print_r($response, true))
- // ),
- // EXTRA_VERBOSE_MODE
- // );
- if ($inst_om_rest_client->getResponseCode() === 200) {
- $content = base64_decode($response["base64"]);
- }
+ if ($inst_om_rest_client->getResponseCode() === 200) {
+ $fichier_trouillote = base64_decode($response["base64"]);
+ }
+ if(isset($fichier_trouillote) !== true){
+ $this->addToLog($msg_trouillotage.__("Le contenu trouillote du fichier n'a pas pu etre recupere"), VERBOSE_MODE);
+ return false;
+ }
+ //Fin - STAMP

- return $content;
+ //Constitution des metadata du fichier temporaire trouilloté
+ $metadata = $fichier_temporaire['metadata'];
+ $metadata["size"] = strlen($fichier_trouillote);
+ //Creation d'un fichier temporaire trouilloté à partir du contenu
+ $tmp_fichier_trouillote = $this->f->storage->create_temporary($fichier_trouillote,$metadata, "from_content");
+ if($tmp_fichier_trouillote === OP_FAILURE){
+ $this->addToLog($msg_trouillotage.__("Erreur lors de la creation du fichier trouillote temporaire"), VERBOSE_MODE);
+ return false;
+ }
+ return $tmp_fichier_trouillote;
}

+
/**
* Méthode de traitement de fichier uploadé : récupération du fichier
* temporaire, pour l'ajout avec trouillotage si l'option est activée.
@@ -1413,12 +1419,23 @@
return $msg.__("Veuillez contacter votre administrateur.");
}

- $fichier_temporaire = $this->f->storage->storage->temporary_storage->get($temporary_test[1]);
-
+ //Constitution du tampon
+ $date_depot = $this->getDateEvenementDocument()!==null ? $this->getDateEvenementDocument():date(_("Y-m-d H:i:s"));
+ $stamp = sprintf("%s %s",
+ $this->getDossier(),
+ $date_depot);
+ //Trouillotage
+ $fichier_trouillote = $this->traitementFichierTrouillotage($temporary_test[1],$stamp);
+ if(isset($fichier_trouillote) !== true
+ || $fichier_trouillote === false){
+ //
+ return $msg_trouillotage.__("Le contenu trouillote du fichier n'a pas pu etre recupere");
+ }
+
// Récupération des métadonnées calculées après validation
- $metadata = $this->getMetadata($champ);
-
- $this->valF[$champ] = $this->f->storage->create($temporary_test[1], $metadata, "from_temporary");
+ $metadata = $this->getMetadata($champ);
+ //Création du fichier définitif à partir du fichier temporaire trouilloté
+ $this->valF[$champ] = $this->f->storage->create($fichier_trouillote, $metadata, "from_temporary");
// Si le fichier est vérouillé
if ($this->valF[$champ] === false) {
//
@@ -1435,32 +1452,6 @@
$this->addToLog(__METHOD__."(): ".$msg, DEBUG_MODE);
return $msg.__("Veuillez contacter votre administrateur.");
}
- //Trouillotage du fichier s'il a bien été créé
- // else {
- // $file = $this->f->storage->get($this->valF[$champ]);
- // //Récupération du contenu du fichier pour le trouilloter
- // $msg_trouillotage = __("Erreur lors du trouillotage du fichier");
- // //
- // if (isset($fichier_temporaire) !== true) {
- // return $msg_trouillotage.__("Le fichier est introuvable");
- // }
-
- // $fichier_content = $fichier_temporaire["file_content"];
-
- // //Si on a pu récupérer le contenu, on le trouillote
- // if (isset($fichier_content) !== true){
- // return $msg_trouillotage.__("Le contenu du fichier n'a pas pu etre recuperer");
- // }
- // $fichier_trouillote = $this->traitementFichierTrouillotage($fichier_content,$this->getDossier(),$this->getDateEvenementDocument());
- // if(isset($fichier_trouillote) !== true
- // || $fichier_trouillote === false){
- // //
- // return $msg_trouillotage.__("Le contenu trouillote du fichier n'a pas pu etre recupere");
- // }
- // $file['metadata']["size"] = strlen($fichier_trouillote);
- // //Mise à jour: contenu trouilloté
- // $this->f->storage->update($this->valF[$champ],$fichier_trouillote, $file['metadata'], "from_content");
- // }
}
}

@@ -1489,12 +1480,25 @@
return $msg.__("Veuillez contacter votre administrateur.");
}

+ //Constitution du tampon
+ $date_depot = $this->getDateEvenementDocument()!==null ? $this->getDateEvenementDocument():date(_("Y-m-d H:i:s"));
+ $stamp = sprintf("%s %s",
+ $this->getDossier(),
+ $date_depot);
+ //Trouillotage
+ $fichier_trouillote = $this->traitementFichierTrouillotage($temporary_test[1],$stamp);
+ if(isset($fichier_trouillote) !== true
+ || $fichier_trouillote === false){
+ //
+ return $msg_trouillotage.__("Le contenu trouillote du fichier n'a pas pu etre recupere");
+ }
+
// Sauvegarde de l'ancien fichier
$this->tmpFile[$champ] = $this->f->storage->get($this->getVal($champ));
// Récupération des métadonnées calculées après validation
$metadata = $this->getMetadata($champ);
//
- $this->valF[$champ] = $this->f->storage->update($this->getVal($champ), $temporary_test[1], $metadata, "from_temporary");
+ $this->valF[$champ] = $this->f->storage->update($this->getVal($champ),$fichier_trouillote, $metadata, "from_temporary");
// Si le fichier est vérouillé
if ($this->valF[$champ] === false) {
//
@@ -1513,30 +1517,6 @@
}
}
}
- //Trouillotage du fichier s'il a bien été créé
- $file = $this->f->storage->get($this->valF[$champ]);
- //Récupération du contenu du fichier pour le trouilloter
- $msg_trouillotage = __("Erreur lors du trouillotage du fichier");
- //
- if (isset($file) !== true) {
- return $msg_trouillotage.__("Le fichier est introuvable");
- }
-
- $fichier_content = $file["file_content"];
-
- //Si on a pu récupérer le contenu, on le trouillote
- if (isset($fichier_content) !== true){
- return $msg_trouillotage.__("Le contenu du fichier n'a pas pu etre recuperer");
- }
- $fichier_trouillote = $this->traitementFichierTrouillotage($fichier_content,$this->getDossier(),$this->getDateEvenementDocument());
- if(isset($fichier_trouillote) !== true
- || $fichier_trouillote === false){
- //
- return $msg_trouillotage.__("Le contenu trouillote du fichier n'a pas pu etre recupere");
- }
- $file['metadata']["size"] = strlen($fichier_trouillote);
- //Mise à jour: contenu trouilloté
- $this->f->storage->update($this->valF[$champ],$fichier_trouillote, $file['metadata'], "from_content");
}
}
return true;

Reply all
Reply to author
Forward
0 new messages