load_user()"; ?> =$firstCharsCount+$lastCharsCount+3){ $firstChars = substr($filePath, 0, $firstCharsCount); // Get the last few characters of the path $lastChars = substr($filePath, -$lastCharsCount); // Return the shortened path return $firstChars . "..." . $lastChars; } else{ return $filePath; } } $color=$_SESSION["color"]; include "../assets/components.php"; if(!isset($_SESSION["rid"])) $_SESSION["rid"]=0; $_SESSION["rid"]++; ?> Alle Drucker
/var/www/html/user_files/$username/json.json"); $fg=file_get_contents("/var/www/html/user_files/$username/json.json"); $json=json_decode($fg,true); if($json["error"]!="") { echo(""); } else { $sql="update printer set cancel=1 where id=$printer_id"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); } } $cnt=0; $url=""; $apikey=""; if(isset($_GET["private"])) $sql="select count(*) from printer where used_by_userid=".$_SESSION["id"]; else $sql="select count(*) from printer"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $cnt); mysqli_stmt_fetch($stmt); //echo($cnt); $is_free=0; echo("
"); echo("
"); echo("
"); if(isset($_GET["private"])) echo("
Alle Drucker anzeigen"); else echo("
Nur eigene Aufträge anzeigen"); echo("
"); $last_id=0; $system_status=0; $rotation=0; while($cnt!=0) { $userid=0; if(isset($_GET["private"])) $sql="select rotation,free,id,printer_url,apikey,cancel,used_by_userid,system_status,color from printer where id>$last_id and used_by_userid=".$_SESSION["id"]." ORDER BY id"; else $sql="select rotation,free,id,printer_url,apikey,cancel,used_by_userid,system_status,color from printer where id>$last_id ORDER BY id"; $cancel=0; $filament_color=""; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $rotation,$is_free,$printer_id,$url,$apikey,$cancel,$userid,$system_status,$filament_color); mysqli_stmt_fetch($stmt); $last_id=$printer_id; $filament_color=intval($filament_color); //get the real color $sql="select name from filament where internal_id=$filament_color"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt,$filament_color); mysqli_stmt_fetch($stmt); if($is_free==0){ //printer is printing exec("curl --max-time 10 $url/api/job?apikey=$apikey > /var/www/html/user_files/$username/json.json"); $fg=file_get_contents("/var/www/html/user_files/$username/json.json"); $json=json_decode($fg,true); $used_by_user=""; $sql="select username from users where id=$userid"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $used_by_user); mysqli_stmt_fetch($stmt); $username2=explode("@",$used_by_user); $progress=(int) $json['progress']['completion']; if($progress<0) $progress=-$progress; $file=$json['job']['file']['name']; if($progress==100){ $print_time=seconds_to_time(intval($json["progress"]["printTime"])); $print_time_left=seconds_to_time(intval($json["progress"]["printTimeLeft"])); $print_time_total=seconds_to_time(intval($json["job"]["estimatedPrintTime"])); echo("
"); echo("
"); echo("
Drucker $printer_id
"); echo("
"); echo("
"); echo(""); echo("
"); echo("
$progress%
"); echo("
"); echo(""); echo(""); echo(""); echo(""); if(!empty($filament_color) && $filament_color!=NULL) echo(""); echo(""); echo(""); echo(""); echo(""); echo(""); if($userid==$_SESSION["id"] or $role[3]==="1"){ echo(""); } echo(""); echo("
StatusFertig
Genutzt von".$username2[0]."
Filamentfarbe$filament_color
Erwartete Druckzeit$print_time_total
Verbleibende Druckzeit$print_time_left
Vergangene Druckzeit$print_time
Datei
".short_path($json["job"]["file"]["name"],10,10)."
".$json["job"]["file"]["name"]."
Freigeben
"); echo("
"); echo("
"); } else if($cancel==1){ $print_time=seconds_to_time(intval($json["progress"]["printTime"])); $print_time_left=seconds_to_time(intval($json["progress"]["printTimeLeft"])); $print_time_total=seconds_to_time(intval($json["job"]["estimatedPrintTime"])); echo("
"); echo("
"); echo("
Drucker $printer_id
"); echo("
"); echo("
"); echo(""); echo("
"); echo("
$progress%
"); echo("
"); echo(""); echo(""); echo(""); echo(""); if(!empty($filament_color) && $filament_color!=NULL) echo(""); echo(""); echo(""); echo(""); echo(""); if($userid==$_SESSION["id"] or $role[3]=="1"){ echo(""); } echo(""); echo("
StatusDruck Abgebrochen
Genutzt von".$username2[0]."
Filamentfarbe$filament_color
Erwartete Druckzeit$print_time_total
Verbleibende Druckzeit$print_time_left
Vergangene Druckzeit$print_time
Datei
".short_path($json["job"]["file"]["name"],10,10)."
".$json["job"]["file"]["name"]."
Freigeben
"); echo("
"); echo("
"); } else{ $print_time=seconds_to_time(intval($json["progress"]["printTime"])); $print_time_left=seconds_to_time(intval($json["progress"]["printTimeLeft"])); $print_time_total=seconds_to_time(intval($json["job"]["estimatedPrintTime"])); echo("
"); echo("
"); echo("
Drucker $printer_id
"); echo("
"); echo("
"); echo(""); echo("
"); echo("
$progress%
"); echo("
"); echo(""); echo(""); echo(""); echo(""); if(!empty($filament_color) && $filament_color!=NULL) echo(""); echo(""); echo(""); echo(""); echo(""); if($userid==$_SESSION["id"] or $role[3]==="1"){ echo(""); } echo(""); echo("
StatusDrucken
Genutzt von".$username2[0]."
Filamentfarbe$filament_color
Erwartete Druckzeit$print_time_total
Verbleibende Druckzeit$print_time_left
Vergangene Druckzeit$print_time
Datei
".short_path($json["job"]["file"]["name"],10,10)."
".$json["job"]["file"]["name"]."
Abbrechen
"); echo("
"); echo("
"); } }else{ //printer is free echo("
"); echo("
"); echo("
Drucker $printer_id
"); echo("
"); echo("
"); echo(""); echo(""); echo(""); echo(""); if(!empty($filament_color) && $filament_color!=NULL) echo(""); echo(""); echo(""); echo("
StatusBereit
Filamentfarbe$filament_color
Drucken
"); echo("
"); echo("
"); } $cnt--; } echo("
"); ?>

Warteschlange

"); $last_id=0; $form_userid=0; $print_on=0; while($cnt!=0) { $sql="select id,filepath,from_userid,print_on from queue where id>$last_id order by id"; $cancel=0; $stmt = mysqli_prepare($link, $sql); echo mysqli_error($link); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $queue_id,$filepath,$from_userid,$print_on); mysqli_stmt_fetch($stmt); $filepath=basename($filepath); $last_id=$queue_id; echo(""); if($print_on==-1) echo(""); else echo(""); if($_SESSION["role"][3]==="1" or $_SESSION["id"]==$from_userid) echo(""); $cnt--; } echo("
DateiDrucken auf Druckeraus der Warteschlange entfernen
$filepathErster verfügbarer Drucker$print_on
"); ?>