Liste des imprimantes\n");
printf ("
\n");
printf ("");
printf ("Rafraichir la liste des documents
\n"); printf ("
\n"); $f = popen ("/bin/ls -tr /var/print/$printer","r"); if ($f){ printf ("
Document | Commandes | Date\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");
}
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();
?>