* @auteurs Carip-Academie de Lyon * @Licence Distribue selon les termes de la licence GPL * @note */ /** * @Repertoire: printers/ * file: list_printers.php */ // Liste des imprimantes include "entete.inc.php"; include "ldap.inc.php"; include "printers.inc.php"; include "ihm.inc.php"; // pour is_admin() require_once ("lang.inc.php"); bindtextdomain('se3-printers',"/var/www/se3/locale"); textdomain ('se3-printers'); //aide $_SESSION["pageaide"]="Imprimantes"; $view = $_POST['view']; if ((is_admin("printers_is_admin",$login)=="Y") AND ($login != "admin")) { echo "

".gettext(" Liste des imprimantes")."

"; $parc_name=search_parc ($_SERVER['REMOTE_ADDR']); //if ($parc_name!="") { if (isset($parc_name)) { //echo "
".gettext("Votre machine")." (IP = ".($_SERVER['REMOTE_ADDR']).") ".gettext("est dans le parc :")." $parc_name
"; echo "
".gettext("Votre machine")." (IP = ".($_SERVER['REMOTE_ADDR']).") "; if(count($parc_name)==1){ echo gettext("est dans le parc :")." $parc_name[0]
"; } else{ echo gettext("est dans les parcs :")." $parc_name[0]"; for($i=1;$i "; } echo "\n"; echo "
"; for($i=0;$i"; echo "\n"; //$printers_parc=printers_members($parc_name,"parcs",1); $printers_parc=printers_members($parc_name[$i],"parcs",1); $nb_printers_parc=count($printers_parc); for ($j=0; $j<$nb_printers_parc; $j++) { $sys= exec("/usr/bin/lpstat -o $printers_parc[$j]"); if ($sys != "") $status=gettext("OUI"); else $status=gettext("NON"); echo ""; echo "\n"; } echo "\n"; } echo "
$parc_name
$parc_name[$i]
  • $printers_parc[$j]
  • ".gettext("Travaux en cours=")."$status\n
    \n"; } else { echo "
    ".gettext("Votre machine")." (IP = ".($_SERVER['REMOTE_ADDR']).") ".gettext("n'appartient à aucun parc !")."
    \n"; } } elseif ((is_admin("printers_is_admin",$login)=="Y") AND ($login == "admin")) { echo "

    ".gettext(" Liste des imprimantes")."

    "; echo "
    "; if (!isset($view) || ($view=="v_parc")) { echo "".gettext("par parc")."   "; echo "".gettext("par imprimante")."   "; } else { echo "".gettext("par parc")."   "; echo "".gettext("par imprimante")."   "; } echo ""; echo "
    "; //Par parc $all_parcs=$list_parcs=search_machines("objectclass=groupOfNames","parcs"); $nb_parcs=count($all_parcs); if ($view != "v_printers") { echo "

    ".gettext("Classement par parc")."

    "; echo ""; for ($i=0; $i<$nb_parcs; $i++) { $parc_name=$all_parcs[$i]['cn']; // Recherche de l'impra=imante par defaut $imprim_defaut = get_default_printer($parc_name); $printers_parc=printers_members($parc_name,"parcs",1); $nb_printers_parc=count($printers_parc); echo ""; if ($nb_printers_parc == 0) {echo "";}; for ($j=0; $j<$nb_printers_parc; $j++) { $sys= exec("/usr/bin/lpstat -o $printers_parc[$j]"); if ($sys != "") $status=gettext("OUI"); else $status=gettext("NON"); echo ""; echo ""; if ($imprim_defaut == $printers_parc[$j]) { echo ""; } else { echo ""; } echo ""; } echo ""; } echo "
     $parc_name ".gettext("Travaux en cours")."   ".gettext("par défaut")." 
    ".gettext("Aucune imprimante n'est rattachée à ce parc")."
  • $printers_parc[$j]
  • $status\n\"par
    "; // par imprimante } elseif ($view == "v_printers") { $all_printers=search_printers("printer-name=*"); $nb_printers=count($all_printers); echo "

    ".gettext("Classement par imprimante")."

    "; echo ""; for ($i=0; $i<$nb_printers; $i++) { $parc_trouve[$i]=false; // On considere au prealable qu'une imprimante n'appartient a aucun parc $printer_name=$all_printers[$i]['printer-name']; $sys= exec("/usr/bin/lpstat -o $printers_parc[$i]"); if ($sys != "") $status=gettext("OUI"); else $status=gettext("NON"); echo ""; echo ""; for ($j=0; $j<$nb_parcs; $j++) { $parc_name=$all_parcs[$j]['cn']; $printers_parc=printers_members($parc_name,"parcs",1); for ($k=0; $k"; $parc_trouve[$i]=true; //l'imprimante appartient au moins a un parc } } } echo ""; } echo "
    $printer_name".gettext("Travaux en cours")."=$status\n
    $parc_name\n
    "; // Affichage des imprimantes qui ne font pas partie d'un parc. $all_printers=search_printers("printer-name=*"); $nb_printers=count($all_printers); $n=0; // on fait l'affichage s'ils existent des imprimantes sans parc for ($i=0; $i<$nb_printers; $i++) { if ($parc_trouve[$i]==false) { $n = $n+1; } } if ($n != 0) { echo "


    "; echo "

    ".gettext("Les imprimantes suivantes n'appartiennent à aucun parc:")."

    "; for ($i=0; $i<$nb_printers; $i++) { if ($parc_trouve[$i]==false) { echo ""; echo "{$all_printers[$i]['printer-name']}"; echo ""; echo "
    "; } } } } } include "pdp.inc.php"; ?>