/[openfoncier]/trunk/obj/digitalizedDocument.class.php
ViewVC logotype

Annotation of /trunk/obj/digitalizedDocument.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1835 - (hide annotations)
Mon May 6 11:06:54 2013 UTC (11 years, 8 months ago) by softime
File size: 25781 byte(s)
Modification des tests sur la class digitalizedDocument + déplacement class digitalizedDocument dans le dossier obj/ + Ajout des jeux de test pour la class digitalizedDocument


1 softime 1835 <?php
2     /**
3     * Ce fichier permet la déclaration de la class DigitalizedDocument
4     * conçus pour gérer les fichiers scannés
5     *
6     * @package openads
7     * @version SVN : $Id
8     */
9    
10     //
11     require_once "../obj/utils.class.php";
12    
13     /**
14     * Cette classe permet d'effectuer les traitements sur les documents à incorporer dans l'application
15     *
16     * Pour imorter les données depuis un dossier il faut utiliser run_import dans une boucle
17     * qui parcourt le dossier qui abrite les répertoires des dossiers d'instructions
18     *
19     * Pour purger les documents il faut utiliser la fonction run_purge dans une boucle
20     * qui parcourt le dossier qui abrite les répertoires des dossiers d'instructions
21     */
22     class DigitalizedDocument {
23    
24     /**
25     * @access static
26     * @var string Messages utilisées pour l'écriture dans le log
27     */
28     var $NO_REP = "Le dossier n'existe pas.";
29     var $NO_FILES = "Le dossier est vide.";
30     var $NO_FILE_EXIST = "Le fichier n'existe pas.";
31     var $DOC_NO_CONFORME = "Le document n'est pas conforme a la regle RG2 : ";
32     var $NO_LINK = "Le lien entre le document et le dossier d'instruction n'a pu etre etabli.";
33     var $NO_METADATA_APP = "Le type de document n'apparait pas dans la table document_numerise_type : ";
34     var $NO_FILESTORAGE = "Le syteme de stockage n'est pas accessible. Erreur de parametrage. Contactez votre administrateur.";
35     var $NO_MOVE = "Le fichier n'a pas put etre deplace.";
36    
37     /**
38     * Instance de la classe utils
39     * @var utils
40     */
41     var $f = NULL;
42    
43     /**
44     * Instance du filestorage
45     * @var storage
46     */
47     var $filestorage = NULL;
48    
49     /**
50     * Constructeur
51     */
52     public function __construct() {
53    
54     //Active la session
55     session_start();
56     // Setter les variables de $_SESSION pour la connexion avec BD
57     $_SESSION['collectivite'] = 1;
58     // login doit etre mis a une valeur qui n'est pas une chaine vide, et
59     // le $_SESSION['justlogin'] NE DOIT PAS ETRE set pour que l'execution
60     // ne s'arrete pas dans la fonction isAuthenticated() de l'om_application
61     $_SESSION['login'] = "admin";
62    
63     // Genere une connexion a la base de donnees
64     $this->f = new utils("nohtml");
65     // Permet lors de l'instantiation d'objets métiers d'avoir accès à f
66     $GLOBALS['f'] = $this->f;
67    
68     // initialise le msg attribute qui est utilise pour stocker les
69     // messages de retour (reussite ou erreur)
70     $this->msg = '';
71    
72     //Instance de filestorage
73     $this->filestorage = $this->f->storage;
74    
75     }
76    
77     /**
78     * Destructeur
79     */
80     public function __destruct() {
81    
82     //Détruit les instance de utils et filestorage
83     unset($this->f);
84     unset($this->filestorage);
85    
86     //Détruit les variables de sessions
87     unset($_SESSION['login']);
88     unset($_SESSION['collectivite']);
89    
90     unset($GLOBALS['f']);
91    
92     }
93    
94     /**
95     * Ajoute une chaine de caracteres dans le log.
96     * @param string $message Le message qui doit etre ajouté dans le log.
97     * @param mixed $type Le mode de log.
98     */
99     protected function addToLog($message, $type = DEBUG_MODE) {
100     //
101     logger::instance()->log("class ".get_class($this)." : "."method ".__METHOD__." - ".$message, $type);
102     }
103    
104     /**
105     * Cette fonction permet d'analyser le dossier
106     * en de créer l'objet du dossier d'instruction
107     * @param string $foldername Nom du répertoire
108     * @return object objet du dossier d'instruction
109     */
110     public function analyseFolder($foldername) {
111    
112     //Clé primaire dossier
113     $dossier = str_replace('.', '', $foldername);
114    
115     //Requête pour récupérer les informations essentiels sur le dossier d'instruction
116     $sql = "SELECT dossier.dossier as dossier, dossier_autorisation.dossier_autorisation as dossier_autorisation,
117     dossier.date_demande as date_demande_initiale, dossier_instruction_type.code as dossier_instruction_type,
118     etat_dossier_autorisation.libelle as statut, dossier_autorisation_type.code as dossier_autorisation_type
119     FROM ".DB_PREFIXE."dossier
120     LEFT JOIN ".DB_PREFIXE."dossier_instruction_type
121     ON dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type
122     LEFT JOIN ".DB_PREFIXE."dossier_autorisation
123     ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation
124     LEFT JOIN ".DB_PREFIXE."etat_dossier_autorisation
125     ON dossier_autorisation.etat_dossier_autorisation = etat_dossier_autorisation.etat_dossier_autorisation
126     LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille
127     ON dossier_autorisation.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille
128     LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type
129     On dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type
130     WHERE dossier.dossier = '".$dossier."'";
131     $res = $this->f->db->query($sql);
132     $this->f->addToLog("app/digitalizedDocument.class.php : db->query(".$sql.")", VERBOSE_MODE);
133     $this->f->isDatabaseError($res);
134    
135     //Le résultat est récupéré dans un objet
136     $row =& $res->fetchRow(DB_FETCHMODE_OBJECT);
137    
138     //Si il y a un résultat
139     if ($row !== null) {
140    
141     //Alors on créé l'objet dossier_instruction
142     $dossier_instruction = $row;
143    
144     } else {
145    
146     //Sinon on retourne null pour indiquer une erreur
147     $this->addToLog($this->NO_REP);
148     return null;
149     }
150    
151     //Retourne un objet dossier instruction
152     return $dossier_instruction;
153     }
154    
155     /**
156     * Cette fonction permet de recupérer et de classer dans un tableau
157     * la liste des documents présent dans le dossier passé en paramètre
158     * @param string $path Le chemin vers le dossier
159     * @return array Tableau des documents
160     */
161     public function listFiles($path) {
162    
163     //Tableau qui sera retourné en fin de traitement
164     $listFiles = array();
165    
166     //Ouvre le répertoire
167     $dir = opendir($path);
168    
169     //Si un dossier est ouvert
170     if ($dir) {
171    
172     //Parcours le dossier
173     while(false !== ($file = readdir($dir))) {
174    
175     //Si le document est bien un fichier de type pdf
176     if($file != '.' && $file != '..' && !is_dir($dir.$file)
177     && strcasecmp(strstr($file, '.'), ".pdf") == 0)
178     {
179    
180     //Alors il est ajouté dans le tableau
181     array_push($listFiles, $file);
182    
183     }
184    
185     }
186    
187     //Ferme le répertoire
188     closedir($dir);
189    
190     }
191    
192     //Si le tableau est vide on retourne null
193     if (count($listFiles) == 0) {
194    
195     $this->addToLog($this->NO_FILES);
196     return null;
197    
198     }
199    
200     //Retourne le tableau des documents
201     return $listFiles;
202    
203     }
204    
205     /**
206     * Cette fonction permet de construire les métadonnées d'un document
207     * à partir des informations du nom du fichier
208     * @param string $filename Nom du fichier
209     * @return array Tableau des metadonnées
210     */
211     public function extractMetadataFromFilename($filename) {
212    
213     //Tableau qui sera retourné en fin de traitement
214     $metadata = array();
215    
216     //Récupération de l'année
217     $year = substr($filename, 0, 4);
218     //Récupération du mois
219     $month = substr($filename, 4, 2);
220     //Récupération du jour
221     $day = substr($filename, 6, 2);
222    
223     //Vérification que l'année, le mois et le jour sont des numériques
224     if (is_numeric($year) && is_numeric($month) && is_numeric($day)) {
225    
226     //Vérification que cela correspond à une date possible
227     if (checkdate($month, $day, $year)) {
228    
229     //Récupération du type de document
230     //Si le séparateur '-' n'est pas présent
231     if (strpos($filename, '-') === false) {
232    
233     //On récupère le nom du fichier avant l'extension
234     $type_doc = substr(strstr($filename, '.', true), 8);
235    
236     } else {
237    
238     //Sinon on récupère le nom du fichier avant le '-'
239     $type_doc = substr(strstr($filename, '-', true), 8);
240    
241     }
242    
243     //Si aucun type de documenbt n'a pu être extrait
244     if (empty($type_doc)) {
245    
246     //On retourne null
247     $this->addToLog($this->DOC_NO_CONFORME.$filename);
248     return null;
249    
250     } else {
251    
252     //Sinon on ajoute le type de document dans les métadonnées
253     $metadata['type_doc'] = $type_doc;
254    
255     }
256    
257     //Formate la date du document
258     $metadata["date_evenement"] = date("d/m/Y", mktime(0, 0, 0, $month, $day, $year));
259    
260     //Si le tableau est vide on retourne null
261     if (count($metadata) == 0) {
262    
263     $this->addToLog($this->DOC_NO_CONFORME.$filename);
264     return null;
265    
266     }
267    
268     //On retourne les métadonnées
269     return $metadata;
270     }
271     }
272    
273     //Le nom du document n'est pas conforme
274     $this->addToLog($this->DOC_NO_CONFORME.$filename);
275     return null;
276    
277     }
278    
279     /**
280     * Cette fonction permet de récupérer une information sur le document
281     * en cherchant dans la base de données
282     * @param string $code Code du type du document
283     * @return string Libellé du type du document
284     */
285     public function extractMetadataFromApp($code) {
286    
287     //Requête pour récupérer le type de document
288     $sql = "SELECT libelle
289     FROM ".DB_PREFIXE."document_numerise_type
290     WHERE code = '".$code."'";
291     $libelle = $this->f->db->getOne($sql);
292     $this->f->addToLog("app/digitalizedDocument.class.php : db->getOne(".$sql.")", VERBOSE_MODE);
293     $this->f->isDatabaseError($libelle);
294    
295     //S'il n'y a aucun résultat
296     if ($libelle === null) {
297    
298     //retourne null
299     $this->addToLog($this->NO_METADATA_APP.$code);
300     return null;
301    
302     }
303    
304     //Retourne le libellé du type du document
305     return $libelle;
306     }
307    
308     /**
309     * Cette fonction permet de récupérer des informations sur le fichier
310     * nécessaire pour le filestorage
311     * @param string $path Chemin du dossier
312     * @param string $filename Nom du fichier
313     * @return array Tableau des métadonnées
314     */
315     public function extractMetadataToFilestorage($path, $filename) {
316    
317     //Test si le fichier existe
318     if (!file_exists($path.'/'.$filename)) {
319     //
320     $this->addToLog($this->NO_FILE_EXIST);
321     return null;
322     }
323    
324     //Tableau qui sera retourné en fin de traitement
325     $metadata = array();
326    
327     //Métadonnées nécessaire au filestorage
328     $metadata["filename"] = $filename;
329     $metadata["size"] = filesize($path.'/'.$filename);
330     $metadata["mimetype"] = mime_content_type($path.'/'.$filename);
331    
332     //Si le tableau est vide on retourne null
333     if (count($metadata) == 0) {
334    
335     $this->addToLog($this->DOC_NO_CONFORME.$filename);
336     return null;
337    
338     }
339    
340     //Retourne le tableau des métadonnées
341     return $metadata;
342     }
343    
344     /**
345     * Cette fonction permet d'assembler toutes les métadonnées
346     * @param object $dossier_instruction Objet regroupant les informations sur le dossier d'instruction
347     * @param string $path Chemin du dossier
348     * @param string $filename Nom du fichier
349     * @return array Tableau des métadonnées
350     */
351     public function setMetadata($dossier_instruction, $path, $filename) {
352    
353     //Tableau qui sera retourné en fin de traitement
354     $metadata = array();
355    
356     //Données récupérées du répertoire
357     //Si l'objet dossier_instruction n'existe pas
358     if (empty($dossier_instruction)) {
359    
360     //Retourne null
361     $this->addToLog($this->NO_REP);
362     return null;
363    
364     }
365     $metadata['dossier'] = $dossier_instruction->dossier;
366     $metadata['dossier_autorisation'] = $dossier_instruction->dossier_autorisation;
367     $metadata['date_demande_initiale'] = date("Y/m", strtotime($dossier_instruction->date_demande_initiale));
368     $metadata['dossier_instruction_type'] = $dossier_instruction->dossier_instruction_type;
369     $metadata['statut'] = $dossier_instruction->statut;
370     $metadata['dossier_autorisation_type'] = $dossier_instruction->dossier_autorisation_type;
371    
372     //Données constantes
373     $metadata['groupe'] = "ADS";
374     $metadata['code_produit'] = "OpenADS";
375    
376     //Données récupérées du nom du fichier
377     $metadataFromFilename = $this->extractMetadataFromFilename($filename);
378     //S'il n'y a pas de données extrait du nom du fichier
379     if ($metadataFromFilename === null) {
380    
381     //Retourne null
382     return null;
383     }
384     //Parcours les résultats pour les ajouter au métadonnées global
385     foreach($metadataFromFilename as $key => $value) {
386     $metadata[$key] = $value;
387     }
388    
389     //Données récupérées de la BDD
390     $metadataFromApp = $this->extractMetadataFromApp($metadata['type_doc']);
391     //S'il n'y a pas de données recupéré dans la bdd
392     if ($metadataFromApp === null) {
393    
394     //Retourne null
395     return null;
396     }
397     $metadata['type_doc'] = $metadataFromApp;
398    
399     //Données récupérées pour le filestorage
400     $metadataToFilestorage = $this->extractMetadataToFilestorage($path, $filename);
401     //S'il n'y a pas de données recupérées pour le filestorage
402     if ($metadataToFilestorage === null) {
403    
404     //Retourne null
405     return null;
406     }
407     //Parcours les résultats pour les ajouter au métadonnées global
408     foreach($metadataToFilestorage as $key => $value) {
409     $metadata[$key] = $value;
410     }
411    
412     //Si le tableau est vide on retourne null
413     if (count($metadata) == 0) {
414     $this->addToLog($this->DOC_NO_CONFORME.$filename);
415     return null;
416     }
417    
418     //Retourne le tableau des metadonnées global
419     return $metadata;
420     }
421    
422     /**
423     * Cette fonction permet de créer les documents dans le filestorage
424     * @param string $file_content Contenu du fichier
425     * @param array $metadat Métadaonnées du fichier
426     * @return string $uid identifiant du document dans le filestorage
427     */
428     public function createFile($file_content, $metadata) {
429    
430     //Vérification que le filestorage est bien instancié
431     if ($this->filestorage == NULL) {
432     $this->addToLog($this->NO_FILESTORAGE);
433     return null;
434     }
435    
436     //Création du fichier sur le filestorage
437     $uid = $this->filestorage->create($file_content, $metadata);
438    
439     //Retourne l'identifiant unique du fichier créé
440     return $uid;
441    
442     }
443    
444     /**
445     * Cette fonction permet de supprimer les documents dans le filestorage
446     * @param string $uid Identifiant du fichier sur le filestorage
447     * @return string $uid Identifiant du fichier supprimé
448     */
449     public function deleteFile($uid) {
450    
451     //Vérification que le filestorage est bien instancié
452     if ($this->filestorage == NULL) {
453     $this->addToLog($this->NO_FILESTORAGE);
454     return null;
455     }
456    
457     //Suppression du fichier du filestorage
458     $uid = $this->filestorage->delete($uid);
459    
460     //Retourne l'identifiant unique du fichier supprimé
461     return $uid;
462    
463     }
464    
465     /**
466     * Permet de lier le document importé à l'application
467     * @param string $uid L'identifiant du fichier
468     * @param string $id_instruction L'identifiant du dossier d'instruction
469     * @param mixed $db Référence à la bdd
470     * @param mixed $DEBUG mode de débuggage
471     * @return int L'identifiant de la dernière ligne ajouté
472     */
473     public function linkFile($uid, $id_instruction, $db, $DEBUG) {
474    
475     //Création d'un objet de type document_numerise
476     require_once '../obj/document_numerise.class.php';
477     $document_numerise = new document_numerise(']', $db, $DEBUG);
478     $document_numerise->setParameter("maj",0);
479    
480     //Données
481     $values = array(
482     'document_numerise' => '',
483     'uid' => $uid,
484     'dossier' => $id_instruction,
485     );
486    
487     //Ajoute dans la table le lien
488     $document_numerise->ajouter($values, $db, $DEBUG);
489     }
490    
491     /**
492     * Cette fonction permet de vérifier que le lien
493     * entre le document et l'app a bien été créé
494     * @param string $uid Identifiant unique du document dans le filestorage
495     * @return boolean Si le lien a été fait retourne TRUE sinon retourne FALSE
496     */
497     public function checkLinkFile($uid) {
498    
499     //Requête qui vérifie dans la bdd si le lien existe
500     $sql = "SELECT document_numerise
501     FROM ".DB_PREFIXE."document_numerise
502     WHERE uid = '".$uid."'";
503     $document_numerise = $this->f->db->getOne($sql);
504     $this->f->isDatabaseError($document_numerise);
505    
506     //Si le lien a été trouvé on retourne vrai
507     if ($document_numerise) {
508    
509     return true;
510    
511     } else {
512    
513     //Sinon on retourne faux
514     $this->addToLog($this->NO_LINK);
515     return false;
516    
517     }
518     }
519    
520     /**
521     * Permet de déplacer les fichiers créés dans le filestorage vers le dossier
522     * des fichiers traités
523     * @param string $pathSrc Chemin du dossier source
524     * @param string $pathDes Chemin du dossier de destination
525     * @param string $filename Nom du fichier
526     * @return boolean Retourne true si le fichier à été déplacé sinon false
527     */
528     public function moveFile($pathSrc, $pathDes, $filename) {
529    
530     //Si le dossier de destination n'existe pas, il est créé
531     if (!file_exists($pathDes)) {
532     mkdir($pathDes);
533     }
534    
535     //Déplace le document
536     $move = rename($pathSrc.'/'.$filename, $pathDes.'/'.$filename);
537    
538     //Si le déplacement à réussi
539     if ($move) {
540    
541     //On retourne TRUE
542     return true;
543     }
544    
545     //Si le deplacement n'est pas fait on retourne false
546     $this->addToLog($this->NO_MOVE);
547     return false;
548    
549     }
550    
551     /**
552     * Cette fonction permet de vider un répertoire
553     * @param string $file Fichier traité
554     * @param date $dateImport Date de l'importation du fichier
555     * @param int $nbDay Nombre de jour à soustraite à la date du jour
556     * @return boolean true si le traitement à été fait sinon false
557     */
558     public function purgeFiles($file, $dateImport = null, $nbDay = null) {
559    
560     //Si la date et le nombre de jour sont renseigné
561     if ($dateImport && $nbDay) {
562    
563     //Date limite pour la suppresion des fichier
564     $dateLimit = date('d-m-Y', strtotime("- $nbDay day", strtotime(date('d-m-Y'))));
565    
566     //Si la date du fichier à dépassé la date limite
567     if ($dateImport >= $dateLimit) {
568    
569     //on supprime le fichier
570     if (unlink($file)) {
571    
572     return true;
573    
574     }
575    
576     }
577    
578     //Si la date d'import et le nombre de jour ne sont renseignés
579     } else {
580    
581     //On supprime le fichier sans faire de test
582     if (unlink($file)) {
583    
584     return true;
585    
586     }
587    
588     }
589    
590     //Si aucun traitement n'a été fait on retourne false
591     return false;
592    
593     }
594    
595     /**
596     * Cette fonction permet de supprimer un dossier
597     * @param string $path Chemin du dossier
598     * @return boolean Retourn vrai si le dossier à été supprimé sinon faux
599     */
600     public function deleteFolder($path) {
601    
602     //Si le fichier est supprimé on retourne true
603     if (rmdir($path)) {
604     return true;
605     }
606    
607     //Si le fichier n'a pas été supprimé on retourne false
608     return false;
609    
610     }
611    
612     /**
613     * Cette fonction permet de lancer toutes les fonctions utiles
614     * à l'importation des documents scannés
615     * @param string $pathSrc Le chemin vers le dossier à traiter
616     * @param string $pathDes Le chemin vers le dossier après le traitement
617     * @param mixed $db Référence à la bdd
618     * @param mixed $DEBUG mode de débuggage
619     * @return boolean true si le traitement à été fait sinon false
620     */
621     function run_import($pathSrc, $pathDes, $db, $DEBUG) {
622    
623     //Récupération du nom du répertoire
624     $foldername = substr(strrchr($pathSrc, "/"), 1);
625     //Analyse le dossier pour récupérer les informations du dossier d'instruction
626     $dossier_instruction = $this->analyseFolder($foldername);
627     //Si le dossier n'existe pas dans la BDD
628     if ($dossier_instruction === null) {
629     //On annule l'importation
630     $this->addToLog($this->NO_IMPORT);
631     return false;
632     }
633    
634     //Liste les documents contenus dans le dossier
635     $listFiles = $this->listFiles($pathSrc);
636     //Si il n'y a aucun document
637     if ($listFiles === null) {
638     //On annule l'importation
639     $this->addToLog($this->NO_IMPORT);
640     return false;
641     }
642    
643     foreach ($listFiles as $key => $filename) {
644    
645     //Construit les métadonnées
646     $metadata = array();
647     $metadata = $this->setMetadata($dossier_instruction, $pathSrc,$filename);
648    
649     //S'il y a des métadonnées
650     if ($metadata !== null) {
651    
652     //Recupère le contenu du fichier
653     $file_content = file_get_contents($pathSrc.'/'.$filename);
654     //Créer le fichier dans le filestrorage
655     $uid = $this->createFile($file_content, $metadata);
656    
657     //Si le fichier est créé
658     if ($uid !== null) {
659    
660     //id du dossier
661     $id_instruction = $metadata["dossier"];
662     //Créer le lien entre le fichier et l'application
663     $this->linkFile($uid, $id_instruction, $db, $DEBUG);
664     //Vérifie que le lien est créé
665     $checkLinkFile = $this->checkLinkFile($uid);
666    
667     //Si le lien ne s'est pas fait
668     if ($checkLinkFile === false) {
669    
670     //On supprime le fichier du filestorage
671     $delete = $this->deleteFile($uid);
672    
673     } else {
674    
675     //Sinon on déplace le document créé dans le filestorage
676     //du dossier des "à traiter" vers celui des "traités"
677     $this->moveFile($pathSrc, $pathDes, $filename);
678    
679     }
680    
681     }
682     }
683    
684     }//Fin foreach
685    
686     //Retourne true
687     return true;
688    
689     }
690    
691     /**
692     * Cette fonction permet de lancer toutes les fonctions utiles à la purge de dossier
693     * @param string $path Le chemin vers le dossier
694     * @param int $nbDay Nombre de jour à soustraite à la date du jour
695     * @return boolean true si le traitement à été fait sinon false
696     */
697     function run_purge($path, $nbDay = null) {
698    
699     //Liste les documents contenus dans le dossier
700     $listFiles = $this->listFiles($path);
701     //Si il n'y a aucun document
702     if ($listFiles === null) {
703    
704     //on supprime le dossier
705     $deleteFolder = $this->deleteFolder($path);
706     //Si le dossier n'a pas été supprimé on retourne false
707     if (!$deleteFolder) {
708    
709     return false;
710     }
711    
712     //Si le traitement a été fait on retourne true
713     return true;
714     }
715    
716     //Parcours la liste des fichiers
717     foreach ($listFiles as $key => $filename) {
718     //Fichier
719     $file = $path.'/'.$filename;
720     //Si le nombre de jour est renseigné
721     if ($nbDay !== null) {
722    
723     //il faut renseigner la date d'import du fichier
724     $dateImport = date("Y-m-d", filemtime($file));
725    
726     } else {
727    
728     //Sinon la date d'import est null
729     $dateImport = null;
730    
731     }
732    
733     //S'il n'y pas d'erreur on exécute la fonction purgeFiles
734     $this->purgeFiles($file, $dateImport, $nbDay);
735     }
736    
737     //Analyse le dossier après traitement
738     $listFiles = $this->listFiles($path);
739    
740     //Si il n'y a plus de document
741     if ($listFiles === null) {
742    
743     //on supprime le dossier
744     $deleteFolder = $this->deleteFolder($path);
745     //Si le dossier n'a pas été supprimé on retourne false
746     if (!$deleteFolder) {
747    
748     return false;
749     }
750     }
751    
752     //Si il n'y a pas d'erreur on retourne true
753     return true;
754    
755     }
756    
757     }
758    
759     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26