Embed command log on a toggleable element

This commit is contained in:
2015-06-26 20:26:48 +02:00
parent a99569b1be
commit 2af167270e
3 changed files with 65 additions and 18 deletions

View File

@@ -18,15 +18,20 @@ function ExecCommand($command){
return $stdout;
}
function ShowCommandLog(){
function RenderCommandLog(){
global $Commands;
$renderLog="";
foreach($Commands as $loggedCommand){
echo RenderParagraph($loggedCommand["Command"],"font-weight: bold;");
echo RenderParagraph($loggedCommand["Result"]);
echo RenderParagraph($loggedCommand["Error"],"color: red;");
$renderLog.=RenderParagraph($loggedCommand["Command"],"font-weight: bold;");
$renderLog.=RenderParagraph($loggedCommand["Result"]);
$renderLog.=RenderParagraph($loggedCommand["Error"],"color: red;");
}
}
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;")
);
}
function Scan($device,$resolution,$format,$size,$destFileBase){
global $PreviewDir;
@@ -165,5 +170,6 @@ if($DestFile!=null){
}
echo "</form>\n";
ShowCommandLog();
echo RenderCommandLog();

View File

@@ -78,11 +78,17 @@ function RenderCombo($id,$options,$selected){
return $render;
}
function RenderButton($id,$value){
function RenderButton($id,$value,$onClick=""){
$idFixed=htmlentities($id,ENT_HTML5, "UTF-8");
$valueFixed=htmlentities($value,ENT_HTML5, "UTF-8");
return '<input type="submit" value="'.$valueFixed.'" '.
'id="'.$idFixed.'" name="'.$idFixed.'" class="button" />';
$render='<input type="submit" value="'.$valueFixed.'" '.
'id="'.$idFixed.'" name="'.$idFixed.'" class="button"';
if($onClick!=""){
$onClickFixed=htmlentities($onClick,ENT_HTML5, "UTF-8");
$render.=' onclick="'.$onClickFixed.'"';
}
$render.='/>'."\n";
return $render;
}
function RenderFieldInfo($text,$info){
@@ -125,10 +131,10 @@ function RenderFieldCombo($text,$idCombo,$options,$selected){
return $render;
}
function RenderFieldButton($text,$idButton,$value){
function RenderFieldButton($text,$idButton,$value,$onClick=""){
$render='<div class="field">'."\n";
$render.=RenderLabel($text);
$render.=RenderButton($idButton,$value);
$render.=RenderButton($idButton,$value,$onClick);
$render.='</div>'."\n";
return $render;
}
@@ -136,12 +142,27 @@ function RenderFieldButton($text,$idButton,$value){
function RenderParagraph($text,$style=null){
if($text==null || $text==""){ return ""; }
$textFixed=htmlentities($text,ENT_HTML5, "UTF-8");
if($style==null){
return "<p>".$textFixed."</p>\n";
}else{
return "<p style=\"".$style."\">".$textFixed."</p>\n";
$textLines=explode("\n",$text);
$render="";
foreach ($textLines as $line) {
$textFixed=htmlentities($line,ENT_HTML5, "UTF-8");
if($style==null){
$render.="<p>".$textFixed."</p>\n";
}else{
$render.="<p style=\"".$style."\">".$textFixed."</p>\n";
}
}
return $render;
}
function RenderDiv($idDiv,$innerHTML,$style=null){
$idFixed=htmlentities($idDiv,ENT_HTML5, "UTF-8");
if($style==null){
$render='<div id="'.$idFixed.'" >';
}else{
$render='<div id="'.$idFixed.'" style="'.$style.'">';
}
$render.=$innerHTML;
$render.='<div/>'."\n";
return $render;
}

View File

@@ -65,3 +65,23 @@ h1:first-child{
max-width:200px;
max-height:200px;
}
#divConsoleContainer{
margin:5px;
}
#divConsoleContainer .button{
padding:2px;
}
#divConsole{
color: grey;
background-color: black;
font-family: Monospace;
padding: 5px;
height:250px;
overflow: auto;
}
#divConsole p{
color: grey;
background-color: black;
font-family: Monospace;
}