diff --git a/code/scans.php b/code/scans.php index 1639285..4787fbd 100644 --- a/code/scans.php +++ b/code/scans.php @@ -22,17 +22,32 @@ function RenderCommandLog(){ global $Commands; $renderLog=""; foreach($Commands as $loggedCommand){ - $renderLog.=RenderParagraph($loggedCommand["Command"],"font-weight: bold;"); + $renderLog.=RenderParagraph($loggedCommand["Command"],"command"); $renderLog.=RenderParagraph($loggedCommand["Result"]); - $renderLog.=RenderParagraph($loggedCommand["Error"],"color: red;"); + $renderLog.=RenderParagraph($loggedCommand["Error"],"error"); } return RenderDiv("divConsoleContainer", RenderButton("btnToggle","Log","var elem=document.getElementById('divConsole');if(elem.style.display==''){elem.style.display='none';}else{elem.style.display='';}return false;"). - RenderDiv("divConsole",$renderLog,"display:none;") + RenderDiv("divConsole",$renderLog,null,"display:none;") ); } + +function ScannerDetect(){ + global $ScanImage; + $Command=$ScanImage." -f\"%d|%v %m%n\""; + $scansResults=ExecCommand($Command); + $devicesResults=explode("\n",$scansResults); + list($ScannerDevice,$ScannerModel)=explode("|",$devicesResults[0]); + + $Scanner=array(); + $Scanner["ScanDevice"]=$ScannerDevice; + $Scanner["ScanModel"]=$ScannerModel; + + return $Scanner; +} + function Scan($device,$resolution,$format,$size,$destFileBase){ global $PreviewDir; global $ScanImage; @@ -121,15 +136,14 @@ function CropImage($file){ } + // Detect scanner -$CMD=$ScanImage." --list-devices | grep device"; -$SaneScanner = ExecCommand($CMD); -unset($cmd); -$start=strpos($SaneScanner,"`")+1; -$laenge=strpos($SaneScanner,"'")-$start; -$Scanner = "\"".substr($SaneScanner,$start,$laenge)."\""; -unset($start); -unset($laenge); +$Scanner=array(); +$Scanner["ScanDevice"]=RequestParm("hidScanDevice",""); +$Scanner["ScanModel"]=RequestParm("hidScanDevice",""); +if($Scanner["ScanDevice"]=="" || $Scanner["ScanModel"]==""){ + $Scanner=ScannerDetect(); +} // Configure with formdata @@ -144,7 +158,7 @@ $DestFile=null; if(RequestParm("btnScan",false)){ CleanUp(); $baseName="Scan-".date("Y-m-d_H_i_s"); - $DestFile=Scan($Scanner,$Resolution,$Format,$Size,$baseName); + $DestFile=Scan($Scanner["ScanDevice"],$Resolution,$Format,$Size,$baseName); if($Crop){ CropImage($DestFile); } @@ -152,24 +166,30 @@ if(RequestParm("btnScan",false)){ } -echo '
\n"; +if($DestFile!=null){ + $DestFilenane=pathinfo($DestFile)["basename"]; + $DestFileFixed=htmlentities($DestFilenane,ENT_HTML5, "UTF-8"); + $DestPathFixed=htmlentities($DestFile,ENT_HTML5, "UTF-8"); + echo ''."\n"; + echo ''; +} echo RenderCommandLog(); +echo "\n"; + + diff --git a/code/ui.php b/code/ui.php index 178f2d4..a8dc5ec 100644 --- a/code/ui.php +++ b/code/ui.php @@ -140,29 +140,47 @@ function RenderFieldButton($text,$idButton,$value,$onClick=""){ } -function RenderParagraph($text,$style=null){ +function RenderParagraph($text,$class=null){ if($text==null || $text==""){ return ""; } $textLines=explode("\n",$text); $render=""; foreach ($textLines as $line) { $textFixed=htmlentities($line,ENT_HTML5, "UTF-8"); - if($style==null){ + if($class==null){ $render.="".$textFixed."
\n"; }else{ - $render.="".$textFixed."
\n"; + $render.="".$textFixed."
\n"; } } return $render; } -function RenderDiv($idDiv,$innerHTML,$style=null){ +function RenderDiv($idDiv,$innerHTML,$class=null,$style=null){ $idFixed=htmlentities($idDiv,ENT_HTML5, "UTF-8"); - if($style==null){ - $render='