[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   1  <?php
   2  
   3  
   4     /**
   5     
   6     * Liste les imprimantes de SE3
   7     * @Version $Id: list_printers.php 8563 2015-03-15 13:41:30Z plouf $ 
   8     
   9     * @Projet LCS / SambaEdu 
  10     
  11     * @auteurs Patrice Andre <h.barca@free.fr>
  12     * @auteurs Carip-Academie de Lyon
  13  
  14     * @Licence Distribue selon les termes de la licence GPL
  15     
  16     * @note 
  17     
  18     */
  19  
  20     /**
  21  
  22     * @Repertoire: printers/
  23     * file: list_printers.php
  24  
  25    */    
  26  
  27  // Liste des imprimantes
  28  
  29  include  "entete.inc.php";
  30  include  "ldap.inc.php";
  31  include  "printers.inc.php";
  32  include  "ihm.inc.php";     // pour is_admin()
  33  
  34  require_once  ("lang.inc.php");
  35  bindtextdomain('se3-printers',"/var/www/se3/locale");
  36  textdomain ('se3-printers');
  37  
  38  //aide
  39  $_SESSION["pageaide"]="Imprimantes";
  40  
  41  $view = $_POST['view'];
  42  
  43  if ((is_admin("printers_is_admin",$login)=="Y") AND ($login != "admin")) {
  44          echo "<H1>".gettext(" Liste des imprimantes")."</H1>";
  45          $parc_name=search_parc ($_SERVER['REMOTE_ADDR']);
  46          //if ($parc_name!="") {
  47          if (isset($parc_name)) {
  48                  //echo "<H5>".gettext("Votre machine")." (IP = ".($_SERVER['REMOTE_ADDR']).") ".gettext("est dans le parc :")." $parc_name </H5> ";
  49                  echo "<H5>".gettext("Votre machine")." (IP = ".($_SERVER['REMOTE_ADDR']).") ";
  50                  if(count($parc_name)==1){
  51                          echo gettext("est dans le parc :")." $parc_name[0] </H5> ";
  52                  }
  53                  else{
  54                          echo gettext("est dans les parcs :")." $parc_name[0]";
  55                          for($i=1;$i<count($parc_name);$i++){
  56                                  echo ", $parc_name[$i]";
  57                          }
  58                          echo " </H5> ";
  59                  }
  60  
  61                  echo "<TABLE BORDER=0>\n";
  62                  echo "<HR>";
  63                  for($i=0;$i<count($parc_name);$i++){
  64                          //      echo " La machine est dans le parc ".$parc_name;
  65                          //echo "<TR><TD WIDTH=200 BGCOLOR=\"cornflowerblue\"><B>$parc_name</B></TD></TR>";
  66                          echo "<TR><TD WIDTH=200 BGCOLOR=\"cornflowerblue\"><B>$parc_name[$i]</B></TD></TR>\n";
  67                          //$printers_parc=printers_members($parc_name,"parcs",1);
  68                          $printers_parc=printers_members($parc_name[$i],"parcs",1);
  69                          $nb_printers_parc=count($printers_parc);
  70                          for ($j=0; $j<$nb_printers_parc; $j++) {
  71                                  $sys= exec("/usr/bin/lpstat -o $printers_parc[$j]");
  72                                  if ($sys != "") $status=gettext("OUI");
  73                                  else $status=gettext("NON");
  74                                  echo "<TR><TD WIDTH=200 BGCOLOR=\"lightsteelblue\"><LI><A href='view_printers.php?one_printer=$printers_parc[$j]'>$printers_parc[$j]</A></LI></TD>";
  75                                  echo "<TD><FONT COLOR=\"cornflowerblue\">".gettext("Travaux en cours=")."$status\n</FONT></TD></TR>\n";
  76                          }
  77                          echo "<TR><TD HEIGHT=30></TD></TR>\n";
  78                  }
  79                  echo "</TABLE>\n";
  80          } else {
  81                  echo "<H5>".gettext("Votre machine")." (IP = ".($_SERVER['REMOTE_ADDR']).") ".gettext("n'appartient &#224 aucun parc !")."</H5>\n";
  82          }
  83  } elseif ((is_admin("printers_is_admin",$login)=="Y") AND ($login == "admin")) {
  84          echo "<H1>".gettext(" Liste des imprimantes")."</H1>";
  85          echo "<FORM ACTION=\"list_printers.php\" METHOD=\"post\">";
  86          if (!isset($view) || ($view=="v_parc")) {
  87                  echo "<INPUT TYPE=\"radio\" NAME=\"view\" VALUE=\"v_parc\" CHECKED>".gettext("par parc")." &nbsp&nbsp";
  88                  echo "<INPUT TYPE=\"radio\" NAME=\"view\" VALUE=\"v_printers\">".gettext("par imprimante")." &nbsp&nbsp";
  89          } else {
  90                  echo "<INPUT TYPE=\"radio\" NAME=\"view\" VALUE=\"v_parc\">".gettext("par parc")." &nbsp&nbsp";
  91                  echo "<INPUT TYPE=\"radio\" NAME=\"view\" VALUE=\"v_printers\" CHECKED>".gettext("par imprimante")." &nbsp&nbsp";
  92          }
  93          echo "<INPUT TYPE=\"submit\" VALUE=\"".gettext("Valider")."\">";
  94          echo "<HR>";
  95  
  96          //Par parc
  97          $all_parcs=$list_parcs=search_machines("objectclass=groupOfNames","parcs");
  98          $nb_parcs=count($all_parcs);
  99  
 100          if ($view != "v_printers") {
 101                  echo "<H3>".gettext("Classement par parc")."</H3>";
 102                  echo "<TABLE BORDER=0>";
 103                  for ($i=0; $i<$nb_parcs; $i++) {
 104                          $parc_name=$all_parcs[$i]['cn'];
 105                         
 106                          // Recherche de l'impra=imante par defaut
 107                          $imprim_defaut = get_default_printer($parc_name);
 108  
 109                          $printers_parc=printers_members($parc_name,"parcs",1);
 110                          $nb_printers_parc=count($printers_parc);
 111                         
 112                          echo "<TR><TH WIDTH=200 BGCOLOR=\"cornflowerblue\">&nbsp;$parc_name</TH><TH BGCOLOR=\"cornflowerblue\">&nbsp;".gettext("Travaux en cours")."&nbsp;</TH><TH BGCOLOR=\"cornflowerblue\"> &nbsp;".gettext("par d&#233;faut")."&nbsp;</TH></TR>";
 113                          if ($nb_printers_parc == 0) {echo "<TR><td colspan=3><i> ".gettext("Aucune imprimante n'est rattach&#233;e &#224; ce parc")."</i></td></TR>";};
 114                          for ($j=0; $j<$nb_printers_parc; $j++) {
 115                                  $sys= exec("/usr/bin/lpstat -o $printers_parc[$j]");
 116                                  if ($sys != "") $status=gettext("OUI");
 117                                  else $status=gettext("NON");
 118                                  echo "<TR><TD WIDTH=200 BGCOLOR=\"lightsteelblue\"><LI><A href='view_printers.php?one_printer=$printers_parc[$j]'>$printers_parc[$j]</A></LI></TD>";
 119                                  echo "<TD><FONT COLOR=\"cornflowerblue\">$status\n</FONT></TD>";
 120                                 
 121                                  if ($imprim_defaut == $printers_parc[$j]) {
 122                                          echo "<TD><img style=\"border: 0px solid ;\" src=\"../elements/images/enabled.png\" title=\"par defaut\" alt=\"par defaut\" ></TD>";
 123                                  } else {
 124                                          echo "<TD></TD>";
 125                                  }
 126                                 
 127                                  echo "</TR>";
 128                          }
 129                          echo "<TR><TD HEIGHT=30></TD></TR>";
 130                  }
 131                  echo "</TABLE>";
 132  
 133          // par imprimante
 134          } elseif ($view == "v_printers") {
 135                  $all_printers=search_printers("printer-name=*");
 136                  $nb_printers=count($all_printers);
 137                  echo "<H3>".gettext("Classement par imprimante")."</H3>";
 138                  echo "<TABLE BORDER=0>";
 139                  for ($i=0; $i<$nb_printers; $i++) {
 140                          $parc_trouve[$i]=false;          // On considere au prealable qu'une imprimante n'appartient a aucun parc
 141                          $printer_name=$all_printers[$i]['printer-name'];
 142                          $sys= exec("/usr/bin/lpstat -o $printers_parc[$i]");
 143                          if ($sys != "") $status=gettext("OUI");
 144                          else $status=gettext("NON");
 145                          echo "<TR><TD WIDTH=200 BGCOLOR=\"cornflowerblue\"><A href='view_printers.php?one_printer=$printer_name'><font color=\"black\"><B>$printer_name</B></font></A></TD>";
 146                          echo "<TD>".gettext("Travaux en cours")."=$status\n</TD></TR>";
 147                          for ($j=0; $j<$nb_parcs; $j++) {
 148                                  $parc_name=$all_parcs[$j]['cn'];
 149                                  $printers_parc=printers_members($parc_name,"parcs",1);
 150                                  for ($k=0; $k<count($printers_parc);$k++) {
 151                                          if ($printers_parc[$k]==$printer_name) {
 152                                                  echo "<TR><TD WIDTH=200 BGCOLOR=\"lightsteelblue\">$parc_name\n</TD></TR>";
 153                                                  $parc_trouve[$i]=true;      //l'imprimante appartient au moins a un parc
 154                                          }
 155                                  }
 156                          }
 157                          echo "<TR><TD HEIGHT=30></TD></TR>";
 158                  }
 159                  echo "</TABLE>";
 160                  // Affichage des imprimantes qui ne font pas partie d'un parc.
 161                  $all_printers=search_printers("printer-name=*");
 162                  $nb_printers=count($all_printers);
 163                  $n=0;  // on fait l'affichage s'ils existent des imprimantes sans parc
 164                  for ($i=0; $i<$nb_printers; $i++) {
 165                          if ($parc_trouve[$i]==false) { $n = $n+1; }
 166                  }
 167                  if ($n != 0) {
 168                          echo "<BR><BR><HR>";
 169                          echo "<H4><FONT COLOR=\"red\"><BLINK>".gettext("Les imprimantes suivantes n'appartiennent &#224 aucun parc:")."</BLINK></FONT></H4>";
 170                          for ($i=0; $i<$nb_printers; $i++) {
 171                                  if ($parc_trouve[$i]==false) {
 172                                          echo "<FONT COLOR=\"red\">";
 173                                          echo "{$all_printers[$i]['printer-name']}";
 174                                          echo "</FONT>";
 175                                          echo "<BR>";
 176                                  }
 177                          }
 178                  }
 179          }
 180  }
 181  
 182  
 183  include "pdp.inc.php";
 184  ?>


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