Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

ryxeo-glpi-git / plugins / anet_epacks / front / plugin_anet_epacks.generate_odt_client2.form.php @ 3e3ac5b4

Historique | Voir | Annoter | Télécharger (3,72 ko)

1
<?php
2

    
3
// Génère le fichier ODT/PDF pour le revendeur avec son numéro de pack à utiliser. Ce fichier doit contenir un certain nombre d'informations (url pour enregistrer son pack etc.)
4

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

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

    
14
require_once('lib/odf.php');
15
$odf = new odf("abuledu-epack.odt");
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
if(isset($_GET['code'])) {
25
   //On a demandé a re-générer le fichier (ex. mise à jour de la fiche client dans anet ...) 
26
   $query="SELECT * FROM glpi_plugin_anet_epacks WHERE code='" . $_GET['code'] . "';";
27
   //$DB->query($query) or die($DB->error());
28
   $result = $DB->query($query);
29
   $data=$DB->fetch_array($result);   
30

    
31
   /*
32
   print "<pre>";
33
   print $query;
34
   print_r($data) . "\n";
35
   print "</pre>";
36
   */
37
   //   exit;
38

    
39
   //Les coordonnées du client
40
   if($data['FK_client'] > 0)
41
     $fk_entitee = $data['FK_client'];
42
   else if($data['FK_activation'] > 0)
43
     $fk_entitee = $data['FK_activation'];
44
   else if($data['FK_clientderyxeo'] > 0)
45
     $fk_entitee = $data['FK_clientderyxeo'];
46
   //   print "FK:$fk_entitee";
47
   //   exit;
48
 }
49
 else {
50
   //Les coordonnées du client
51
   $fk_entitee = $_POST['FK_entitee'];
52

    
53
  //Un pack non attribué
54
  $query="SELECT * FROM glpi_plugin_anet_epacks WHERE FK_clientderyxeo='0' AND creation_date='0000-00-00' AND code LIKE 'ABE10%' LIMIT 1;";
55
  //$DB->query($query) or die($DB->error());
56
  $result = $DB->query($query);
57
  $data=$DB->fetch_array($result);
58
  
59
  if($data['code'] == "") {
60
    print "Erreur, il n'y a plus de pack disponible ... ";
61
    print "On vient d'en créer un nouveau, re-essayez ...";
62
    global $DB;
63
    $nb_packs = 1;
64
    $prefix = "ABE10-01-";
65
    for($i = 0; $i < $nb_packs; $i++) {
66
      srand();
67
      $code=$prefix . rand(1000,9999) . "-" . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . "-" . rand(1000,9999);
68
      $password=rand(1000,9999) . "-" . rand(1000,9999);
69
      $query="INSERT into glpi_plugin_anet_epacks(creation_date,expiration_date,code,password) values( '0000-00-00' ,'2010-12-31','$code','$password');";
70
      print $query;
71
      $DB->query($query);// or die($DB->error());
72
    }
73
    exit;
74
  }
75
 }
76

    
77
$odf->setVars('code', $data['code']);
78
$odf->setVars('password', $data['password']);
79

    
80
setlocale(LC_TIME, "fr_FR");
81
$odf->setVars('date', strftime("%A %e %B %Y"), true, 'UTF-8');
82

    
83
$query2="SELECT * FROM glpi_entities, glpi_entities_data WHERE glpi_entities.ID=FK_entities AND glpi_entities.ID='$fk_entitee';";
84
//print $query2;
85
//$DB->query($query2) or die($DB->error());
86
$result2 = $DB->query($query2);
87
$data2=$DB->fetch_array($result2);
88

    
89
$odf->setVars('correspondant', $data2['name'], true, 'UTF-8');
90
$odf->setVars('adresse', $data2['address'], true, 'UTF-8');
91
$odf->setVars('cp', $data2['postcode']);
92
$odf->setVars('ville', $data2['town'], true, 'UTF-8');
93

    
94
//On "grille" le epack pour eviter de l'affecter a qqn d'autre ... cas particulier du client direct
95
if($_POST['clientdirect'] == 1) {
96
  $addquery3 = ",FK_activation='$fk_entitee',FK_client='$fk_entitee'";
97
 }
98
$query3="UPDATE glpi_plugin_anet_epacks set FK_clientderyxeo='$fk_entitee',creation_date='" . date("Y-m-d") . "'" . $addquery3 . " WHERE ID='" . $data['ID'] . "';";
99
$DB->query($query3) or die($DB->error());
100

    
101
//On créé un fichier local pour archive ...
102
$fichier="archives/" . date("Y-m-d") . "-" . $data['code'] . ".odt";
103
$odf->saveToDisk($fichier);
104

    
105
//On génère le fichier
106
//$odf->exportAsAttachedFile();
107
pushfile($fichier);
108
?>
Redmine Appliance - Powered by TurnKey Linux