HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/molennooitgedagtbudel.nl/wwwroot/winkelwagen_stap5_check.php
<?php

require_once 'initializeMollie.php';
require_once 'css-js/phpmailer/class.phpmailer.php';

$amount      = $_SESSION['bedragen']['totaalprijs'];    // Het af te rekenen bedrag in euros

$return_url  = 'https://molennooitgedagtbudel.nl/paymentCheck.php'; // URL waarnaar de consument teruggestuurd wordt na de betaling
$report_url  = 'https://molennooitgedagtbudel.nl/webhook.php'; // URL die Mollie aanvraagt (op de achtergrond) na de betaling om de status naar op te sturen

$error = false;
$omschrijvingFout = "";

if(!$_SESSION['winkelwagenBevestigd']){
	
	include("winkelwagen_check.php");	
	
	if($_SESSION['meldingen']['voorraadNulMelding'] || $_SESSION['meldingen']['voorraadAanpassingMelding'] || $_SESSION['meldingen']['alVerkochtMelding']){
		header ('HTTP/1.1 301 Moved Permanently');
		header ('Location: /winkelwagen/stap4');
		exit;
	}else{
	
		if(!empty($_SESSION['persoonsgegevens']['voornaam']) && !empty($_SESSION['verzendwijze']) && !empty($_SESSION['bedragen']['totaalprijs']) && !empty($_SESSION['winkelwagen']['artikelen'][0])){
			$_SESSION['winkelwagenStap'] = "stap5";
			$_SESSION['winkelwagenBevestigd'] = true;
			
			$datum = date("Y-m-d");
			$tijd = date("H:i:s"); 
			
			$jaartal = date("Y");
			$jaartal = substr($jaartal, -2);  
			
			$q_ordernummer = "SELECT kms_orders.ordernummer FROM kms_orders ORDER BY kms_orders.order_id DESC LIMIT 1";
			$r_ordernummer = mysql_query($q_ordernummer);
			$rec_ordernummer = mysql_fetch_assoc($r_ordernummer);
				
			$vorigeOrdernummer = substr($rec_ordernummer['ordernummer'], 3);
			if(empty($vorigeOrdernummer)){ $vorigeOrdernummer = 0; }
			
			$vorigJaartal = substr($rec_ordernummer['ordernummer'], 1, 2);
			if($vorigJaartal != $jaartal){
				$vorigeOrdernummer = 0;
			}
			$nieuweOrdernummer = $vorigeOrdernummer + 1;

			$lengte_ordernummer = strlen($nieuweOrdernummer);
			$watErBijMoet = 4 - $lengte_ordernummer;
			
			for ($nul = 0; $nul < $watErBijMoet; $nul++){
				$nieuweOrdernummer = "0".$nieuweOrdernummer;
			}
			
			$ordernummer = "W".$jaartal.$nieuweOrdernummer;
			$_SESSION['ordernummer'] = $ordernummer;
			$betaald = "no";
			$status = "wacht op betaling";
							
			$q_order = sprintf("INSERT INTO kms_orders (ordernummer, bedrijfsnaam, voornaam, tussenvoegsel, achternaam, geslacht, emailadres, telefoonnummer, straatnaam, huisnummer, toevoeging, postcode, woonplaats, land, bezorgadresWijktAf, bedrijfsnaamBezorg, voornaamBezorg, tussenvoegselBezorg, achternaamBezorg, geslachtBezorg, straatnaamBezorg, huisnummerBezorg, toevoegingBezorg, postcodeBezorg, woonplaatsBezorg, landBezorg, nieuwsbrief, subtotaalprijs, verzendkosten, totaalprijs, verzendwijze, betaald, status, datum, tijd) VALUES ('%s', '%s', '%s', '%s', '%s','%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", 
			$ordernummer,
			$_SESSION['persoonsgegevens']['bedrijfsnaam'],
			$_SESSION['persoonsgegevens']['voornaam'],
			$_SESSION['persoonsgegevens']['tussenvoegsel'],
			$_SESSION['persoonsgegevens']['achternaam'],
			$_SESSION['persoonsgegevens']['geslacht'],
			$_SESSION['persoonsgegevens']['emailadres'],
			$_SESSION['persoonsgegevens']['telefoonnummer'],
			$_SESSION['persoonsgegevens']['straatnaam'],
			$_SESSION['persoonsgegevens']['huisnummer'],
			$_SESSION['persoonsgegevens']['toevoeging'],
			$_SESSION['persoonsgegevens']['postcode'],
			$_SESSION['persoonsgegevens']['woonplaats'],
			$_SESSION['persoonsgegevens']['land'],
			$_SESSION['persoonsgegevens']['bezorgadresWijktAf'],
			$_SESSION['persoonsgegevens']['bedrijfsnaamBezorg'],
			$_SESSION['persoonsgegevens']['voornaamBezorg'],
			$_SESSION['persoonsgegevens']['tussenvoegselBezorg'],
			$_SESSION['persoonsgegevens']['achternaamBezorg'],
			$_SESSION['persoonsgegevens']['geslachtBezorg'],
			$_SESSION['persoonsgegevens']['straatnaamBezorg'],
			$_SESSION['persoonsgegevens']['huisnummerBezorg'],
			$_SESSION['persoonsgegevens']['toevoegingBezorg'],
			$_SESSION['persoonsgegevens']['postcodeBezorg'],
			$_SESSION['persoonsgegevens']['woonplaatsBezorg'],
			$_SESSION['persoonsgegevens']['landBezorg'],
			$_SESSION['persoonsgegevens']['nieuwsbrief'],
			$_SESSION['bedragen']['subtotaalprijs'],
			$_SESSION['bedragen']['verzendkosten'],
			$_SESSION['bedragen']['totaalprijs'],
			$_SESSION['verzendwijze'],
			$betaald,
			$status,
			$datum, 
			$tijd);
			
			$r_order = mysql_query($q_order);
			
			if($r_order){
				$q_order_id = "SELECT kms_orders.order_id FROM kms_orders WHERE kms_orders.ordernummer = '".$ordernummer."'";
				$r_order_id = mysql_query($q_order_id);
				$rec_order_id = mysql_fetch_assoc($r_order_id);
				
				$order_id = $rec_order_id['order_id'];
				
				if(!empty($rec_order_id['order_id'])){
					
					$aantalItems = count($_SESSION['winkelwagen']['artikelen']);

					for ($i = 0; $i < $aantalItems; $i++){
						
						$q_article = sprintf("SELECT kms_articles.article_id, kms_articles.naam, kms_articles.artikelnummer, kms_articles.categorie_id, kms_articles.prijs,
						kms_articles.description, kms_articles.gewicht, kms_articles.url, kms_articles.sort_order FROM kms_articles WHERE kms_articles.article_id='%s'", $_SESSION['winkelwagen']['artikelen'][$i]);
						$r_article = mysql_query($q_article);
						$rec_article = mysql_fetch_assoc($r_article);
						
						if(mysql_num_rows($r_article)){
							$q_article_tranfer = sprintf("INSERT INTO kms_orders_articles (order_id, order_aantal, article_id, naam, artikelnummer, categorie_id, prijs, description, gewicht, url, sort_order) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
							$rec_order_id['order_id'],
							$_SESSION['winkelwagen']['aantallen'][$i],
							$rec_article['article_id'],
							mysql_real_escape_string(stripslashes($rec_article['naam'])),
							mysql_real_escape_string(stripslashes($rec_article['artikelnummer'])),
							$rec_article['categorie_id'],
							$rec_article['prijs'],
							mysql_real_escape_string(stripslashes($rec_article['description'])),
							$rec_article['gewicht'],
							$rec_article['url'],
							$rec_article['sort_order']);
													
							$r_article_tranfer = mysql_query($q_article_tranfer);
							
							if(!$r_article_tranfer){
                                $error = true;
                                $omschrijvingFout .= "Het bestelde artikel kan niet in de database gevonden worden<br><br>";
                            }
                        }else{
                            $error = true;
                            $omschrijvingFout .= "Het bestelde artikel kan niet in de database gevonden worden<br><br>";
                            $omschrijvingFout .= $q_article;
                        }
                    }
                    if($_SESSION['persoonsgegevens']['nieuwsbrief'] == "yes" && $error != true){ include("nieuwsbrief_aanmelding.inc.php"); }
					
					
					//Doorverwijzing naar Mollie

					/*
					 * Determine the url parts to these example files.
					 */
					$protocol = isset($_SERVER['HTTPS']) && strcasecmp('off', $_SERVER['HTTPS']) !== 0 ? "https" : "http";
					$hostname = $_SERVER['HTTP_HOST'];
					$path     = dirname(isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $_SERVER['PHP_SELF']);
				
					/*
					 * Payment parameters:
					 *   amount        Amount in EUROs. This example creates a € 10,- payment.
					 *   description   Description of the payment.
					 *   redirectUrl   Redirect location. The customer will be redirected there after the payment.
					 *   metadata      Custom metadata that is stored with the payment.
					 */
					$payment = $mollie->payments->create(array(
						"amount"       => $amount,
						"description"  => 'Molen Nooit Gedagt ' . $_SESSION['ordernummer'],
						"redirectUrl"  => "https://molennooitgedagtbudel.nl/paymentCheck.php?order_id=".$order_id,
						"webhookUrl"   => "https://molennooitgedagtbudel.nl/webhook.php",
						"metadata"     => array(
							"order_id" => $order_id,
						),
					));
					
					$q_set_payment = sprintf("UPDATE kms_orders SET transactie_id = '%s' WHERE kms_orders.order_id='%s'", $payment->id, $order_id);
                	$r_set_payment = mysql_query($q_set_payment);
				
				
					/*
					 * Send the customer off to complete the payment.
					 */
					$_SESSION['paymentUrl'] = $payment->getPaymentUrl();
					header("Location: " . $_SESSION['paymentUrl']);
					

				}else{
					$error = true;
					$omschrijvingFout .= "Uit de geplaatste ordergegevens kan het ordernummer niet worden opgehaald.<br><br>";
					$omschrijvingFout .= $q_order_id;
				}			
			}else{
				$error = true;
				$omschrijvingFout .= "De query plaatsen van de order gegevens is foutgegaan. <br><br>";
				$omschrijvingFout .= $q_order;
			}
		}else{
			$error = true;	
			$omschrijvingFout .= "Session gegevens zijn involledig.";
		}
	}
}else{


    if($_SESSION['winkelwagenStap'] != "stap5"){
		header ('HTTP/1.1 301 Moved Permanently');
		header ('Location: /winkelwagen/stap4');
		exit;
	}else{
		$geenWijzigingenMelding = true;		
	}

}

if($error || $errorMail){
	// mail naar mij met uitgebreide foutmelding
	
	$mail_komma = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
				
	$from = "stef@komma.pro";
	$from_naam = "Molen Nooit Gedagt";
	$onderwerp_komma = "Fouten opgetreden in bestellen";
	
	$bericht_komma = "	
<body style=\"margin: 10px; background-color:#fff;\">
<style>
a{
	color:#0066ff;
	text-decoration:underline;
}
</style>
<div style=\"color:#636363; font-family:Verdana,Geneva,sans-serif; font-size:11px; line-height:18px; padding-bottom:23px; width: 800px;\">
<strong>Beste Stef,</strong><br><br>

Er zijn fouten opgetreden tijdens het bestellingsproces. Zie de foutmelding hieronder:<br><br><br>

$omschrijvingFout


<br><br><br>
Met vriendelijke groet,<br>
Komma Management System<br><br>
</div>
</body>";
							
	try {
		$mail_komma->AddReplyTo($from , $from_naam);
		$mail_komma->AddAddress($from, $from_naam);
		$mail_komma->SetFrom($from, $from_naam);
		$mail_komma->AddReplyTo($from , $from_naam);
		$mail_komma->Subject = $onderwerp_komma;
		$mail_komma->MsgHTML($bericht_komma);
		$mail_komma->Send();
	} catch (phpmailerException $e) {
		$foutmeldingEEmailKomma = $e->errorMessage(); //Pretty error messages from PHPMailer
	} catch (Exception $e) {
		$foutmeldingEEmailKomma = $e->getMessage(); //Boring error messages from anything else!
	}
		
}

?>