75 or $ex_temp>225){
return 0;
}else{
return 1;
}
}
function is_time_between($startTime, $endTime, $checkTime) {
// Convert times to timestamps
$startTimestamp = strtotime($startTime);
$endTimestamp = strtotime($endTime);
$checkTimestamp = strtotime($checkTime);
// If end time is less than start time, it means the range crosses midnight
if ($endTimestamp < $startTimestamp) {
// Check if the time is between start time and midnight or between midnight and end time
return ($checkTimestamp >= $startTimestamp || $checkTimestamp <= $endTimestamp);
} else {
// Normal case: check if the time is between start and end time
return ($checkTimestamp >= $startTimestamp && $checkTimestamp <= $endTimestamp);
}
}
?>
load_user()";
test_queue($link);
?>
");?>
");
sys0_log("Could not upload file for ".$_SESSION["username"]." because of unknown file extension",$_SESSION["username"],"PRINT::UPLOAD::FILE::FAILED");//notes,username,type
}
else
{
//check if print key is valid:
$print_key=htmlspecialchars($_POST["print_key"]);
$sql="SELECT id from print_key where print_key='$print_key'";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
//if(mysqli_stmt_num_rows($stmt) == 1){ turned off because user does not need to have a printer key
if(true){
mysqli_stmt_close($stmt);
if(move_uploaded_file($_FILES['file_upload']['tmp_name'], $path)) {
echo("
Erfolg! Die Datei ". basename( $_FILES['file_upload']['name']). " wurde hochgeladen.
");
echo("
Datei wird an den 3D-Drucker gesendet...
");
if(check_file($path) or isset($_POST["ignore_unsafe"])){
exec('curl -k -H "X-Api-Key: '.$apikey.'" -F "select=true" -F "print=true" -F "file=@'.$path.'" "'.$printer_url.'/api/files/local" > /var/www/html/user_files/'.$username.'/json.json');
//file is on printer and ready to be printed
$userid=$_SESSION["id"];
echo("
Datei gesendet und Auftrag wurde gestartet.
");
sys0_log("user ".$_SESSION["username"]." uploaded ".basename($path)." to printer ".$_POST["printer"]."",$_SESSION["username"],"PRINT::UPLOAD::PRINTER");//notes,username,type
$fg=file_get_contents("/var/www/html/user_files/$username/json.json");
$json=json_decode($fg,true);
if($json['effectivePrint']==false or $json["effectiveSelect"]==false)
{
echo("
Ein Fehler ist aufgetreten und der Vorgang konnte nicht gestartet werden. Warte einen Moment und versuche es dann erneut.
");
sys0_log("Could not start job for ".$_SESSION["username"]."with file ".basename($path)."",$_SESSION["username"],"PRINT::JOB::START::FAILED");//notes,username,type
}
else
{
$sql="update printer set free=0, printing=1,mail_sent=0, used_by_userid=$userid where id=$printer_id";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_execute($stmt);
//delete printer key:
$sql="DELETE from print_key where print_key='$print_key'";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
}
}else{
$warning=true;
echo("
Achtung, deine Bett oder Extruder Temperatur ist sehr hoch eingestellt. Dies wird zur zerstörung des Druckes und somit zu Müll führen. Bitte setze diese Temperaturen tiefer in den Einstellungen deines Slicers.
");
}
}
else
{
echo("
Ein Fehler beim Uploaden der Datei ist aufgetreten! Versuche es erneut!
");
}
}
else{
echo("
Der Druckschlüssel ist nicht gültig. Evtl. wurde er bereits benutzt. Versuche es erneut!
");
}
}
unset($_FILES['file']);
}
if(isset($_GET["cloudprint"])){
if(!isset($_GET["pc"]))
$path = "/var/www/html/user_files/$username/".$_GET["cloudprint"];
else
$path = "/var/www/html/user_files/public/".$_GET["cloudprint"];
//check if print key is valid:
$print_key=htmlspecialchars($_POST["print_key"]);
$sql="SELECT id from print_key where print_key='$print_key'";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
//if(mysqli_stmt_num_rows($stmt) == 1){ turned off because user does not need to have a printer key
if(true){
mysqli_stmt_close($stmt);
echo("
Datei wird an den 3D-Drucker gesendet...
");
if(check_file($path) or isset($_POST["ignore_unsafe"])){
exec('curl -k -H "X-Api-Key: '.$apikey.'" -F "select=true" -F "print=true" -F "file=@'.$path.'" "'.$printer_url.'/api/files/local" > /var/www/html/user_files/'.$username.'/json.json');
//file is on printer and ready to be printed
$userid=$_SESSION["id"];
echo("
");
//var_dump($json);
if($json['effectivePrint']==false or $json["effectiveSelect"]==false)
{
echo("
Ein Fehler ist aufgetreten und der Vorgang konnte nicht gestartet werden. Warte einen Moment und versuche es dann erneut.
");
sys0_log("Could not start job for ".$_SESSION["username"]."with file ".basename($path)."",$_SESSION["username"],"PRINT::JOB::START::FAILED");//notes,username,type
}
else
{
$sql="update printer set free=0, printing=1,mail_sent=0, used_by_userid=$userid where id=$printer_id";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_execute($stmt);
//delete printer key:
$sql="DELETE from print_key where print_key='$print_key'";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
}
}else{
$warning=true;
echo("
Achtung, deinen Bett oder Extruder Temperatur ist sehr hoch eingestellt. Dies wird zur zerstörung des Druckes und somit zu Müll führen. Bitte setze diese Temperaturen tiefer in den Einstellungen deines Slicers.
");
}
}
else{
echo("
Der Druckschlüssel ist nicht gültig. Evtl. wurde er bereits benutzt. Versuche es erneut!
");
}
}
}
}
?>
Datei drucken
prepare($sql);
$stmt->execute();
$result = $stmt->get_result();
//$row = $result->fetch_assoc();
$time_now=date("H:i");
while ($row = $result->fetch_assoc()) {
if (is_time_between($row["time_from"], $row["time_to"], $time_now)) {
$reservation_conflict = true;
break;
}
}
if ($reservation_conflict) {
echo "
Die Drucker sind zurzeit reserviert! Bitte drucke nur, wenn du gerade im Informatik Unterricht bist!