[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/printers/ -> config_printer.php (source)

   1  <?php
   2  
   3     /**
   4     
   5     * Ajout dans CUPS et branche Printer de LDAP
   6     * @Version $Id: config_printer.php 8561 2015-03-15 13:37:16Z plouf $ 
   7     
   8     * @Projet LCS / SambaEdu 
   9     
  10     * @auteurs Patrice Andre <h.barca@free.fr>
  11     * @auteurs Carip-Academie de Lyon
  12  
  13     * @Licence Distribue selon les termes de la licence GPL
  14     
  15     * @note 
  16     
  17     */
  18  
  19     /**
  20  
  21     * @Repertoire: printers/
  22     * file: config_printer.php
  23  
  24    */    
  25  
  26  
  27  
  28     
  29  // Configuration d'un nouvelle imprimante
  30  // Ecriture dans CUPS et LDAP 
  31  
  32  include  "entete.inc.php";
  33  include  "ldap.inc.php";    //
  34  include  "ihm.inc.php";   // pour enleveaccents();
  35  include  "printers.inc.php";
  36  
  37  require_once  ("lang.inc.php");
  38  bindtextdomain('se3-printers',"/var/www/se3/locale");
  39  textdomain ('se3-printers');
  40  
  41  //aide
  42  $_SESSION["pageaide"]="Imprimantes";
  43  
  44  $nom_imprimante=$_POST['nom_imprimante'];
  45  $nom_printer=$_POST['nom_printer'];
  46  $lieu_printer=$_POST['lieu_printer'];
  47  $info_printer=$_POST['info_printer'];
  48  $dev_mode=$_POST['dev_mode'];
  49  $driver_printer=$_POST['driver_printer'];
  50  $uri_printer=$_POST['uri_printer'];
  51  
  52  $config_printer=$_POST['config_printer'];
  53  $protocole=$_POST['protocole'];
  54  $driver=$_POST['driver'];
  55  $lieu_imprimante=$_POST['lieu_imprimante'];
  56  $info_imprimante=$_POST['info_imprimante'];
  57  $uri_imprimante=$_POST['uri_imprimante'];
  58  $lieu_imprimante=$_POST['lieu_imprimante'];
  59  $modif_imprimante=$_POST['modif_imprimante'];
  60  $fabriquant = $_POST['fabriquant'];
  61  if (isset ($_POST['imp_mode']))
  62      $imp_mode="on";
  63  else    $imp_mode="off";
  64  
  65  if (is_admin("se3_is_admin",$login)=="Y") { 
  66      //Affichage de la page de saisie des parametres l'imprimante
  67  
  68         echo "<H1>".gettext("Configuration de l'imprimante")."</H1>\n";
  69      if ( !$nom_imprimante || !$uri_imprimante  ||  !$lieu_imprimante ||  !$info_imprimante ) {
  70          
  71          // Pour une modif
  72          if($nom_printer) {
  73              $nom_imprimante=$_POST['nom_printer']; 
  74              $modif_imprimante="1";    
  75          }
  76          if($lieu_printer) {$lieu_imprimante=$_POST['lieu_printer']; }
  77          if($info_printer) {$info_imprimante=$_POST['info_printer']; }
  78          if($uri_printer) {
  79              if(preg_match('/^ipp/',$_POST['uri_printer'])) {
  80                  $protoc="custom";  
  81                  $uri_imprimante=$_POST['uri_printer'];
  82              }
  83              if(preg_match('/^smb/',$_POST['uri_printer'])) {
  84                  $protoc="smb"; 
  85                  list(,,,$uri_imp,$imp)=preg_split('///',$uri_printer);
  86                  if ($imp!="") { $uri_imprimante="$uri_imp"; } else { $uri_imprimante="$uri_imp"; }
  87              }
  88              if(preg_match('/^socket/',$_POST['uri_printer'])) {
  89                  $protoc="socket"; 
  90                  list(,,$uri_imp_1)=preg_plit('///',$uri_printer);
  91                  list($uri_imp,)=preg_split('/:/',$uri_imp_1);
  92                      $uri_imprimante="$uri_imp";
  93              }
  94              if(preg_match('/^parallel/',$_POST['uri_printer'])) {
  95                  $protoc="parallel"; 
  96                  list(,$uri_imp,)=preg_split('///',$uri_printer);
  97                  $uri_imprimante="$uri_imp";
  98              }
  99              if(preg('/^http/',$_POST['uri_printer'])) {
 100                  if(preg_match('/printers/',$_POST['uri_printer'])) {$protoc="ipp";} 
 101                  else {$protoc="http";} 
 102                  list(,,$uri_imp_1)=preg_split('///',$_POST['uri_printer']);
 103                  list($uri_imp,)=preg_split('/:/',$uri_imp_1);
 104                  $uri_imprimante="$uri_imp";
 105              }
 106              if(preg_match('/^lpd/',$_POST['uri_printer'])) {
 107                  $protoc="lpd"; 
 108                  list(,,$uri_imp_1)=preg_split('///',$_POST['uri_printer']);
 109                  list($uri_imp,)=preg_split('/:/',$uri_imp_1);
 110                  $uri_imprimante="$uri_imp";
 111              }
 112              if(preg_match('/^usb/',$_POST['uri_printer'])) {
 113                  $protoc="usb"; 
 114                  list(,$uri_imp,)=preg_split('///',$_POST['uri_printer']);
 115                  $uri_imprimante="$uri_imp";
 116              }
 117              
 118          }    
 119          //Affichage du formulaire de la liste des pilotes CUPS
 120              echo "<FORM NAME = \"auth\" ACTION=\"config_printer.php\" METHOD=\"post\">\n";
 121              echo "<TABLE BORDER=\"0\">\n";
 122              echo "<TR>\n";
 123              echo "<TD>".gettext("Nom")." :</TD>\n";
 124          
 125          // Si une modif on ne peut pas changer le nom
 126          if($nom_imprimante) {
 127              echo "<INPUT TYPE=\"hidden\" NAME=\"modif_imprimante\" VALUE=\"1\">\n";
 128                  echo "<INPUT TYPE=\"hidden\" NAME=\"nom_imprimante\" VALUE=\"$nom_imprimante\">\n";
 129              echo "<TD COLSPAN=\"2\" VALIGN=\"top\">$nom_imprimante</TD>\n";
 130                  echo "<TD><u onmouseover=\"return escape".gettext("('Le nom de l\'imprimante ne peut pas &#234;tre chang&#233;..<br>Pour pouvoir le faire vous devez supprimer et recr&#233;er l\'imprimante')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u></TD>\n";
 131              
 132          } else {    
 133                  echo "<TD COLSPAN=\"2\" VALIGN=\"top\"><INPUT TYPE=\"text\" MAXLENGTH=\"8\" SIZE=\"8\" NAME=\"nom_imprimante\" VALUE=$nom_imprimante></TD>\n";
 134                  echo "<TD><u onmouseover=\"return escape".gettext("('Indiquer un nom pour l\'imprimante.<BR>Celui-ci doit &#234;tre unique et limit&#233; &#224; 8 caract&#232;res.<BR>Dans le cas d\'une imprimante partag&#233;e, indiquez le nom de partage')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u></TD>\n";
 135              
 136          }
 137              echo "</TR>\n";
 138  
 139              echo "<TR>\n";
 140              echo "<TD>URI :</TD>\n";
 141              echo "<TD COLSPAN=\"2\" VALIGN=\"top\"><INPUT TYPE=\"text\" SIZE=\"20\" NAME=\"uri_imprimante\" VALUE=$uri_imprimante></TD>\n";
 142              echo "<TD><u onmouseover=\"return escape".gettext("('Indiquer ici l\'adresse IP ou le port local en fonction du protocole utilis&#233;.<BR>Dans le cas d\'une imprimante partag&#233;e, indiquez le nom du poste qui partage l\'imprimante. <br>Pour une imprimante IPP, vous pouvez egalement entrer l\'URI complete, par exemple ipp://172.16.100.113:631/A21-CA3 <br> dans ce cas choisissez <b>Personnalise</b> pour le protocole')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u></TD>\n";
 143          
 144              echo "</TR>\n";
 145              echo "<TR>\n";
 146              echo "<TD>".gettext("Emplacement")." :</TD>\n";
 147              echo "<TD COLSPAN=\"2\" VALIGN=\"top\"><INPUT TYPE=\"text\" SIZE=\"20\" NAME=\"lieu_imprimante\" VALUE=$lieu_imprimante></TD>\n";
 148              echo "<TD><u onmouseover=\"return escape".gettext("('Indiquer ici le lieu o&#151; l\imprimante est install&#233;e.<br>Cette information n\'est qu\'indicative.')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u></TD>\n";
 149              echo "</TR>\n";
 150              echo "<TR>\n";
 151              echo "<TD>".gettext("Description")." :</TD>\n";
 152              echo "<TD COLSPAN=\"2\" VALIGN=\"top\"><INPUT TYPE=\"text\"  SIZE=\"20\" NAME=\"info_imprimante\" VALUE=$info_imprimante></TD>\n";
 153              echo "<TD><u onmouseover=\"return escape".gettext("('Description obligatoire')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u></TD>\n";
 154          
 155              echo "</TR>\n";
 156              echo "</TABLE>\n";
 157              echo "<BR>";
 158              echo "<P><b>".gettext("S&#233lectionnez votre protocole : ");
 159          echo "<u onmouseover=\"this.T_STICKY=1;return escape".gettext("('Indiquer ici le protocole utilis&#233;.<br>Dans le cas d\'une imprimante partag&#233;e, indiquez Samba.<br>Dans le cas d\'une imprimante r&#233;seau, TCP/IP doit fonctionner dans la majorit&#233; des cas mais se r&#233;f&#233;rer &#224; la documentation de l\'imprimante permettra de choisir le meilleur protocole.<br>Si vous savez ce que vous faites, vous pouvez aussi<br>utiliser <b>Personnalis&#233</b> pour les imprimantes IPP :<br> dans ce cas entrez l\'URI exacte de l\'imprimante dans le champ URI, Par exemple ipp://172.16.1.1:631/truc <br>Vous pouvez &#233;galement consulter la <a href=http://wwdeb.crdp.ac-caen.fr/mediase3/index.php/Imprimantes TARGET=_blank>documentation Se3 en ligne</a> pour plus d\'informations.')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u> ";
 160          echo "</b></P>\n";
 161          
 162          
 163              echo "<SELECT NAME=\"protocole\">\n";
 164          echo "<OPTION VALUE=\"parallel\"";
 165          if($protoc=="parallel") { echo " selected";}
 166                 echo ">parall&#233;le</OPTION>";
 167          echo "<OPTION VALUE=\"usb\"";
 168          if($protoc=="usb") { echo " selected";}
 169                 echo ">Usb</OPTION>";
 170          echo "<OPTION VALUE=\"socket\"";
 171          if(($protoc=="socket") || ($protoc=="")) { echo " selected";}
 172                 echo ">TCP/IP</OPTION>";
 173  
 174          echo "<OPTION VALUE=\"http\"";
 175          if($protoc=="http") { echo " selected";}
 176                 echo ">HTTP</OPTION>";
 177  
 178          echo "<OPTION VALUE=\"ipp\"";
 179          if($protoc=="ipp") { echo " selected";}
 180                 echo ">IPP</OPTION>";
 181  
 182          echo "<OPTION VALUE=\"smb\"";
 183          if($protoc=="smb") { echo " selected";}
 184                 echo ">Samba</OPTION>";
 185          
 186          echo "<OPTION VALUE=\"lpd\"";
 187          if($protoc=="lpd") { echo " selected";}
 188                 echo ">Lpd/Lpr</OPTION>";
 189          
 190          echo "<OPTION VALUE=\"custom\"";
 191          if($protoc=="custom") { echo " selected";}
 192                 echo ">Personnalise</OPTION>";
 193          echo "</select>\n";
 194  
 195              echo "<BR>";
 196  
 197          //drivers
 198              echo "<P><b>".gettext("Choix du pilote d'impression : ");
 199          echo "</b>";
 200          echo "<u onmouseover=\"return escape".gettext("('S&#233;lectionner la fa&#231;on dont vous aller installer le driver :<br><b>Pilote windows du client d&#233ployable :</B> Soit le pilote de l\'imprimante est plac&#233; sur le serveur SambaEdu dans le partage drivers et s\'installe automatiquement ou bien vous l\'installez manuellement sur chaque poste, au choix<br><b>Pilote CUPS :</b> Vous utilisez le pilote CUPS, qui est d\'une qualit&#233; inf&#233;rieur (d&#233;conseill&#233;).')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u></P>";
 201              echo "<TABLE BORDER=\"0\">\n";
 202  
 203          if($driver_printer) { 
 204              // client windows
 205                  if($driver_printer=="raw") {
 206              echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"driver\" CHECKED VALUE=\"raw\"";
 207              echo ">".gettext("Pilote Windows du client")."<BR></TD>\n";
 208                  echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Option obsolete, pr&#233f&#233rez le client d&#233ployable")."</FONT></TD></TR>\n";
 209                  }
 210              
 211              // client windows deployable
 212                  echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"driver\" VALUE=\"dep\"";
 213              if($driver_printer=="dep") {echo " CHECKED ";}
 214              echo ">".gettext("Pilote Windows du client deployable")."<BR></TD>\n";
 215                  echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Permet de deployer &#224; partir du serveur le client windows")."</FONT></TD></TR>\n";
 216              
 217              // client cups
 218              echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"driver\" VALUE=\"cups\">";
 219              echo gettext("Pilote du serveur d'impression CUPS")."<BR></TD>\n";
 220                  echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Qualit&#233 d'impression en g&#233n&#233rale inf&#233rieure")."</FONT></TD></TR>\n";
 221  
 222              // Ancien client cups
 223                  if (($driver_printer!="raw") && ($driver_printer!="dep")) { // un driver cups existe deja
 224                  list(,$fabric_old,$driver_old) = preg_split('///',$driver_printer);
 225                  list($driver_only,,) = preg_split('/./',$driver_old);
 226                  echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"driver\" VALUE=\"$driver_printer\"";
 227                  if($driver!="raw") {echo " CHECKED ";}
 228                  echo ">".gettext("Pilote CUPS existant ").$driver_printer."<BR></TD>\n";
 229                      echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Qualit&#233 d'impression en g&#233n&#233rale inf&#233rieure")."</FONT></TD></TR>\n";
 230              }
 231          } else { // On cree une nouvelle imprimante
 232              // client windows
 233  //                 echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"driver\" VALUE=\"raw\">";
 234  //             echo gettext("Pilote Windows du client")."<BR></TD>\n";
 235  //                 echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Option par d&#233faut, installation manuelle du pilote")."</FONT></TD></TR>\n";
 236              
 237              // client windows deployable
 238                  echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"driver\" CHECKED VALUE=\"dep\"";
 239              echo ">".gettext("Pilote Windows du client deployable")."<BR></TD>\n";
 240                  echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Permet de deployer &#224; partir du serveur le client windows")."</FONT></TD></TR>\n";
 241              
 242              // client cups
 243                  echo "<TR><TD><INPUT TYPE=\"radio\" NAME=\"driver\" VALUE=\"cups\">";
 244              echo gettext("Pilote du serveur d'impression CUPS")."<BR></TD>\n";
 245                  echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Qualit&#233 d'impression en g&#233n&#233rale inf&#233rieure")."</FONT></TD></TR>\n";
 246          }        
 247          
 248          echo "</TABLE>\n";
 249  
 250          
 251              echo "<P><b>".gettext("Correction de probl&#232;mes : ");
 252          echo "</b>";
 253          echo "<u onmouseover=\"return escape".gettext("('Permet de corriger d\'&#233;ventuels probl&#232;mes d\'impression')")."\"><img name=\"action_image2\"  src=\"../elements/images/system-help.png\"></u></P>";
 254          echo "<TABLE BORDER=\"0\">\n";
 255          echo "<TR><TD><INPUT TYPE=\"checkbox\" NAME=\"imp_mode\"";
 256          if ($dev_mode == "on") echo " checked";
 257          echo ">";
 258                  echo gettext("Correction pilote d&#233;faillant")."<BR></TD>\n";
 259                  echo "<TD><FONT COLOR=\"orange\">&nbsp;".gettext("Dans le cas d'un pilote d&#233;ployable, si lors de la mise en place du pilote<BR>explorer.exe plante, cochez cette case...")."</FONT></TD></TR>\n";
 260          echo "</TABLE>\n";
 261              echo "<BR>";
 262              echo "<INPUT TYPE=\"hidden\" NAME=\"config_printer\" VALUE=\"true\">\n";
 263              echo "<INPUT TYPE=\"submit\" VALUE=\"".gettext("Valider")."\">\n";
 264              echo "</FORM>\n";
 265              if ($config_printer) {
 266                  if ( (!$nom_imprimante)||(!$uri_imprimante)||(!$lieu_imprimante) ) {
 267                          echo "<div class='error_msg'>".gettext("Vous devez obligatoirement renseigner les champs: Nom, URI, Emplacement, Description !")."</div><br>\n";
 268                  } elseif (1==1) {
 269                  echo "<div class='error_msg'>".gettext("Vous devez saisir une adresse IP valide !")."</div><BR>\n";
 270                  }
 271              }
 272      }
 273      //Affichage de la page de confirmation de l'installation de l'imprimante 
 274      elseif ($driver != "cups")  {
 275              // Verification de l'existence de cette imprimante
 276          $nom_imprimante = stripslashes($nom_imprimante);
 277              $printer_name =utf8_encode($nom_imprimante);
 278              $printer_exist=search_printers("(&(printer-name=$printer_name)(objectClass=printerService))");
 279      
 280              // Suppression des accents et des espaces que l'utilisateur a entres dans les champs
 281              $nom_imprimante=enleveaccents($nom_imprimante);
 282              $info_imprimante=enleveaccents($info_imprimante);
 283              $lieu_imprimante=enleveaccents($lieu_imprimante);
 284          // Cas d'une modification
 285          if(($_POST["modif_imprimante"]=="1") && (count($printer_exist))) {
 286                  exec("/usr/share/se3/sbin/printerMod.pl $nom_imprimante $uri_imprimante $lieu_imprimante $info_imprimante $protocole $driver $imp_mode",$AllOutPut,$ReturnValue);
 287              
 288  
 289  
 290  // echo "/usr/share/se3/sbin/printerMod.pl $nom_imprimante $uri_imprimante $lieu_imprimante $info_imprimante $protocole $driver";
 291  
 292              // Compte rendu de creation
 293              if ($ReturnValue==0) {
 294                  exec("/usr/share/se3/sbin/printers_group.pl");
 295                          echo gettext("L'imprimante")." <B>$nom_imprimante</B> ".gettext("a &#233;t&#233; reconfigur&#233;e avec succ&#232;s")."<BR>";
 296                  echo "<br><center>";
 297                  echo "<a href=view_printers.php?one_printer=$nom_imprimante>Retour</a>";
 298                  echo "</center>";
 299                  } else {
 300                  echo "<div class='error_msg'>".gettext("Erreur lors de la modification de l'imprimante")." <B>$nom_imprimante</B><font color='black'>(".gettext("type d'erreur")." : $ReturnValue) </font>,".gettext("veuillez contacter")." <A HREF='mailto:$MelAdminLCS?subject=".gettext("PB creation nouvelle imprimante Se3")."'>".gettext("l'administrateur du syst&#232;me")."</A></div><BR>\n";
 301                     }
 302  
 303          } else { // Si ce n'est pas une modification
 304              if (count($printer_exist))  {
 305                  // Si la machine existe deja il faut changer le nom.
 306                  echo "<div class='error_msg'>".gettext("Echec de cr&#233;ation : L'imprimante")." <font color=\"black\"> $nom_imprimante</font> ".gettext("est d&#233;ja pr&#233;sente dans l'annuaire.")."</div><BR>\n";
 307                  echo "<br><center>";
 308                  echo "<a href=\"config_printer.php\">Retour</a>";
 309                  echo "</center>";
 310                  } else {
 311                  // Sinon on la cree
 312                      // Ecriture de la configuration dans CUPS et LDAP
 313  
 314  //      echo "/usr/share/se3/sbin/printerAdd.pl $nom_imprimante $uri_imprimante $lieu_imprimante $info_imprimante $protocole $driver";
 315                  exec("/usr/share/se3/sbin/printerAdd.pl $nom_imprimante $uri_imprimante $lieu_imprimante $info_imprimante $protocole $driver $imp_mode",$AllOutPut,$ReturnValue);
 316                      // Compte rendu de creation
 317                  if ($ReturnValue==0) {
 318                              echo gettext("L'imprimante")." <B>$nom_imprimante</B> ".gettext("a &#233;t&#233; configur&#233;e avec succ&#232;s")."<BR>";
 319                      echo "<A HREF=add_printer.php>";
 320                      echo gettext("Ajouter l'imprimante &#224; un parc");
 321                      echo "</A>";
 322                      } else {
 323                      echo "<div class='error_msg'>".gettext("Erreur lors de la cr&#233;ation de l'imprimante ")." <B>$nom_imprimante</B><font color='black'> (".gettext(" type d'erreur")." : $ReturnValue) </font>,<br>".gettext("veuillez contacter")." <A HREF='mailto:$MelAdminLCS?subject=".gettext("PB creation nouvelle imprimante Se3")."'>".gettext("l'administrateur du syst&#232;me")."</A></div><BR>\n";
 324  
 325                      echo "<br><center>";
 326                      echo "<a href=config_printer.php>Retour</a>";
 327                      echo "</center>";
 328                      }
 329                  }
 330          }
 331  
 332  
 333      // A partir d'ici on propose le choix d'un driver CUPS
 334      } elseif(isset($driver) && ($driver=="cups")) {
 335              // Retourne le nombre de pilotes
 336              $nb_drivers=exec("/usr/sbin/lpinfo -m | wc -l");
 337              // Retourne les fabiquants des pilotes
 338          $return=exec ("/usr/sbin/lpinfo -m | cut -d\" \" -f2",$fab_drivers);
 339          //Affichage du formulaire de selection du fabriquant.
 340          if (!isset($fabriquant)) {
 341              echo "<H3>".gettext("S&#233lectionnez la marque de l'imprimante")."</H3>\n";
 342                  echo "<FORM ACTION=\"config_printer.php\" METHOD=\"post\">\n";
 343                  echo "<SELECT NAME=\"fabriquant\" SIZE=\"15\">\n";
 344                  for ($i=1;$i<$nb_drivers;$i++) {
 345                  $fab_drivers[$i]=strtoupper($fab_drivers[$i]);
 346                  if ($fab_drivers[$i] != $fab_drivers[$i-1]) {
 347                      echo "<OPTION VALUE=\"$fab_drivers[$i]\">$fab_drivers[$i]";
 348                              echo "</OPTION>";
 349                      }
 350              }
 351                  echo "</SELECT>\n";
 352                  echo "<INPUT TYPE=\"hidden\" NAME=\"info_imprimante\" VALUE=\"$info_imprimante\">\n";
 353                  echo "<INPUT TYPE=\"hidden\" NAME=\"uri_imprimante\" VALUE=\"$uri_imprimante\">\n";
 354                  echo "<INPUT TYPE=\"hidden\" NAME=\"nom_imprimante\" VALUE=\"$nom_imprimante\">\n";
 355                  echo "<INPUT TYPE=\"hidden\" NAME=\"lieu_imprimante\" VALUE=\"$lieu_imprimante\">\n";
 356              echo "<INPUT TYPE=\"hidden\" NAME=\"driver\" VALUE=\"cups\">\n";
 357                  echo "<INPUT TYPE=\"hidden\" NAME=\"protocole\" VALUE=\"$protocole\">\n";
 358              echo "<INPUT TYPE=\"hidden\" NAME=\"modif_imprimante\" VALUE=\"$modif_imprimante\">\n";
 359                     echo "<BR><BR>\n";
 360                  echo "<INPUT TYPE=\"submit\" VALUE=\"".gettext("Valider")."\"><BR>\n";
 361                  echo "</FORM>\n";
 362          }
 363          //Affichage du formulaire de selection des pilotes pour le fabriquant choisi.
 364          else {
 365              echo "<H3>".gettext("S&#233lectionnez le pilote de l'imprimante")."</H3>\n";        
 366              $return=exec ("/usr/sbin/lpinfo -m | cut -d\" \" -f1",$ppd_drivers);
 367              $return=exec ("/usr/sbin/lpinfo -m | cut -d\" \" -f3-",$name_drivers);
 368              echo "<FORM ACTION=\"config_printer.php\" METHOD=\"post\">\n";
 369                  echo "<SELECT NAME=\"driver\" SIZE=\"15\">\n";
 370                  for ($i=0;$i<$nb_drivers;$i++) {
 371                  $fab_drivers[$i]=strtoupper($fab_drivers[$i]);
 372                  if ($fabriquant == $fab_drivers[$i]) { 
 373                      echo "<OPTION VALUE=\"$ppd_drivers[$i]\">$name_drivers[$i]";
 374                              echo "</OPTION>\n";
 375                  }
 376                  }
 377                  echo "</SELECT>\n";
 378                  echo "<INPUT TYPE=\"hidden\" NAME=\"info_imprimante\" VALUE=\"$info_imprimante\">\n";
 379                  echo "<INPUT TYPE=\"hidden\" NAME=\"uri_imprimante\" VALUE=\"$uri_imprimante\">\n";
 380                  echo "<INPUT TYPE=\"hidden\" NAME=\"nom_imprimante\" VALUE=\"$nom_imprimante\">\n";
 381                  echo "<INPUT TYPE=\"hidden\" NAME=\"lieu_imprimante\" VALUE=\"$lieu_imprimante\">\n";
 382              echo "<INPUT TYPE=\"hidden\" NAME=\"protocole\" VALUE=\"$protocole\">\n";
 383              echo "<INPUT TYPE=\"hidden\" NAME=\"modif_imprimante\" VALUE=\"$modif_imprimante\">\n";
 384                  echo "<BR><BR>\n";
 385                  echo "<INPUT TYPE=\"submit\" VALUE=\"".gettext("Valider")."\"><BR>\n";
 386                  echo "</FORM>\n";
 387          }
 388      }
 389  } else {
 390      echo "<div class=error_msg>".gettext("Cette application, n&#233cessite les droits d'administrateur du serveur Se3 !")."</div>";
 391  }
 392  
 393  include ("pdp.inc.php");
 394  ?>


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