Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

ryxeo-glpi-git / plugins / anet_epacks / front / plugin_anet_epacks.generate_odt_maintenance3.form.php @ 97e94661

Historique | Voir | Annoter | Télécharger (6,34 ko)

1
<?php
2

    
3
// Génère le fichier ODT/PDF du contrat de maintenance et ajoute un debut d'information dans la table contracts
4
include "../ryxeo.php";
5

    
6
if(!defined('GLPI_ROOT')){
7
  define('GLPI_ROOT', '../../..');
8
}
9
include_once (GLPI_ROOT . "/inc/includes.php");
10
include_once("tools.php");
11

    
12
checkRight("config","w");
13
//checkSeveralRightsOr(array("config" => "w", "profile" => "w"));
14

    
15
require_once('lib/odf.php');
16
//$odf->exportAsAttachedFile();
17
//$odf->printVars();
18
//print_r($odf);
19
//$odf->saveToDisk('tmp/fichier.odt');
20

    
21
global $DB;
22

    
23
//Si on demande a re-generer le fichier ODF on ne fait que ça
24
//a faire
25
if(isset($_GET['cid'])) {
26
  $fk_entitee = $_GET['clientid'];
27
  //On a demandé a re-générer le contrat
28
  //print "re - creation du contrat ... ";
29

    
30
  //Le nom du contrat
31
  $query = "SELECT name FROM glpi_contracts WHERE ID='" . $_GET['cid'] . "'";
32
  $result = $DB->query($query);
33
  $data=$DB->fetch_array($result);
34
  $cname=$data[0];
35

    
36
  //les epacks
37
  $query2 = "SELECT code FROM glpi_plugin_anet_epacks WHERE FK_contract='" . $_GET['cid'] . "'";
38
  $result2 = $DB->query($query2);
39
  $epackstxt = "";
40

    
41
  for($i = 0; $i < $DB->numrows($result2); $i++) {
42
    $data2      = $DB->fetch_array($result2);
43
    $epackstxt .= " " . $data2[0];
44
  }
45

    
46
  //Le niveau du contrat de maintenance ...
47
  $niveau = "-" . $_GET['niveau'];
48

    
49
  $odf = new odf("abuledu" . $niveau . ".odt");
50
  setlocale(LC_TIME, 'fr_FR.UTF8', 'fr.UTF8', 'fr_FR.UTF-8', 'fr.UTF-8'); 
51
  error_reporting(E_ALL);
52
  $odf->setVars('date', strftime("%A %e %B %Y"), true, 'UTF-8');
53

    
54
  //Cas spécial des contrats de partenaires ENR
55
  if($_GET['niveau'] == "maintenance-enr-partenaire") {
56

    
57
  }
58
  else {
59
    $odf->setVars('datedebut', strftime("%A %e %B %Y"), true, 'UTF-8');
60
    //$odf->setVars('datefin', strftime("%A %e %B %Y", mktime(0,0,0,date("n")-1,date("j"),date("Y")+3)));
61

    
62
    $odf->setVars('epacks', $epackstxt, true, 'UTF-8');
63
  }
64

    
65
  $query2="SELECT * FROM glpi_entities, glpi_entities_data WHERE glpi_entities.ID=FK_entities AND glpi_entities.ID='$fk_entitee';";
66
  //print $query2;
67
  //$DB->query($query2) or die($DB->error());
68
  $result2 = $DB->query($query2);
69
  $data2=$DB->fetch_array($result2);
70
  
71
  $odf->setVars('cname',  $cname, true, 'UTF-8');
72
  
73
  $odf->setVars('client', $data2['name'], true, 'UTF-8');
74
  $odf->setVars('clienttype', "____________________", true, 'UTF-8');
75
  $odf->setVars('clientcapital', "____________________", true, 'UTF-8');
76
  $odf->setVars('clientrcs', "____________________", true, 'UTF-8');
77
  $odf->setVars('clientsiret', "____________________", true, 'UTF-8');
78
  $odf->setVars('clientadresse', $data2['address'], true, 'UTF-8');
79
  $odf->setVars('clientcp', $data2['postcode']);
80
  $odf->setVars('clientville', $data2['town'], true, 'UTF-8');
81
  $odf->setVars('clientcontact', "____________________", true, 'UTF-8');
82
  
83
  //On créé un fichier local pour archive ...
84
  $fichier = "contrats/" . date("Ymd") . "-abuledu-maintenance-" . $cname . ".odt";
85
  $odf->saveToDisk($fichier);
86
  pushfile($fichier);
87
  //On génère le fichier
88
  //$odf->exportAsAttachedFile();
89
  //print $texte;
90
  
91
  
92
 }
93
 else {
94
   $fk_entitee = $_POST['clientid'];
95
   //On créé le contrat ...
96
   if(count($_POST['epack']) > 0) {
97
     $cname=strtoupper(anti_speciaux($_POST['clientname'])) . date("Ymd");
98
     $cnum=date("Ymd");
99
     //Verification que ce numero de contrat ne soit pas déjà pris ...
100
     $query="SELECT count(*) FROM glpi_contracts WHERE name='" . $cname . "'";
101
     //$DB->query($query) or die($DB->error());
102
     $result = $DB->query($query);
103
     $data=$DB->fetch_array($result);
104
     if($data[0] > 0) {
105
       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";
106
       exit;
107
     }
108

    
109
     $query="INSERT INTO glpi_contracts(FK_entities,recursive,name,num,contract_type,begin_date,duration,notice,periodicity,facturation,notes,alert,renewal)
110
                                 VALUES(" . $_POST['clientid'] . ",'0','$cname','$cnum','6', NOW( ) ,'36','1','12','12','Créé par anet :: " . basename($_SERVER['SCRIPT_FILENAME']) . "','3','1' )";
111
     $texte .= "<p> Création du contrat :: $query</p>\n";
112

    
113
     $DB->query($query) or die($DB->error());
114
     $contractid = $DB->insert_id();
115

    
116
     $texte .= "<p>Pour y associer les ePacks suivants:</p>
117
<ul>\n";
118

    
119
     for($i = 0; $i < count($_POST['epack']); $i++) {
120
       $epack = trim($_POST['epack'][$i]);
121
       $epackstxt .= " $epack ";
122
       $query="UPDATE glpi_plugin_anet_epacks SET FK_contract='$contractid' WHERE code='$epack'";
123
       $DB->query($query) or die($DB->error());
124

    
125
       $texte .= "<li>$query</li>\n";
126
     }
127
     $texte .= "</ul>";
128
     
129
   }
130
   //Sinon c'est qu'on génère un contrat de partenaire global ENR2009
131
   else {
132
     $cname=strtoupper(anti_speciaux(base64_decode($_GET['clientname']))) . "-ENR2009";
133
     $cnum=date("Ymd");
134
     //Verification que ce numero de contrat ne soit pas déjà pris ...
135
     $query="SELECT count(*) FROM glpi_contracts WHERE name='" . $cname . "'";
136
     //$DB->query($query) or die($DB->error());
137
     $result = $DB->query($query);
138
     $data=$DB->fetch_array($result);
139
     if($data[0] > 0) {
140
       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";
141
       exit;
142
     }
143

    
144
     $query="INSERT INTO glpi_contracts(FK_entities,recursive,name,num,contract_type,begin_date,duration,notice,periodicity,facturation,notes,alert,renewal)
145
                                 VALUES(" . $_GET['clientid'] . ",'0','$cname','$cnum','6', NOW( ) ,'36','1','12','12','Créé par anet :: " . basename($_SERVER['SCRIPT_FILENAME']) . "','3','1' )";
146
     $texte .= "<p> Création du contrat partenaire :: $query</p>\n";
147

    
148
     $DB->query($query) or die($DB->error());
149
     $contractid = $DB->insert_id();
150
     
151
   }
152

    
153
   print "<p>Désolé pour la mise en page et cette superbe page blanche ...</p>\n";
154

    
155
   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";
156
 }
157
?>
Redmine Appliance - Powered by TurnKey Linux