Révision 2fa8920c plugins/anet_epacks/front/plugin_anet_epacks.generate_odt_courrier_end_contract.form.php
plugins/anet_epacks/front/plugin_anet_epacks.generate_odt_courrier_end_contract.form.php | ||
---|---|---|
22 | 22 |
|
23 | 23 |
//Si on demande a re-generer le fichier ODF on ne fait que ça |
24 | 24 |
//a faire |
25 |
if(isset($_GET['cid'])) { |
|
25 |
if(isset($_GET['clientid'])) {
|
|
26 | 26 |
$fk_entitee = $_GET['clientid']; |
27 | 27 |
//On a demandé a re-générer le contrat |
28 | 28 |
//print "re - creation du contrat ... "; |
29 | 29 |
|
30 | 30 |
//Le nom du contrat |
31 |
$query = "SELECT name FROM glpi_contracts WHERE ID='" . $_GET['cid'] . "'"; |
|
31 |
$clientid = $_GET['clientid']; |
|
32 |
$query = "SELECT name FROM glpi_contracts WHERE ID='$clientid'"; |
|
33 |
//print "<p>$query</p>"; |
|
32 | 34 |
$result = $DB->query($query); |
33 | 35 |
$data=$DB->fetch_array($result); |
36 |
if(count($data) == 0) { |
|
37 |
$clientid=$_GET['cid']; |
|
38 |
$query = "SELECT name FROM glpi_contracts WHERE ID='$clientid'"; |
|
39 |
//print "<p>$query</p>"; |
|
40 |
$result = $DB->query($query); |
|
41 |
$data=$DB->fetch_array($result); |
|
42 |
} |
|
34 | 43 |
$cname=$data[0]; |
35 | 44 |
|
36 | 45 |
//les epacks |
37 |
$query2 = "SELECT code FROM glpi_plugin_anet_epacks WHERE FK_contract='" . $_GET['cid'] . "'"; |
|
46 |
$query2 = "SELECT code FROM glpi_plugin_anet_epacks WHERE FK_contract='$clientid'"; |
|
47 |
//print "<p>$query2</p>"; |
|
38 | 48 |
$result2 = $DB->query($query2); |
39 | 49 |
$epackstxt = ""; |
40 | 50 |
|
... | ... | |
43 | 53 |
$epackstxt .= " " . $data2[0]; |
44 | 54 |
} |
45 | 55 |
|
46 |
//Le niveau du contrat de maintenance ... |
|
47 |
$niveau = "-" . $_GET['niveau']; |
|
56 |
//le nom du partenaire |
|
57 |
$partenaire = ""; |
|
58 |
if(trim($_GET['clientderyxeoid']) != "") { |
|
59 |
$query3="SELECT name as partenaire FROM glpi_entities WHERE ID= '" . $_GET['clientderyxeoid'] . "'"; |
|
60 |
// print $query3; |
|
61 |
$result3 = $DB->query($query3); |
|
62 |
$data3 = $DB->fetch_array($result3); |
|
63 |
$partenaire = $data3['partenaire']; |
|
64 |
} |
|
48 | 65 |
|
49 |
$odf = new odf("courrier_fin_maintenance_cette_annee.odt"); |
|
66 |
$odf = new odf("abuledu-courrier_fin_maintenance_cette_annee.odt");
|
|
50 | 67 |
setlocale(LC_TIME, "fr_FR"); |
51 | 68 |
error_reporting(E_ALL); |
52 |
$odf->setVars('date', strftime("%A %e %B %Y"), true, 'UTF-8'); |
|
53 | 69 |
|
54 |
$odf->setVars('datedebut', strftime("%A %e %B %Y"), true, 'UTF-8'); |
|
55 |
$odf->setVars('epacks', $epackstxt, true, 'UTF-8'); |
|
70 |
$odf->setVars('date', strftime("%A %e %B %Y"), true, 'UTF-8'); |
|
56 | 71 |
|
57 | 72 |
$query2="SELECT * FROM glpi_entities, glpi_entities_data WHERE glpi_entities.ID=FK_entities AND glpi_entities.ID='$fk_entitee';"; |
58 |
//print $query2;
|
|
73 |
// print "<p>$query2</p>";
|
|
59 | 74 |
//$DB->query($query2) or die($DB->error()); |
60 | 75 |
$result2 = $DB->query($query2); |
61 | 76 |
$data2=$DB->fetch_array($result2); |
62 | 77 |
|
63 |
$odf->setVars('cname', $cname, true, 'UTF-8'); |
|
64 | 78 |
|
65 | 79 |
$odf->setVars('client', $data2['name'], true, 'UTF-8'); |
66 |
$odf->setVars('clienttype', "____________________", true, 'UTF-8'); |
|
67 |
$odf->setVars('clientcapital', "____________________", true, 'UTF-8'); |
|
68 |
$odf->setVars('clientrcs', "____________________", true, 'UTF-8'); |
|
69 |
$odf->setVars('clientsiret', "____________________", true, 'UTF-8'); |
|
70 | 80 |
$odf->setVars('clientadresse', $data2['address'], true, 'UTF-8'); |
71 | 81 |
$odf->setVars('clientcp', $data2['postcode']); |
72 | 82 |
$odf->setVars('clientville', $data2['town'], true, 'UTF-8'); |
73 |
$odf->setVars('clientcontact', "____________________", true, 'UTF-8'); |
|
83 |
|
|
84 |
$odf->setVars('cname', $cname, true, 'UTF-8'); |
|
85 |
$odf->setVars('partenaire', $partenaire, true, 'UTF-8'); |
|
74 | 86 |
|
87 |
$datefin = strftime("%A %e %B %Y",strtotime($_GET['datefin'])); |
|
88 |
$odf->setVars('datefin', $datefin, true, 'UTF-8'); |
|
89 |
|
|
75 | 90 |
//On créé un fichier local pour archive ... |
76 |
$fichier = "contrats/" . date("Y-m-d") . "-abuledu-maintenance-" . $cname . ".odt";
|
|
91 |
$fichier = "courriers/" . date("Y-m-d") . "-abuledu-fin_de_maintenance-" . $cname . ".odt";
|
|
77 | 92 |
$odf->saveToDisk($fichier); |
78 | 93 |
pushfile($fichier); |
79 | 94 |
//On génère le fichier |
80 | 95 |
//$odf->exportAsAttachedFile(); |
81 | 96 |
//print $texte; |
82 |
|
|
83 |
|
|
97 |
|
|
84 | 98 |
} |
85 | 99 |
else { |
86 |
$fk_entitee = $_POST['clientid']; |
|
87 |
//On créé le contrat ... |
|
88 |
if(count($_POST['epack']) > 0) { |
|
89 |
$cname=strtoupper(anti_speciaux($_POST['clientname'])) . date("Ymd"); |
|
90 |
$cnum=date("Ymd"); |
|
91 |
//Verification que ce numero de contrat ne soit pas déjà pris ... |
|
92 |
$query="SELECT count(*) FROM glpi_contracts WHERE name='" . $cname . "'"; |
|
93 |
//$DB->query($query) or die($DB->error()); |
|
94 |
$result = $DB->query($query); |
|
95 |
$data=$DB->fetch_array($result); |
|
96 |
if($data[0] > 0) { |
|
97 |
print "<p>AAAAAAAAaaaaaaaaaatention, ce numéro de contrat $cname / $cnum est déjà utilisé !!! cette situation ne peut arriver que si vous créez plus d'un contrat par jour ... si c'est le cas voyez avec les développeurs ...</p>\n"; |
|
98 |
exit; |
|
99 |
} |
|
100 |
|
|
101 |
$query="INSERT INTO glpi_contracts(FK_entities,recursive,name,num,contract_type,begin_date,duration,notice,periodicity,facturation,notes,alert,renewal) |
|
102 |
VALUES(" . $_POST['clientid'] . ",'0','$cname','$cnum','6', NOW( ) ,'36','1','12','12','Créé par anet :: " . basename($_SERVER['SCRIPT_FILENAME']) . "','3','1' )"; |
|
103 |
$texte .= "<p> Création du contrat :: $query</p>\n"; |
|
104 |
|
|
105 |
$DB->query($query) or die($DB->error()); |
|
106 |
$contractid = $DB->insert_id(); |
|
107 |
|
|
108 |
$texte .= "<p>Pour y associer les ePacks suivants:</p> |
|
109 |
<ul>\n"; |
|
110 |
|
|
111 |
for($i = 0; $i < count($_POST['epack']); $i++) { |
|
112 |
$epack = trim($_POST['epack'][$i]); |
|
113 |
$epackstxt .= " $epack "; |
|
114 |
$query="UPDATE glpi_plugin_anet_epacks SET FK_contract='$contractid' WHERE code='$epack'"; |
|
115 |
$DB->query($query) or die($DB->error()); |
|
116 |
|
|
117 |
$texte .= "<li>$query</li>\n"; |
|
118 |
} |
|
119 |
$texte .= "</ul>"; |
|
120 |
|
|
121 |
} |
|
122 |
//Sinon c'est qu'on génère un contrat de partenaire global ENR2009 |
|
123 |
else { |
|
124 |
$cname=strtoupper(anti_speciaux(base64_decode($_GET['clientname']))) . "-ENR2009"; |
|
125 |
$cnum=date("Ymd"); |
|
126 |
//Verification que ce numero de contrat ne soit pas déjà pris ... |
|
127 |
$query="SELECT count(*) FROM glpi_contracts WHERE name='" . $cname . "'"; |
|
128 |
//$DB->query($query) or die($DB->error()); |
|
129 |
$result = $DB->query($query); |
|
130 |
$data=$DB->fetch_array($result); |
|
131 |
if($data[0] > 0) { |
|
132 |
print "<p>AAAAAAAAaaaaaaaaaatention, ce numéro de contrat $cname / $cnum est déjà utilisé !!! cette situation ne peut arriver que si vous créez plus d'un contrat par jour ... si c'est le cas voyez avec les développeurs ... <a href=\"plugin_anet_epacks.generate_odt_contrat_partenaire_enr2009.form.php\">Un petit retour à l'accueil</a> ?</p>\n"; |
|
133 |
exit; |
|
134 |
} |
|
135 |
|
|
136 |
$query="INSERT INTO glpi_contracts(FK_entities,recursive,name,num,contract_type,begin_date,duration,notice,periodicity,facturation,notes,alert,renewal) |
|
137 |
VALUES(" . $_GET['clientid'] . ",'0','$cname','$cnum','6', NOW( ) ,'36','1','12','12','Créé par anet :: " . basename($_SERVER['SCRIPT_FILENAME']) . "','3','1' )"; |
|
138 |
$texte .= "<p> Création du contrat partenaire :: $query</p>\n"; |
|
139 |
|
|
140 |
$DB->query($query) or die($DB->error()); |
|
141 |
$contractid = $DB->insert_id(); |
|
142 |
|
|
143 |
} |
|
144 |
|
|
145 |
print "<p>Désolé pour la mise en page et cette superbe page blanche ...</p>\n"; |
|
146 |
|
|
147 |
print "<p>Les packs sont maintenant associés au contrat, <a href=\"plugin_anet_epacks.view_maintenance.php?year=" . date("Y") . "\">cliquez ici pour choisir le type de contrat que vous voulez</a> pour ce client.</p>\n"; |
|
100 |
print "<p>Désolé pour la mise en page et cette superbe page blanche ... mais il manque un parametre a l'appel de cette page !</p>\n"; |
|
148 | 101 |
} |
149 | 102 |
?> |
Formats disponibles : Unified diff