pivi_vault_system/actions/approve.php

171 lines
5.6 KiB
PHP

<?php
/**
* This example shows making an SMTP connection with authentication.
*/
//Import the PHPMailer class into the global namespace
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require '../phpmailer/src/Exception.php';
require '../phpmailer/src/PHPMailer.php';
require '../phpmailer/src/SMTP.php';
//SMTP needs accurate times, and the PHP time zone MUST be set
//This should be done in your php.ini, but this is how to do it if you don't have access to that
date_default_timezone_set('Etc/UTC');
//require '../vendor/autoload.php';
//Create a new PHPMailer instance
$mail = new PHPMailer();
//Tell PHPMailer to use SMTP
$mail->isSMTP();
//Enable SMTP debugging
//SMTP::DEBUG_OFF = off (for production use)
//SMTP::DEBUG_CLIENT = client messages
//SMTP::DEBUG_SERVER = client and server messages
$mail->SMTPDebug = SMTP::DEBUG_OFF;
//Set the hostname of the mail server
$mail->Host = 'smtp-mail.outlook.com';
//Set the SMTP port number - likely to be 25, 465 or 587
$mail->Port = 587;
//Whether to use SMTP authentication
$mail->SMTPAuth = true;
//Username to use for SMTP authentication
$mail->Username = 'edms@premiummegastructures.com';
//Password to use for SMTP authentication
$mail->Password = 'oB4n4n4357';
//Set who the message is to be sent from
$mail->setFrom('edms@premiummegastructures.com', 'Vault Management');
//Set an alternative reply-to address
$mail->addReplyTo('edms@premiummegastructures.com', 'Vault Management');
//Set who the message is to be sent to
include '../config.php';
$id = $_GET['id'];
$doc_id = $_GET['doc_id'];
$user_id = $_GET['user_id'];
$role=$_GET['role'];
$rtype =$_GET['type'];
$sql = "SELECT status,type FROM request WHERE id=$id";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$currentStatus = $row['status'];
$reqtype = $rtype;
$newStatus = 0; // Set the default new status
// Determine the new status based on the current status
if ($reqtype == 0 | $reqtype == 1) {
if ($currentStatus == 1) {
$newStatus = 2; // First level of approval
} elseif ($currentStatus == 2) {
$newStatus = 6; // Second level of approval
} elseif ($currentStatus == 6) {
$newStatus = 7; // Third level of approval
}
} elseif ($reqtype == 2 ) {
if ($currentStatus == 1) {
$newStatus = 2; // First level of approval
} elseif ($currentStatus == 2) {
$newStatus = 6; // Second level of approval
} elseif ($currentStatus == 6) {
$newStatus = 7; // Third level of approval
} elseif ($currentStatus == 7) {
$newStatus = 8; // Fourth level of approval for Original Copy request
}
}
// Update the status based on the new status value
$sql = "UPDATE request SET status=$newStatus WHERE id=$id";
$result = $conn->query($sql);
// $sql = "UPDATE request SET status=2 WHERE id=$id";
// $result = $conn->query($sql);
if($result){
echo $reqtype.' / '.$currentStatus.' / '.$newStatus.' / '.$arole2 ;
}
$app = $_GET['app'];
switch ($app){
case '1' :
$sql = "SELECT * FROM vault_users WHERE role=$arole2";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
$user_mail = $row['email'];
$user_name = $row['name'];
$mail->addAddress($user_mail, $user_name);
}
break;
case '2':
$sql = "SELECT * FROM vault_users WHERE role=$arole3";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
$user_mail = $row['email'];
$user_name = $row['name'];
$mail->addAddress($user_mail, $user_name);
}
break;
case '3':
$sql = "SELECT * FROM vault_users WHERE role=$arole4";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
$user_mail = $row['email'];
$user_name = $row['name'];
$mail->addAddress($user_mail, $user_name);
}
break;
case '4':
$sql = "SELECT * FROM vault_users WHERE role=$rrole";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
$user_mail = $row['email'];
$user_name = $row['name'];
$mail->addAddress($user_mail, $user_name);
}
}
// $sql = "SELECT * FROM vault_users WHERE id=$user_id";
// $result = $conn->query($sql);
// $row = $result->fetch_assoc();
// $user_mail = $row['email'];
// $user_name = $row['name'];
// $role = $row['role'];
// $mail->addAddress("$user_mail", "$user_name");
//Set the subject line
$mail->Subject = "Request Approved";
//Read an HTML message body from an external file, convert referenced images to embedded,
//convert HTML into a basic plain-text alternative body
// echo "rtype_content-".$rtype."-rtype_content";
//request copy
$uri = "http://172.17.0.8/templates/approveView.php?user_id=$user_id&doc_id=$doc_id&app=$app";
$mail->msgHTML(file_get_contents("$uri"), __DIR__);
// if ($rtype == 1) {
// $uri = "http://172.17.0.5/templates/approve.php?user_id=$user_id&doc_id=$doc_id";
// $mail->msgHTML(file_get_contents("$uri"), __DIR__);
// }else{
// $uri = "http://172.17.0.5/templates/approveView.php?user_id=$user_id&doc_id=$doc_id&app=$app";
// $mail->msgHTML(file_get_contents("$uri"), __DIR__);
// }
//Replace the plain text body with one created manually
$mail->AltBody = 'This is a plain-text message body';
//Attach an image file
$mail->addAttachment('images/phpmailer_mini.png');
//send the message, check for errors
if (!$mail->send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message sent!';
header("Location: " . $_SERVER["HTTP_REFERER"]);
}