HEX
Server: Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System: Windows NT ALTAIR 10.0 build 20348 (Windows Server 2022) AMD64
User: Administrator (0)
PHP: 8.1.10
Disabled: NONE
Upload Files
File: C:/laragon/www/beplocal/ModificaOrdine.php
<?php
include_once 'DBClassConcentratore.php';
include_once 'DBClassOkta.php';
include_once 'Utilities.php';

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

require 'Exception.php';
require 'PHPMailer.php';
require 'SMTP.php';

$DatabaseConcentratore = new DatabaseConcentratore();
$conn = new PDO("sqlsrv:server=".$DatabaseConcentratore->db_host." ; Database=".$DatabaseConcentratore->db_name, $DatabaseConcentratore->db_user, $DatabaseConcentratore->db_password);
// get data and store in a json array

$idordine = $_POST['idOrdine'];
$note = $_POST['note'];
$email = $_POST['email'];
$listaProdotti =json_decode($_POST['prodotti']);
$emailagente = $_POST['emailAgente'];
$salvaSconto = $_POST['salvaSconto'];

$jwt = $_POST['jwt'];
$authLevel = $_POST['AUTH_LEVEL'];

if(verificaToken($jwt, $authLevel)) {
	try{

		//inserisco un nuovo ordine sul DB BeP
		
		
		$databaseService = new DatabaseService(); 
		$conn2 = $databaseService->getConnection();
		
		$totalePezzi = 0;
		$importoTotale = 0.0;
		
		for($i=0; $i<sizeof($listaProdotti); $i++){
			$totalePezzi += $listaProdotti[$i]->quantita ;
			$importoTotale += $listaProdotti[$i]->prezzoSerie ;
				
		}
		
		
	
						
		
		
		//pulisco la tabella di dettaglio ordini dai componenti del vecchio ordine
		$queryPulizia = "DELETE FROM `BePIstituzionale`.`DettaglioOrdini` where idOrdine = ".$idordine."";
		$stmt2 = $conn2->prepare($queryPulizia);
		$stmt2->execute();
		
		
		
		
		//inserisco il dettaglio ordine sul DB BeP
		$insertSql = "";
		for($i=0; $i<sizeof($listaProdotti); $i++){
			
			$insertSql  = "INSERT INTO `BePIstituzionale`.`DettaglioOrdini` (`idOrdine`, `idProdotto`, `DescrizioneProdotto`, `Quantita`, `PrezzoIvato`, `ScontoPercentuale`, `PrezzoScontato`, `PrezzoSerie`, `SalvaSconto`) VALUES ".
			"('".$idordine."', '".$listaProdotti[$i]->codiceAmus."', '".$listaProdotti[$i]->DescrizioneProdotto."', '".$listaProdotti[$i]->quantita."', '".$listaProdotti[$i]->prezzoProdotto."', '".$listaProdotti[$i]->sconto."', '".($listaProdotti[$i]->prezzoSerie/$listaProdotti[$i]->quantita)."', '".$listaProdotti[$i]->prezzoSerie."', '".$salvaSconto[$i]."');";
			
			$stmt2 = $conn2->prepare($insertSql);
			$stmt2->execute();
			
				
		}
		
		$insertOrdine = "UPDATE `BePIstituzionale`.`Ordini` SET PezziAcquistati = (SELECT sum(Quantita) from BePIstituzionale.DettaglioOrdini where idOrdine = '".$idordine."') , ImportoOrdine = (SELECT sum(PrezzoSerie) from BePIstituzionale.DettaglioOrdini where idOrdine = '".$idordine."'), Note = '".str_replace("'", "\'",$note)."', DataOrdine = now() where idOrdini = '".$idordine."'";
		
		$stmt2 = $conn2->prepare($insertOrdine);
		$stmt2->execute();
		
		$result = array(
		
		'message' => "Ordine Salvato con Successo ! Identificativo Ordine : ".$idordine,
	
		);
		echo json_encode($result);
		
		//invio la mail di riepilogo dell'ordine al cliente
		
		$mail = new PHPMailer();
		if($email != ""){
			try{
					// Settings
					$mail->IsSMTP();
					$mail->CharSet = 'UTF-8';
	
					$mail->Host       = "smtp.office365.com";    // SMTP server example
					$mail->SMTPDebug  = 0;                     // enables SMTP debug information (for testing)
					$mail->SMTPAuth   = true;                  // enable SMTP authentication
					$mail->Port       = 587;                    // set the SMTP port for the GMAIL server
					$mail->Username   = "web@brillaeprofuma.ch";            // SMTP account username example
					$mail->Password   = "Ntl3@2021@";            // SMTP account password example
	
					//Recipients
					$mail->setFrom('web@brillaeprofuma.ch', 'Web BrillaeProfuma');
					$mail->addAddress(''.$email);               //Name is optional
					//$mail->addReplyTo('info@example.com', 'Information');
					$mail->addCC(''.$emailagente);
					$mail->addBcc('amministrazione@brillaeprofuma.ch');
	
					// Content
					$mail->isHTML(true);                       // Set email format to HTML
					$mail->Subject = 'Riepilogo Ordine Brilla e Profuma SA';
					$mail->Body    = '<h1>Riepilogo Ordine Brilla e Profuma n '.$idordine.'</h1><br>Gentile Cliente ,<br>Di seguito il riepilogo dell ordine appena effettuato.<br><br>'
						.'<b>Lista Prodotti</b><br><br><table><thead><tr><th>Descrizione Prodotto</th><th>Prezzo Listino</th><th>Sconto</th><td>Prezzo Scontato</td><td>Quantita</td><td>Prezzo Serie</td></tr></thead>';
					for($i=0; $i<sizeof($listaProdotti); $i++){
			
						$mail->Body = $mail->Body . '<tr><td>'.$listaProdotti[$i]->DescrizioneProdotto.'</td><td>'.$listaProdotti[$i]->prezzoProdotto.'</td><td>'.$listaProdotti[$i]->sconto.'</td><td>'.($listaProdotti[$i]->prezzoSerie/$listaProdotti[$i]->quantita).'</td><td>'.$listaProdotti[$i]->quantita.'</td><td>'.$listaProdotti[$i]->prezzoSerie.'</td></tr>';
					}
	
					$mail->Body = $mail->Body . '</table><br><br><b>Totale Ordine : '.$importoTotale.' CHF </b><br><b>Totale pezzi : '.$totalePezzi.'</b><br><br><br><br>La ringraziamo di averci scelto e le auguriamo una buona giornata,<br>Brilla E Profuma';
	
					$mail->send();
		
			}
			catch(Exception $e){
		
			}
		}
	}
	catch(Exception $e){
		$result = array(
		
		'message' => "Errore durante il salvataggio dell'ordine ! Contattare il supporto Tecnico"
		);
		echo json_encode($result);
	}
	
} else {
	echo json_encode(array('message' => "Errore nella procedura della tabela prodotti. Contattare il supporto tecnico"));
}




	
?>