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 @ 15ef2b99

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

1
<?php
2
// 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.)
3

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

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

    
13
require_once('lib/odf.php');
14
$odf = new odf("abuledu-epack.odt");
15
//$odf->exportAsAttachedFile();
16
//$odf->printVars();
17
//print_r($odf);
18
//$odf->saveToDisk('tmp/fichier.odt');
19

    
20
global $DB;
21

    
22
//Si on demande a re-generer le fichier ODF on ne fait que ça
23
if(isset($_GET['code'])) {
24
   //On a demandé a re-générer le fichier (ex. mise à jour de la fiche client dans anet ...) 
25
   $query="SELECT * FROM glpi_plugin_anet_epacks WHERE code='" . $_GET['code'] . "';";
26
   //$DB->query($query) or die($DB->error());
27
   $result = $DB->query($query);
28
   $data=$DB->fetch_array($result);   
29

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

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

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

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

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

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

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

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

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

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