[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/registre/ -> mod_export.php (source)

   1  <?php
   2  
   3  /**
   4  
   5   * Gestion des cles pour clients Windows (exportation des modeles)
   6   * @Version $Id: mod_export.php 3252 2008-10-03 14:09:05Z keyser $ 
   7  
   8  
   9   * @Projet LCS / SambaEdu 
  10  
  11   * @auteurs  Sandrine Dangreville
  12  
  13   * @Licence Distribue selon les termes de la licence GPL
  14  
  15   * @note 
  16  
  17   */
  18  /**
  19  
  20   * @Repertoire: registre
  21   * file: mod_export.php
  22  
  23   */
  24  require  "include.inc.php";
  25  connexion();
  26  $act = $_GET['action'];
  27  if (!$act) {
  28      $act = $_POST['action'];
  29  }
  30  
  31  switch ($act) {
  32      //par defaut : menu effectuer la mise a jour
  33      //cas export : permet de selectionner les modeles a exporter
  34      //cas exportfin : effectue l'exportation et permet d'enregistrer le fichier modeles.xml
  35      default:
  36          include  "entete.inc.php";
  37          include  "ldap.inc.php";
  38          include  "ihm.inc.php";
  39  
  40          require_once  ("lang.inc.php");
  41          bindtextdomain('se3-registre', "/var/www/se3/locale");
  42          textdomain('se3-registre');
  43  
  44          echo "<a href=\"mod_export.php?action=export\">" . gettext("Effectuer la mise &#224 jour des restrictions ?") . "</a>";
  45          break;
  46  
  47      case "export":
  48          include  "entete.inc.php";
  49          include  "ldap.inc.php";
  50          include  "ihm.inc.php";
  51  
  52          require_once  ("lang.inc.php");
  53          bindtextdomain('se3-registre', "/var/www/se3/locale");
  54          textdomain('se3-registre');
  55  
  56          if (ldap_get_right("computers_is_admin", $login) != "Y")
  57              die(gettext("Vous n'avez pas les droits suffisants pour acc&#233;der &#224; cette fonction") . "</BODY></HTML>");
  58          $_SESSION["pageaide"] = "Gestion_des_clients_windows#Description_du_processus_de_configuration_du_registre_Windows";
  59  
  60          connexion();
  61          $query = "SELECT `mod` FROM modele GROUP BY `mod`;";
  62          $resultat = mysql_query($query);
  63          $j = 0;
  64          echo gettext("Exporter les groupes suivants :") . " <br><FORM METHOD=POST ACTION=\"mod_export.php\">";
  65  
  66          while ($row = mysql_fetch_array($resultat)) {
  67              echo"<input type=\"checkbox\" name=\"export$j\" value=\"$row[0]\" checked />$row[0]<br>";
  68              $j++;
  69          }
  70          echo "<br><br>";
  71          echo "<input type=\"hidden\" name=\"nombre\" value=\"$j\" /> <input type=\"hidden\" name=\"action\" value=\"exportfin\" />";
  72          echo "<input type=\"submit\" name=\"export\" value=\"" . gettext("Exporter ces groupes") . "\" /></form>";
  73          mysql_close();
  74          break;
  75  
  76      case "exportfin":
  77          connexion();
  78  
  79          $nombre = $_POST['nombre'];
  80          if ($nombre > 0) {
  81              $content_dir = '/tmp/';
  82              $fichier_mod_xml = $content_dir . "modeles.xml";
  83  
  84              if (file_exists($fichier_mod_xml))
  85                  unlink($fichier_mod_xml);
  86              $get = fopen($fichier_mod_xml, "w+");
  87              $ligne = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<se3mod>\n<nom>" . gettext("Groupe de cles") . "</nom>\n<version>V 0.1</version>\n<categories>\n";
  88              fputs($get, $ligne);
  89              for ($i = 0; $i < $nombre + 1; $i++) {
  90                  $mod = $_POST['export' . $i];
  91                  if ($mod) {
  92                      $ligne = "<categorie nom=\"$mod\">\n";
  93                      $query1 = "SELECT `cle`,`etat` FROM `modele` WHERE `mod` = '$mod' ";
  94                      $resultat1 = mysql_query($query1);
  95                      while ($row1 = mysql_fetch_array($resultat1)) {
  96                          $ligne = $ligne . "<regle>\n";
  97                          $query2 = "SELECT `chemin` FROM `corresp` WHERE `CleID` = '$row1[0]' ";
  98                          $resultat2 = mysql_query($query2);
  99                          while ($row2 = mysql_fetch_array($resultat2)) {
 100                              $ligne = $ligne . "<clef>$row2[0]</clef>\n";
 101                          }
 102                          $ligne = $ligne . "<value>$row1[1]</value>\n</regle>\n";
 103                      }
 104                      $ligne = $ligne . "</categorie>\n";
 105                      fputs($get, $ligne);
 106                  }
 107              }
 108              $ligne = "</categories>\n</se3mod>\n";
 109              fputs($get, $ligne);
 110              fclose($get);
 111              if (file_exists($fichier_mod_xml)) {
 112                  header("Content-type: application/force-download");
 113                  header("Content-Length: " . filesize($fichier_mod_xml));
 114                      header("Content-Disposition: attachment; filename=modeles.xml");
 115                      readfile($fichier_mod_xml);
 116              exit;
 117                      unlink($fichier_mod_xml);
 118              }
 119          mysql_close();
 120  
 121              include  "entete.inc.php";
 122              include  "ldap.inc.php";
 123              include  "ihm.inc.php";
 124  
 125              require_once  ("lang.inc.php");
 126              bindtextdomain('se3-registre', "/var/www/se3/locale");
 127              textdomain('se3-registre');
 128              if (ldap_get_right("computers_is_admin", $login) != "Y")
 129                  die(gettext("Vous n'avez pas les droits suffisants pour acc&#233;der &#224; cette fonction") . "</BODY></HTML>");
 130              $_SESSION["pageaide"] = "Gestion_des_clients_windows#Description_du_processus_de_configuration_du_registre_Windows";
 131          }
 132          break;
 133  }
 134  
 135  retour();
 136  ?>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1