diff --git a/cron/IARMonitor.php b/cron/IARMonitor.php new file mode 100644 index 0000000..a273367 --- /dev/null +++ b/cron/IARMonitor.php @@ -0,0 +1,55 @@ +prepare("CREATE TABLE IF NOT EXISTS `iarstates` (`userID` VARCHAR(36) NOT NULL COLLATE 'utf8_unicode_ci', `filesize` INT(11) NOT NULL, `iarfilename` VARCHAR(64) NOT NULL COLLATE 'utf8_unicode_ci', PRIMARY KEY (`userID`) USING BTREE) COLLATE='utf8_unicode_ci' ENGINE=InnoDB;"); + $statement->execute(); + + $statement = $RUNTIME['PDO']->prepare("SELECT * FROM iarstates"); + $statement->execute(); + + while($row = $statement->fetch()) + { + $email = $RUNTIME['OPENSIM']->getUserMail($row['userID']); + $filesize = filesize("data/".$row['iarfilename']); + + if($filesize != $row['filesize']) + { + $statementUpdate = $RUNTIME['PDO']->prepare('UPDATE iarstates SET filesize = :filesize WHERE userID = :userID'); + $statementUpdate->execute(['filesize' => $filesize, 'userID' => $row['userID']]); + + continue; + }else{ + + $statementUpdate = $RUNTIME['PDO']->prepare('DELETE FROM iarstates WHERE userID = :userID'); + $statementUpdate->execute(['userID' => $row['userID']]); + + $mail = new PHPMailer(true); + + $mail->SMTPDebug = SMTP::DEBUG_SERVER; + $mail->isSMTP(); + $mail->Host = $RUNTIME['SMTP']['SERVER']; + $mail->Port = $RUNTIME['SMTP']['PORT']; + $mail->SMTPAuth = false; + + + $mail->setFrom($RUNTIME['SMTP']['ADRESS'], $RUNTIME['GRID']['NAME']); + $mail->addAddress($email, $RUNTIME['OPENSIM']->getUserName($row['userID'])); + + $HTMLMESSAGE = 'Deine IAR ist bereit zum Download!
Du kannst sie hier downloaden.'; + + $HTML = new HTML(); + $HTML->importHTML("style/mail.html"); + $HTML->setSeitenInhalt($HTMLMESSAGE); + $HTML->build(); + + $mail->isHTML(true); + $mail->Subject = "Deine IAR steht nun bereit."; + $mail->Body = $HTML->ausgabe(); + $mail->AltBody = strip_tags($HTMLMESSAGE); + + $mail->send(); + $mail->SmtpClose(); + } + } + + +?> \ No newline at end of file diff --git a/pages/profile.php b/pages/profile.php index 4633895..a415b62 100644 --- a/pages/profile.php +++ b/pages/profile.php @@ -19,21 +19,23 @@ if(isset($_REQUEST['createIAR'])) { - - $iarname = md5(time().$_SESSION['UUID'] . rand()).".iar"; - - $APIURL = $RUNTIME['SIDOMAN']['URL']."api.php?CONTAINER=".$RUNTIME['SIDOMAN']['CONTAINER']."&KEY=".$RUNTIME['SIDOMAN']['PASSWORD']."&METODE=COMMAND&COMMAND=".urlencode("save iar ".$_SESSION['FIRSTNAME']." ".$_SESSION['LASTNAME']." /* PASSWORD /downloads/".$iarname); - $APIResult = file_get_contents($APIURL); - - if(trim($APIResult) == "DONE") + if($IARRUNNING == FALSE) { - $HTML->ReplaceSeitenInhalt("%%IARINFOMESSAGE%%", ''); - - $statementIARSTART = $RUNTIME['PDO']->prepare('INSERT INTO iarstates (userID, filesize, iarfilename) VALUES (:userID, :filesize, :iarfilename)'); - $statementIARSTART->execute(['userID' => $_SESSION['UUID'], 'filesize' => 0, 'iarfilename' => $iarname]); - }else{ - $HTML->ReplaceSeitenInhalt("%%IARINFOMESSAGE%%", ''); + $iarname = md5(time().$_SESSION['UUID'] . rand()).".iar"; + $APIURL = $RUNTIME['SIDOMAN']['URL']."api.php?CONTAINER=".$RUNTIME['SIDOMAN']['CONTAINER']."&KEY=".$RUNTIME['SIDOMAN']['PASSWORD']."&METODE=COMMAND&COMMAND=".urlencode("save iar ".$_SESSION['FIRSTNAME']." ".$_SESSION['LASTNAME']." /* PASSWORD /downloads/".$iarname); + $APIResult = file_get_contents($APIURL); + + if(trim($APIResult) == "DONE") + { + $HTML->ReplaceSeitenInhalt("%%IARINFOMESSAGE%%", ''); + + $statementIARSTART = $RUNTIME['PDO']->prepare('INSERT INTO iarstates (userID, filesize, iarfilename) VALUES (:userID, :filesize, :iarfilename)'); + $statementIARSTART->execute(['userID' => $_SESSION['UUID'], 'filesize' => 0, 'iarfilename' => $iarname]); + }else{ + $HTML->ReplaceSeitenInhalt("%%IARINFOMESSAGE%%", ''); + + } } }