close(); //load apikey etc $url=""; $apikey=""; $sql="select printer_url,apikey from printer where id=$printer_id"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $url,$apikey); mysqli_stmt_fetch($stmt); $stmt->close(); //connect to the printer exec("curl --max-time 10 $url/api/job?apikey=$apikey > /var/www/html/user_files/$username/finish.json"); $fg=file_get_contents("/var/www/html/user_files/$username/finish.json"); $json=json_decode($fg,true); $userid=$_SESSION["id"]; if(isset($json['job']['filament']['tool0']['volume'])){ $filament_usage=intval($json['job']['filament']['tool0']['volume']); $sql="UPDATE users SET filament_usage = COALESCE(filament_usage,0) + $filament_usage WHERE id = $cnt"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); } } if(isset($_GET['remove_queue'])&&$_GET["rid"]==($_SESSION["rid"]-1)) { $id=htmlspecialchars($_GET['remove_queue']); $sql="delete from queue where id=$id"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); } if(isset($_GET['cancel'])&&$_GET["rid"]==($_SESSION["rid"]-1)) { $apikey=""; $printer_url=""; $printer_id=htmlspecialchars($_GET['cancel']); $sql="select used_by_userid,apikey,printer_url from printer where id=$printer_id"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $cnt,$apikey,$printer_url); mysqli_stmt_fetch($stmt); exec("curl -k -H \"X-Api-Key: $apikey\" -H \"Content-Type: application/json\" --data '{\"command\":\"cancel\"}' \"$printer_url/api/job\" > /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); } } if(isset($_GET["set_class"]) && isset($_POST["class"])){ $class_id=htmlspecialchars($_POST["class"]); $sql="update users set class_id=$class_id where username='$username'"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); $stmt->close(); $sql="select name from class where id=$class_id"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_execute($stmt); $class_name=""; mysqli_stmt_bind_result($stmt, $class_name); $stmt->close(); $_SESSION["class"]=$class_name; $_SESSION["class_id"]=$class_id; } ?>

Warteschlange

"; while ($cnt > 0) { $sql = "SELECT q.id, q.filepath, q.from_userid, q.print_on, u.username FROM queue q JOIN users u ON q.from_userid = u.id WHERE q.id > ? ORDER BY q.id LIMIT 1"; $stmt = mysqli_prepare($link, $sql); mysqli_stmt_bind_param($stmt, "i", $last_id); mysqli_stmt_execute($stmt); mysqli_stmt_bind_result($stmt, $queue_id, $filepath, $from_userid, $print_on, $from_user); mysqli_stmt_fetch($stmt); mysqli_stmt_close($stmt); if (!$queue_id) break; // Exit if no more entries $filepath = basename($filepath); $last_id = $queue_id; echo ""; if ($_SESSION["role"][3] === "1" || $_SESSION["id"] == $from_userid) { echo ""; } echo ""; $cnt--; } echo "
Datei Drucken auf Drucker Auftrag von Aus der Warteschlange entfernen
{$filepath} " . ($print_on == -1 ? "Erster verfügbarer Drucker" : htmlspecialchars($print_on)) . " {$from_user}
"; ?> "); echo("var modal = document.getElementById('select_class');"); echo("modal.classList.add('show');"); echo("modal.style.display = 'block';"); echo("modal.removeAttribute('aria-hidden');"); echo("document.body.classList.add('modal-open');"); echo(""); } ?>