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/verrassendveel.komma.pro/wwwroot/admin/php/orders.php
<?php

	
/* 
	orders.php 

	Mike Ontwerpt 2012
	www.mikeontwerpt.nl
	
*/

function initOrders(){
	
	$output = '';
	
	if(isset($_GET['sub'])){
		$subpage = $_GET['sub'];
		switch($subpage){
			case 'ordernr':
			$output .= showOrder();
			break;	
			default:
			$output .= showDashboard();
		}
	}
	else{
		$output .= showDashboard();
	}
	
	return $output;
}


function showDashboard(){
	
	## settings ##
	
	//// global sql \\\\
	global $mysqli;	
	
	//// language \\\\
	$siteLabels = getLanguage();

	## output ##

	$output = '';
	//// title \\\\
	$output .= '<h1>'.$siteLabels['orders-title'].'</h1>';
	
	## onbehandeld ##
	$output .= getOrderList(0);
	$output .= '<hr class="margin-bottom-40"/>';
	
	/* behandeld */
	$output .= getOrderList(1);
	
	return $output; 
}

function getOrderList($treated){
	global $mysqli;
	$output = '';
	//// get info \\\\
	if($result = $mysqli->query('SELECT DISTINCT oi.id AS orderId, oi.orderCode, oi.customerId, oi.orderDate, oi.amount, oi.paymentMethod, oi.paymentStatus, oi.shippingMethod, oi.orderStatus, oi.lastUpdate, 
									    cp.firstName, cp.middleName, cp.lastName
								 FROM shop_order_info AS oi, shop_customer_personal AS cp, shop_customer_login AS cl
								 WHERE oi.orderStatus = '.$treated.'
								 AND cl.id = oi.customerId
								 AND cl.personalId = cp.id
								 ORDER BY lastUpdate DESC')){
		$numOrders = $result->num_rows;							 
		$treated == 0 ? $output .= '<span class="order-note">Er zijn '.$numOrders.' onbehandelde orders</span>' :  $output .= '<span class="order-note">Er zijn '.$numOrders.' behandelde orders</span>';
		
		/* top row */
		$output .= '<div class="itemlist-row itemlist-heading">';
			$output .= '<div class="itemlist-double-column"><input type="checkbox" name="checkCtrl" value="checkAll" onClick="check_all(this);" class="itemlist-cbox-first">orderCode</div>';
			$output .= '<div class="itemlist-double-column">name</div>';
			$output .= '<div class="itemlist-single-column status-column">amount</div>';
			$output .= '<div class="itemlist-single-column">date</div>';
			$output .= '<div class="itemlist-single-column">shipping</div>';
			$output .= '<div class="itemlist-single-column">payment</div>';
			$output .= '<div class="itemlist-single-column">status</div>';
			$output .= '<div class="itemlist-single-column itemlist-edit">edit</div>';
		$output .= '</div>';
											 
		while($record = $result->fetch_assoc()){ 
			//// store info \\\\ 
			$orderId = $record['orderId'];				
			$orderCode = $record['orderCode'];				
			$customerId = $record['customerId'];				
			$orderDate = $record['orderDate'];				
			$amount = $record['amount'];				
			$paymentMethod = $record['paymentMethod'];				
			$paymentStatus = $record['paymentStatus'];				
			$shippingMethod = $record['shippingMethod'];				
			$orderStatus = $record['orderStatus'];				
			$lastUpdate = $record['lastUpdate'];
			
			$name = $record['firstName'];
			if(!empty($record['middleName'])) $name .= ' '.$record['middleName'];
			$name .= ' '.$record['lastName'];
			
			//// create display info \\\\		
			$orderDate = date('d / m / Y',$orderDate); # orderDate
			$temp = explode('.',$amount); # price
			isset($temp[1]) ? $displayCents = str_pad($temp[1], 2, STR_PAD_LEFT) :  $displayCents = '00';
			$displayPrice = '€ '.$temp[0].','.$displayCents;
			$lastUpdate = date('d / m / Y',$lastUpdate); # lastUpdate
			$orderStatus == 0 ? $displayOrderStatus = '<span class="order-untreated">onbehandeld</span>' : $displayOrderStatus = 'behandeld';
				
			//display info
			$output .= '<div class="itemlist-row">';
				$output .= '<div class="itemlist-double-column"><input type="checkbox"  name="option[]" id="option"  value="'.$orderId.'" class="itemlist-cbox-first"><a href="./orders/ordernr/'.$orderCode.'-'.$orderId.'/">'.$orderCode.'</a></div>';
				$output .= '<div class="itemlist-double-column">'.$name.'</div>';
				$output .= '<div class="itemlist-single-column status-column">'.$displayPrice.'</div>';
				$output .= '<div class="itemlist-single-column">'.$orderDate.'</div>';
				$output .= '<div class="itemlist-single-column">'.$shippingMethod.'</div>';
				$output .= '<div class="itemlist-single-column">'.$paymentStatus.'</div>';
				$output .= '<div class="itemlist-single-column">'.$displayOrderStatus.'</div>';
				$output .= '<div class="itemlist-single-column itemlist-edit">edit</div>';
			$output .= '</div>';
						 
									 
		}
	}
	else{
		$output .= $mysqli->error;	
	}	
	
	return $output;
}

function showOrder(){
	global $mysqli;
	$output = '';
	if(isset($_GET['sub2'])){
		$temp = explode('-',$_GET['sub2']);
		$orderCode = $temp[0];
		$orderId = $temp[1];
		
		if($result = $mysqli->query('SELECT DISTINCT oi.id AS orderId, oi.orderCode, oi.customerId, oi.orderDate, oi.amount, oi.paymentMethod, oi.paymentStatus, oi.shippingMethod, oi.orderStatus, oi.lastUpdate, 
									    oc.customerCode, oc.shipping_title, oc.shipping_firstName, oc.shipping_lastName, oc.shipping_postal, oc.shipping_adres, oc.shipping_city, oc.shipping_country,
										oc.invoice_firstName, oc.invoice_lastName, oc.invoice_postal, oc.invoice_adres, oc.invoice_city, oc.invoice_country, oc.email, oc.phone
								 FROM shop_order_info AS oi, shop_order_customer AS oc
								 WHERE oi.id = oc.orderId
								 AND oi.id = '.$orderId.'
								 LIMIT 1')){
			if($result->num_rows == 1){
				$record = $result->fetch_assoc();
				
				$orderDate = date('d / m / Y',$record['orderDate']);
				$paymentMethod = $record['paymentMethod'];
				$paymentStatus = $record['paymentStatus'];
				$lastUpdate = $record['lastUpdate'];
				$orderStatus = $record['orderStatus'];
				
				switch ($orderStatus) {
					case 0 : 
						$orderStatus = 'onbehandeld';
					break;
					case 1 : 
						$orderStatus = 'onbehandeld';
					break;	
					case 2 : 
						$orderStatus = 'in bestelling';
					break;					
				}
				
				$status = 'onderbroken';
				switch ($paymentStatus) {
					  case "completed":   // payment complete						
						$status = 'Betaald op '.date('d / m / Y',$lastUpdate);
					  break;
					  case "initialized": // waiting
							$status = 'Wachten op betaling';
					  break;
					  case "uncleared":   // waiting (credit cards or direct debit)
							$status = 'Wachten op betaling';
						break;
					  case "canceled": 
					  case "void":        // canceled
					  case "declined":    // declined
							$status = 'Geannuleerd';
						break;
					  case "refunded":    // refunded
						break;
					  case "expired":     // expired
						break;
					  default:
				 	$status = 'onderbroken';

				}
				
				//// title \\\\
				$output .= '<h1>Orders &rsaquo; Order '.$orderCode.'</h1>';
		
				//// buttons \\\\
				$output .= '<div class="submenu">';
						//buttons
						$output .= '<a href="./orders/add-product/"><span class="btn176 btn176a proceed">Wijzig bestelstatus</span></a>';
						$output .= '<a href="./orders/order-products/"><span class="btn176 btn176a">Maak pakbon</span></a>';
						$output .= '<a href="./orders/manage-categories/"><span class="btn176 btn176a">Maak factuur</span></a>';
						$output .= '<a href="./orders/manage-categories/"><span class="btn176 btn176a">Bekijk klant</span></a>';
				$output .= '</div>';
				
				$output .= '<div class="order-detail-column">';
					
					$output .= '<h2>order details</h2>';
					////order details \\\\
					$output .= '<table class="order-details">';
						$output .= '<tr>';
							$output .= '<td>Order datum</td>';
							$output .= '<td>'.$orderDate.'</td>';
						$output .= '</tr>';
						$output .= '<tr>';
							$output .= '<td>Betaal methode</td>';
							$output .= '<td>'.$paymentMethod.'</td>';
						$output .= '</tr>';
						$output .= '<tr>';
							$output .= '<td>Betaal status</td>';
							$output .= '<td>'.$status.'</td>';
						$output .= '</tr>';
						$output .= '<tr>';
							$output .= '<td>Order status</td>';
							$output .= '<td>'.$orderStatus.'</td>';
						$output .= '</tr>';
					$output .= '</table>';
					
					//get info instances
					$instanceResult = $mysqli->query('SELECT DISTINCT title, price_original, price_current, instanceId, color, numProducts 
													  FROM shop_order_products
													  WHERE orderId = '.$orderId);				
					while($instanceRecord = $instanceResult->fetch_assoc()){
						$thumb = '../images/structure/noimage.jpg';
						
						
						$instanceId = $instanceRecord['instanceId'];
						$color = $instanceRecord['color'];
						$title = $instanceRecord['title'];
						$numProducts = $instanceRecord['numProducts'];
						$price = $instanceRecord['price_original'];
						
						$oldPrice = '';
						if($price != $instanceRecord['price_current']){
							//DISCOUNT
							$oldPrice = $price;
							$price = $instanceRecord['price_current'];
						}
							
						if(!empty($oldPrice)) $displayOldPrice = displayPrice($oldPrice);
						$displayPrice = displayPrice($price);
						
						// temp
						$output .= '<div class="order-instance-row';
						$output .= '">';
							$output .= '<div class="order-instance-image"><img src="'.$thumb.'" alt="thumb" width="48"/></div>';
							$output .= '<div class="order-instance-numproducts">'.$numProducts.'x</div>';
							$output .= '<div class="order-instance-title">';
								$output .= $title;
								$output .= '<span class="order-instance-color" id="productcolor'.$instanceId.'"></span>';
								$output .= '<script type="text/javascript">colorBar(\'productcolor'.$instanceId.'\',\''.$color.'\');</script>';
							$output .= '</div>';
							$output .= '<div class="order-instance-price">';
								if(!empty($oldPrice)) $output .= ' <span class="line-through">'.$displayOldPrice.'</span> '; 
								$output .= $displayPrice.'</div>';
							$output .= '<div class="clear"></div>';
						$output .= '</div>';
					}
					$output .= '<hr />';
					
					//calculate prices
					
					$shippingcost = 1.95;
					$totalPrice = $record['amount'];
					$displayTotalPrice = displayPrice($totalPrice);
					
					$subtotalPrice = $totalPrice - $shippingcost;
					$displayShippingCost = displayPrice($shippingcost);
					
					$displaySubtotalPrice = displayPrice($subtotalPrice);
					
					//VAT
					$exbtw = $totalPrice / 1.19;
					$btw = $totalPrice - $exbtw;
					
					$displayExBtw = displayPrice($exbtw);
					$displayBtw = displayPrice($btw);
					
					$output .= '<div class="order-vat-column">';
						$output .= '<div class="order-vat-label">';
							$output .= '<br />ex<br />19% btw<br /><br />totaal';
						$output .= '</div>';
						$output .= '<div class="order-vat-price">';
							$output .= '<br />'.$displayExBtw.'<br />'.$displayBtw.'<br /><br />'.$displayTotalPrice;
						$output .= '</div>';
						$output .= '<div class="clear"></div>';
					$output .= '</div>';
					$output .= '<div class="order-totalprice-column">';
						$output .= '<div class="order-totalprice-label">';
							//prijs labels
							$output .= '<br />subtotaal<br />verzendkosten<br /><br />totaalprijs';
						$output .= '</div>';
						$output .= '<div class="order-totalprice-price">';
							//subtotaal
							$output .= '<br />';
							$output .= $displaySubtotalPrice.'<br />';
							
							//korting
							//if(isset($discount) && !empty($discount)) $output .= '€ 10,00<br />';
							
							//verzendkosten
							$output .=  $displayShippingCost.'<br />';
							$output .= '<br />';
							
							//totaal
							$output .= $displayTotalPrice;
						$output .= '</div>';
						$output .= '<div class="clear"></div>';
					$output .= '</div>';
				$output .= '</div>';
				
				// klant details
				
				$customerCode = $record['customerCode'];
				$shipping_title = $record['shipping_title'];
				$shipping_firstname = $record['shipping_firstName'];
				$shipping_lastname = $record['shipping_lastName'];
				//$invoice_firstname = $record['invoice_firstname'];
				//$invoice_lastname = $record['invoice_lastname'];
				
				
				$email = $record['email'];
				$phone = $record['phone'];
				
				$output .= '<div class="order-customer-column">';
					$output .= '<h2>klant details</h2>';
					
					$output .= '<table class="order-customer">';
						// debiteur nummer
						$output .= '<tr>';
							$output .= '<td>Debiteurnr</td>';
							$output .= '<td class="order-customer-detail">'.$customerCode.'</td>';
						$output .= '</tr>';
						// voornaam
						$output .= '<tr>';
							$output .= '<td>Voornaam</td>';
							$output .= '<td class="order-customer-detail">'.$shipping_title.'</td>';
						$output .= '</tr>';
						// naam
						$output .= '<tr>';
							$output .= '<td>Naam</td>';
							$output .= '<td class="order-customer-detail">'.$shipping_firstname.'</td>';
						$output .= '</tr>';
						// email
						$output .= '<tr>';
							$output .= '<td>Email</td>';
							$output .= '<td class="order-customer-detail">'.$email.'</td>';
						$output .= '</tr>';
						// tel
						$output .= '<tr>';
							$output .= '<td>Tel.</td>';
							$output .= '<td class="order-customer-detail">'.$phone.'</td>';
						$output .= '</tr>';
						
						// space
						$output .= '<tr>';
							$output .= '<td colspan="2">&nbsp;</td>';
						$output .= '</tr>';
						
				
				$shipping_adres = $record['shipping_adres'];
				$shipping_postal = $record['shipping_postal'];
				$shipping_city = $record['shipping_city'];
				$shipping_country = $record['shipping_country'];
						
						// afleveradres / straat
						$output .= '<tr>';
							$output .= '<td>Afleveradres.</td>';
							$output .= '<td class="order-customer-detail">'.$shipping_adres.'</td>';
						$output .= '</tr>';
						// postcode
						$output .= '<tr>';
							$output .= '<td>&nbsp;</td>';
							$output .= '<td class="order-customer-detail">'.$shipping_postal.' '.$shipping_city.'</td>';
						$output .= '</tr>';
						// land
						$output .= '<tr>';
							$output .= '<td>&nbsp;</td>';
							$output .= '<td class="order-customer-detail">'.$shipping_country.'</td>';
						$output .= '</tr>';
						
						// space
						$output .= '<tr>';
							$output .= '<td colspan="2">&nbsp;</td>';
						$output .= '</tr>';
						
				$invoice_postal = $record['invoice_postal'];
				$invoice_adres = $record['invoice_adres'];
				$invoice_city = $record['invoice_city'];
				$invoice_country = $record['invoice_country'];	
						
						// factuuradres / straat
						$output .= '<tr>';
							$output .= '<td>Factuuradres.</td>';
							$output .= '<td class="order-customer-detail">'.$invoice_postal.'</td>';
						$output .= '</tr>';
						// postcode
						$output .= '<tr>';
							$output .= '<td>&nbsp;</td>';
							$output .= '<td class="order-customer-detail">'.$invoice_adres.' '.$invoice_city.'</td>';
						$output .= '</tr>';
						// land
						$output .= '<tr>';
							$output .= '<td>&nbsp;</td>';
							$output .= '<td class="order-customer-detail">'.$invoice_country.'</td>';
						$output .= '</tr>';
					$output .= '</table>';
				$output .= '</div>';		
				$output .= '<div class="clear"></div>';
				$output .= '<div class="margin-bottom-40">&nbsp;</div>';
				$output .= '<hr class="margin-bottom-40"/>';
			}
			else{
				$output .= 'Te weinig info over deze order<br />
							<a href="./orders/">terug</a>';	
			}
		}
		else{
			$output .= 'Er is iets mis met deze pagina'.$mysqli->error;	
		}
	}
	return $output;	
}
	
?>