Liste des imprimantes\n"); printf ("
\n"); printf (""); printf ("Rafraichir la liste des documents

\n"); printf ("


\n"); printf ("
\n"); printf ("Imprimante $printer
\n"); printf ("Liste des documents à imprimer

\n"); $f = popen ("/bin/ls -tr /var/print/$printer","r"); if ($f){ printf ("\n"); printf ("
DocumentCommandesDate\n"); while (1){ $s=fgets($f,200); $s = trim($s); if ($s == "") break; printf ("
%s",$s); printf ("Imprime\n" ,$printer,urlencode($s)); printf ("Voir\n" ,$printer,urlencode($s)); printf ("Efface\n" ,$printer,urlencode($s)); $mtime = filemtime ("/var/print/$printer/$s"); printf ("%s\n",strftime("%Y/%m/%d %H:%M:%S",$mtime)); } printf ("
\n"); pclose ($f); }else{ printf ("Aucun document\n"); } printf ("

\n"); } function entete(){ global $entete_done; $entete_done = 1; printf ("\n"); printf ("\n"); printf ("Gestion d'imprimantes\n"); printf ("\n"); printf ("\n"); printf ("

Gestion d'imprimantes

\n"); printf ("

\n"); } function endbody(){ global $entete_done; if($entete_done == 1){ printf ("\n"); printf ("\n"); } } function valid_user ($uid,$pass){ $ret = false; if (valid_input($uid,"Code usager invalide") && valid_input($pass,"Mot de passe invalide")){ $f = popen ("/usr/sbin/livre_check_pass" . " $uid $pass --adminprint","r"); if ($f){ $s=fgets($f,100); $s = trim($s); if ($s != ""){ $ret = $s; } pclose ($f); } } return $ret; } function getpapersize ($fichier){ $ret = "reel"; if (0){ $ret = "letter"; $f = fopen ($fichier,"r"); if ($f){ while ($line=fgets($f,1000)){ $pt = strstr($line,"*PageSize"); if ($pt){ $ret = trim(substr($pt,10)); $ret = strtolower($ret); break; } } fclose ($f); } } return $ret; } if (!isset($PHP_AUTH_USER)) { Header("WWW-Authenticate: Basic realm=\"gestion imprimante\""); Header("HTTP/1.0 401 Unauthorized"); echo "A la prochaine\n"; exit; }else if (!valid_user($PHP_AUTH_USER,$PHP_AUTH_PW)){ Header("WWW-Authenticate: Basic realm=\"gestion imprimante\""); Header("HTTP/1.0 401 Unauthorized"); echo "A la prochaine\n"; exit; } ?> \n"); $f = popen ("ls /var/print","r"); if ($f){ while (1){ $s=fgets($f,200); $s = trim($s); if ($s == "") break; printf ("%s
\n" ,$s,$s); } pclose ($f); }else{ printf ("Aucune imprimante défini\n"); } }else if ($job==""){ entete(); showdoc($printer); }else if ($cmd=="view"){ header("Content-type: application/postscript"); $fichier="/var/print/$printer/$job"; $f = fopen ($fichier,"r"); if ($f){ while ($s=fgets($f,1000)){ printf ("%s",$s); } fclose ($f); } }else if ($cmd == "print" || $cmd == "del"){ entete(); $fichier="/var/print/$printer/$job"; if (file_exists ($fichier)){ if ($cmd == "print"){ $type = getpapersize($fichier); $cmd = "/usr/bin/lpr -P " . $printer . "-" . $type . " \"" . $fichier . "\""; //printf ("cmd :%s:\n",$cmd); system ($cmd); printf ("Document imprimé: %s
",$fichier); printf ("Imprimante : %s-%s",$printer,$type); printf ("

"); } system ("/usr/sbin/livre_check_pass $uid $pass" . " --removejob \"$printer/$job\""); // printf ("Commande :%s:
\n",$cmd); showdoc ($printer); } } endbody(); ?>