<?php

require_once "vendor/autoload.php";

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;

// Create a new PHPMailer instance
$mail = new PHPMailer(true);

$directory = 'upload/'.$UUID."/";

// Get all files in the directory
$files = scandir($directory);

try {
    $fileLength = count($files);

    //Server settings
    $mail->isSMTP();
    $mail->Host = 'smtp.office365.com'; // SMTP Server ändern
    $mail->SMTPAuth = true;
    $mail->Username = "fotobox@softgewerk.de"; // Benutzername von POST
    $mail->Password = "Xot00006"; // Passwort von POST
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port = 587;

    // Empfänger
    $mail->setFrom('fotobox@softgewerk.de', 'Mailer'); // Absender ändern

    $mail->CharSet = 'UTF-8';
    //Recipients
    $mail->addAddress($archiv);    

    // Content
    $mail->isHTML(true);
    $mail->Subject = $betreff;
    $mail->Body    = 'Gesendet von: '.$name;
    $mail->addCustomHeader("From",$name." <fotobox@softgewerk.de>");
    $mail->addCustomHeader("Reply-To", "do-not-reply@softgewerk.de");
    $filesize = 0;
    $counter = 0;
	$filename = "filesize2.txt";
	//$fileText = fopen($filename, 'a');
	$text = "Text________________________________________________\n";
     // Attachments
    foreach ($files as $index => $file) {
        if ($file != '.' && $file != '..') {
		$text .= filesize($directory.$file)."\n";
		$filesize = intval($filesize)+ intval(filesize($directory.$file));
                        $text .="Potsize: ". $filesize."\n";
                        $text .="Bigger? ".(10*1024*1024)."\n";

		if ($filesize <= 10*1024*1024) {
                	//$filesize .= filesize($directory.$file);
			$mail->addAttachment($directory.$file);
			$counter++;
			//$text .="Potsize: ". $filePotSize."\n";
			//$text .="Bigger? ".(10*1024*1024)."\n";
		} else {
			$counter = 0;
			$filesize = 0;
                	$mail->send();
                	$mail->clearAttachments();
                        $filesize = intval($filesize)+ intval(filesize($directory.$file));
                        $mail->addAttachment($directory.$file);
                        $counter++;
			
                        //$text .= $filesize."\n";

		}
        }
	if ($index+1 == $fileLength) {
		$mail->send();
	} else if (($counter)%10 == 0 && $counter != 0) {
		$mail->send();
		$mail->clearAttachments();
	} 
    }
	//fwrite($fileText, $text);
 //ufclose($file);
    //$mail->send();
    if (deleteFolder($directory)) {
    echo "OK";
} else {
    echo "Error";
}

} catch (Exception $e) {
	if (deleteFolder($directory)) {
    		echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}, ".$e;
	} else {
    		echo "Files could not be deleted. Message could not be sent. Mailer Error: {$mail->ErrorInfo}, ".$e;
	}
}


function deleteFolder($folderPath) {
    // Check if folder exists
    if (!is_dir($folderPath)) {
        return false;
    }

    // Get list of files and subdirectories in the folder
    $files = glob($folderPath . '/*');

    // Loop through each file or subdirectory
    foreach ($files as $file) {
        // If it's a directory, recursively delete it
        if (is_dir($file)) {
            deleteFolder($file);
        } else {
            // If it's a file, delete it
            unlink($file);
        }
    }

    // After deleting all files and subdirectories,
    // remove the folder itself
    return rmdir($folderPath);
}
