192 lines
5.6 KiB
PHP
192 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;
|
||
|
|
||
|
if(PHP_SAPI=="cli"){
|
||
|
require 'phpmailer/src/Exception.php';
|
||
|
require 'phpmailer/src/PHPMailer.php';
|
||
|
require 'phpmailer/src/SMTP.php';
|
||
|
}else{
|
||
|
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
|
||
|
if(PHP_SAPI=="cli"){
|
||
|
include 'config.php';
|
||
|
}else{
|
||
|
include '../config.php';
|
||
|
}
|
||
|
|
||
|
// $sql = "SELECT * FROM `request` ORDER BY id DESC LIMIT 1";
|
||
|
$sql = "SELECT request.id,request.type, request.reason,request.document,
|
||
|
request.user_id,request.name,request.date, type.name as doc_type,
|
||
|
documents.number, documents.description,documents.company
|
||
|
FROM `request` LEFT JOIN documents on documents.id = request.document
|
||
|
LEFT JOIN type on type.id = documents.type ORDER BY id desc limit 1";
|
||
|
$result = $conn->query($sql);
|
||
|
$row = $result->fetch_assoc();
|
||
|
$id = $row['id'];
|
||
|
//$rtype = $row['type'];
|
||
|
if($row['type']==0){
|
||
|
$rtype='View';
|
||
|
}
|
||
|
else if($row['type']==1){
|
||
|
$rtype='Copy';
|
||
|
}else if ($row['type']==2){
|
||
|
$rtype='Original Copy';
|
||
|
}
|
||
|
$reason = $row['reason'];
|
||
|
$requestor = $row['name'];
|
||
|
$document = $row['document'];
|
||
|
$doc_type = $row['doc_type'];
|
||
|
$number = $row['number'];
|
||
|
$description =$row['description'];
|
||
|
$company = $row['company'];
|
||
|
//Sql query request order by id desc limit 1
|
||
|
|
||
|
//$id = $_GET['id'];
|
||
|
|
||
|
$doc_id = $_GET['doc_id'];
|
||
|
$user_id = $_GET['user_id'];
|
||
|
$role=$_GET['role'];
|
||
|
$sql = "UPDATE request SET status=1 WHERE id=$id";
|
||
|
$result = $conn->query($sql);
|
||
|
if($result){
|
||
|
echo "Success!";
|
||
|
}
|
||
|
|
||
|
$sql = "SELECT * FROM vault_users WHERE role=$arole";
|
||
|
$result = $conn->query($sql);
|
||
|
while ($row = $result->fetch_assoc()) {
|
||
|
$user_mail = $row['email'];
|
||
|
$user_name = $row['name'];
|
||
|
$mail->addAddress($user_mail, $user_name);
|
||
|
}
|
||
|
|
||
|
|
||
|
//Set the subject line
|
||
|
$mail->Subject = "New Request Created For Approval";
|
||
|
//Read an HTML message body from an external file, convert referenced images to embedded,
|
||
|
//convert HTML into a basic plain-text alternative body
|
||
|
$uri = "http://172.17.0.8/templates/create.php?user_id=$user_id&doc_id=$doc_id";
|
||
|
$plaintext = "
|
||
|
<style>
|
||
|
body {
|
||
|
font-family: Arial, sans-serif;
|
||
|
font-size: 14px;
|
||
|
line-height: 1.5;
|
||
|
color: #333333;
|
||
|
}
|
||
|
|
||
|
table {
|
||
|
border-collapse: collapse;
|
||
|
width: 100%;
|
||
|
}
|
||
|
|
||
|
table td {
|
||
|
padding: 8px;
|
||
|
border: 1px solid #dddddd;
|
||
|
}
|
||
|
|
||
|
table th {
|
||
|
padding: 8px;
|
||
|
border: 1px solid #dddddd;
|
||
|
background-color: #f2f2f2;
|
||
|
font-weight: bold;
|
||
|
}
|
||
|
|
||
|
a {
|
||
|
color: #0000FF;
|
||
|
text-decoration: none;
|
||
|
}
|
||
|
|
||
|
a:hover {
|
||
|
text-decoration: underline;
|
||
|
}
|
||
|
</style>
|
||
|
Dear $user_name,<br><br>
|
||
|
Greetings!<br><br>
|
||
|
This is to inform you that a request requires your approval.<br>
|
||
|
Here are the details of the document request:<br><br>
|
||
|
<table>
|
||
|
<tr><td><b>Request ID</b></td><td>$id</td></tr>
|
||
|
<tr><td><b>Request Type</b></td><td>$rtype</td></tr>
|
||
|
<tr><td><b>Requestor</b></td><td>$requestor</td></tr>
|
||
|
<tr><td><b>Reason</b></td><td>$reason</td></tr>
|
||
|
<tr><td><b>Document ID</b></td><td>$document</td></tr>
|
||
|
<tr><td><b>Document Type</b></td><td>$doc_type</td></tr>
|
||
|
<tr><td><b>Document Number</b></td><td>$number</td></tr>
|
||
|
<tr><td><b>Document Description</b></td><td>$description</td></tr>
|
||
|
</table><br>
|
||
|
You may visit this URL to approve (or disapprove) this request: <a href='https://edms.pivi.com.ph/vault_req'>https://edms.pivi.com.ph/vault_req</a><br><br>
|
||
|
Regards,<br>
|
||
|
Team Vault Management";
|
||
|
|
||
|
|
||
|
if(PHP_SAPI == "cli"){
|
||
|
$mail->Body = $plaintext;
|
||
|
} else {
|
||
|
$mail->msgHTML(file_get_contents("$uri"), __DIR__);
|
||
|
// $mail->Body = $plaintext;
|
||
|
}
|
||
|
|
||
|
|
||
|
//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 {
|
||
|
if(PHP_SAPI!="cli"){
|
||
|
// echo "Message sent! - cli";
|
||
|
header("Location: ../index.php?role=$role&user_id=$user_id&company=$company");
|
||
|
}else{
|
||
|
echo 'Message sent! - no cli';
|
||
|
//header("Location: " . $_SERVER["HTTP_REFERER"]);
|
||
|
//header("Location: ../index.php?role=$role&user_id=$user_id");
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|