forked from parapheur/start
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIndexController.php
139 lines (115 loc) · 4.34 KB
/
IndexController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
/*
* Fichier : IndexController.php
* Auteur : Hina Tufail
* Créé : 19/10/2013
* Modifié : 16/11/2013
* 1.1 : Hina Tufail - création
* 1.2 : Mathilde de l'Hermuzière - modification
* 1.3 : Hina Tufail - modification
* 1.4 : Mathilde de l'Hermuzière - modification
* 1.5 : Hina Tufail - modification - 20/11/2013
* 1.6 : Hina Tufail - modification - 15/12/2013
*
* Controller du la page d'accueil (index des documents)
*
* Projet parapheur 2014
*/
class IndexController extends Zend_Controller_Action
{
public function init()
{
$this->etat_encours=1;
$this->etat_surtablette=2;
$this->etat_valide=3;
$this->etat_refuse=4;
$this->etat_enattente=5;
$this->etat_demandeur=6;
}
public function indexAction()
{
//Mettre en place le message du succès de la signature s'il y a eu une signature
$this->signSuccessMessage();
//Mettre en place le message du validation s'il y a eu une validation
$this->validationMessage();
//Comme nous n'avons pas Active Directory, nous supposons que notre user ID est 6
$user_ID=6;
//Nous initialisons une variable qui comptera notre nombre de documents
$number_doc=0;
//Récupérer les données de la base de données
$db = Zend_Db_Table::getDefaultAdapter();
$request = $this->getRequest();
$name_document = $request->getParam('SEARCH');
$titre= array();
$date=array();
$id_document=array();
if($name_document!=null){
$sql = "SELECT l.ID_COURRIER FROM LIENINTERNE l, FICHIER f WHERE l.ID_ETATDESTINATAIRE = ".$this->etat_encours."
AND l.ID_ENTITEDESTINATAIRE = ".$user_ID."
AND f.NOMORIGINE LIKE '%".$name_document."%' AND l.ID_COURRIER=f.ID_COURRIER(+)";
}
else{
$sql = 'SELECT ID_COURRIER FROM LIENINTERNE WHERE ID_ETATDESTINATAIRE = '.$this->etat_encours.' AND ID_ENTITEDESTINATAIRE = '.$user_ID;
}
//Exécuter la requête et récupérer le résultat
$stmt = $db->query($sql);
//Pour chaque document
while ($row=$stmt->fetch()){
$sql2='SELECT DATECREATION FROM COURRIER WHERE ID_COURRIER = '.$row['ID_COURRIER'];//Récupérer la date de création
$stmt2 = $db->query($sql2);
$row2 = $stmt2->fetch();
$sql3='SELECT NOMORIGINE FROM FICHIER WHERE ID_COURRIER = '.$row['ID_COURRIER'];//Récupérer le titre
$stmt3 = $db->query($sql3);
$row3 = $stmt3->fetch();
$number_doc++;//Incrémenter le nombre de documents
$id_document[]=$row['ID_COURRIER'];//Enregistrer l'ID
$titre[]=$row3['NOMORIGINE'];//Enregistrer le titre
$date[]=$row2['DATECREATION'];//Enregistrer la date
}
//Nombre de documents refusés
$sqlRef = 'SELECT ID_COURRIER FROM LIENINTERNE WHERE ID_ETATDESTINATAIRE = '.$this->etat_refuse.' AND ID_ENTITEEXPEDITEUR = '.$user_ID;
$stmtRef = $db->query($sqlRef);
$rows = $stmtRef->fetchAll();
$countRefused = count($rows);
//Nombre de documents validés
$sqlVal = 'SELECT ID_COURRIER FROM LIENINTERNE WHERE ID_ETATDESTINATAIRE = '.$this->etat_valide.' AND ID_ENTITEEXPEDITEUR = '.$user_ID;
$stmtVal = $db->query($sqlVal);
$rows = $stmtVal->fetchAll();
$countValidated = count($rows);
//Passer les paramètres à la vue
$this->view->id_document=$id_document;
$this->view->number_doc =$number_doc;
$this->view->titre =$titre;
$this->view->date =$date;
$this->view->user_id=$user_ID;
$this->view->number_doc_refuse = $countRefused;
$this->view->number_doc_accept = $countValidated;
}
private function signSuccessMessage()
{
$signSuccess = '';
$signError = '';
$request = $this->getRequest();
$success = $request->getParam('SUCCESS');
if($success == '1'){
//Message de succès
$signSuccess='Félicitations ! Votre document a été signé !';
}
else if($success == '0'){
//Message d'erreur de la signature
$signError='Il y a eu une erreur dans la signature !';
}
$this->view->sucessMessage = $signSuccess;
$this->view->errorMessage = $signError;
}
private function validationMessage(){
$signSuccess = '';
$request = $this->getRequest();
$success = $request->getParam('VALID');
if($success == '1'){
//Message de succès
$signSuccess='Vous avez validé votre document avec succès !';
}
$this->view->sucessMessage = $signSuccess;
}
}