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 › 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"> </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> </td>';
$output .= '<td class="order-customer-detail">'.$shipping_postal.' '.$shipping_city.'</td>';
$output .= '</tr>';
// land
$output .= '<tr>';
$output .= '<td> </td>';
$output .= '<td class="order-customer-detail">'.$shipping_country.'</td>';
$output .= '</tr>';
// space
$output .= '<tr>';
$output .= '<td colspan="2"> </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> </td>';
$output .= '<td class="order-customer-detail">'.$invoice_adres.' '.$invoice_city.'</td>';
$output .= '</tr>';
// land
$output .= '<tr>';
$output .= '<td> </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"> </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;
}
?>