Ejemplo n.º 1
0
    unset($_GET['DELETE']);
}
// Starts a change sequence for a product
// that has already been calculated and added
// to the cart
if (isset($_GET['CHANGE'])) {
    $products = $Cart->getAt($_GET['CHANGE']);
    if ($products) {
        $post = $products['PRODUCTS'];
        $_SESSION['CURRENT_CALCULATION'] = $post;
        header(sprintf('location: /orders/order?PRODUCT_CATEGORY_ID=%s&recalculate', $products['PRODUCT_CATEGORY_ID']));
        exit;
    } else {
        $errors[] = 'There is no product to edit on this possition';
    }
}
if (!$Cart->getProductsCount()) {
    $errors[] = 'Your order is empty';
}
$contacts = contact_get_by_party($_SESSION['user']['PARTY_ID'], COMPANY_CONTACT);
$alternative = contact_alternative_all($_SESSION['user']['PARTY_ID']);
// If there is an offer attached here then maybe there is some shipment information already existing here
// that we need to display in the form so the customer does not loose their data
if ($Cart->isFromOffer()) {
    $offer_id = $Cart->getOfferId();
    $offer_shipment = shipment_get($offer_id);
    $offer_meta = order_get($offer_id);
}
$template = 'cart';
$link = THEME . 'template.php';
require_once $link;
Ejemplo n.º 2
0
/**
 * Gets contact mech. Works with company address
 * and contact person address
 *
 * @param string $party_id id of the party that owns the contact
 * @param string $type the type of the contact mech
 * @return array the contact mech data with its attributes
 */
function contact_mech_get($party_id, $type)
{
    $contact_mech_id = contact_generate_id($party_id, $type);
    $query = "SELECT CONTACT_MECH_ID, INFO_STRING\n\t\t\t  FROM contact_mech\n\t\t\t  WHERE CONTACT_MECH_ID = '" . esc($contact_mech_id) . "'";
    $data = db_query_to_row($query);
    if (!empty($data)) {
        $data['attributes'] = contact_get_by_party($party_id, $type);
    }
    return $data;
}
Ejemplo n.º 3
0
function build_customer_pdf($order_id, $person_id, $client = true)
{
    $system_settings = get_settings();
    $order = order_get($order_id);
    $person = person_get($person_id);
    $contacts = contact_get_by_party($person_id, COMPANY_CONTACT);
    $affiliate = person_affiliate_get($person_id);
    // Dealing with shipments
    $shipment = shipment_get($order_id);
    if ($shipment['DESTINATION_CONTACT_MECH_ID'] == SHIPMENT_REQUISITION) {
        $delivery_address = 'In requisions files';
    } else {
        $attributes = contact_mech_get_attributes($shipment['DESTINATION_CONTACT_MECH_ID']);
        $delivery_address = contact_generate_string($attributes, '<br />');
    }
    $content = '
	<page backtop="30mm" backbottom="14mm" backleft="10mm" backright="10mm" style="font-size: 12px; font-family: Arial; margin-top: 150px;">

		<!-- Page header -->
		<page_header style="margin-left: 20px; height: 400px; margin-bottom: 40px;">
			<table style="margin-left: 15px;">
				<tr>
					<td style="width: 530px;">
						<div style="background-color: #63cdf5; padding-left: 10px;">
							<h1>Order #' . $order_id . '</h1>
						</div>
					</td>
					<td>';
    if ($client) {
        $content .= '<img style="width: 200px;" src="./themes/megamedia/img/website-logo-big.png">';
    }
    $content .= '</td></tr>
			</table>
			<div style="clear: both"></div>
		</page_header>


		<!-- Metadata -->
		<table style="margin-left: -30px;" cellspacing="10" cellspadding="0">
			<tr>
				<td style="width: 390px; vertical-align:top; border: 1px solid #fcb040; border-top: none; padding:0; padding-bottom: 10px;">
					<div style="background-color: #fcb040; width: 390px; padding-left: 10px; margin-bottom: 10px;">
						<h3 style="margin:10 0 10 0; padding: 0;">Customer</h3>
					</div>
					<div style="font-size: 15px; margin-left: 10px; width: 390px;">
						' . contact_generate_string($contacts, '<br />') . '
					</div>
				</td>';
    if ($client) {
        $content .= '<td style="width: 300px; vertical-align:top; border: 1px solid #fcb040; border-top: none; padding:0; padding-bottom: 10px;">
						<div style="background-color: #fcb040; width: 300px; padding-left: 10px; margin-bottom: 10px;">
							<h3 style="margin:10 10 10 10; padding: 0;">Megamedia DK ApS</h3>
						</div>
						<div style="font-size: 15px; margin-left: 10px; width: 300px;">
							Skøjtevej 19A <br />
							2770 Kastrup <br />
							Denmark <br />
							Tlf.: +45 70 26 26 99 <br />
							<a href="www.megamedia.dk">www.megamedia.dk</a> <br />
							Account manager: <b>' . $affiliate['AFFILIATE_NAME'] . '</b> <br />
							Telephone: <b>' . $affiliate['AFFILIATE_DESCRIPTION'] . '</b>
						</div>
					</td>';
    }
    $content .= '</tr>
			<tr>
				<td style="width: 390px; vertical-align:top; border: 1px solid #fcb040; border-top: none; padding:0; padding-bottom: 10px;">
					<div style="background-color: #fcb040; width: 390px; padding-left: 10px; margin-bottom: 10px;">
						<h3 style="margin:10 0 10 0; padding: 0;">Delivery Address</h3>
					</div>
					<div style="font-size: 15px; margin-left: 10px; width: 390px;">
						' . $delivery_address . '
					</div>
				</td>';
    if ($client) {
        $content .= '<td style="width: 300px; vertical-align:top; border: 1px solid #fcb040; border-top: none; padding:0; padding-bottom: 10px;">
						<div style="background-color: #fcb040; width: 300px; padding-left: 10px; margin-bottom: 10px;">
							<h3 style="margin:10 10 10 10; padding: 0;">Order Details</h3>
						</div>
						<div style="font-size: 15px; margin-left: 10px; width: 300px;">
							Order done by: <b>' . $person['FIRST_NAME'] . ' ' . $person['LAST_NAME'] . '</b><br />
							Order date: <b>' . date_convert($order['ORDER_DATE'], DEFAULT_DATE_FORMAT) . '</b><br />
							Your reference: <b>' . $order['EXTERNAL_ID'] . '</b><br />
							Additional order info: <b>' . $order['COMMENTS'] . '</b>
						</div>
					</td>';
    }
    $content .= '</tr>
		</table>


		<!-- Product section -->
		<div style="margin-left: -20px; width: 715px; background-color: #CB68A8; padding-left: 10px; margin-top: 20px;">
			<h3 style="margin:10 10 10 10; padding: 0;">Products</h3>
		</div>

		<table style="font-size: 15px; margin-left: -20px; width: 715px; margin-top: 10px;"border="1px" cellspacing="0" >
			<tr>
				<th style="width: 228px; padding: 5px;"><b>Product</b></th>
				<th style="width: 35px; padding: 5px;"><b>Line</b></th>
				<th style="width: 55px; padding: 5px;"><b>Motives</b></th>
				<th style="width: 55px; padding: 5px;"><b>Runs</b></th>
				<th style="width: 85px; padding: 5px;"><b>Variant</b></th>';
    if ($client) {
        $content .= '<th style="width: 95px; padding: 5px;"><b>Price</b></th>';
    }
    $content .= '</tr>';
    $Cart = new Cart();
    $Cart->fromString($order['SESSION_SERILIALIZE']);
    $product_count = $Cart->getProductsCount();
    $loop = 0;
    $total = 0;
    $total_delivery = 0;
    foreach ($Cart->getProducts() as $i => $_row) {
        $loop++;
        list($headers, $rows, $variants, $copies, $delivery) = html_offer_box($_row['PRODUCTS'], $Cart->deliveryDistributionAt($i));
        list($html, $add_to_total, $delivery) = pdf_build_offer_box($rows, $variants, $copies, $delivery, $_row['OFFER'], $_row['PRODUCTS']['MOTIVES'], false, true, $_row['PRODUCTS']['RUNS'], $_row['PRODUCTS']['VARIANT'], $client);
        $content .= $html;
        $total += $add_to_total;
        $total_delivery += $delivery;
        if ($product_count > $loop) {
            $content .= '<tr><td style="border-left: none; border-right: none;" colspan="6">&nbsp;</td></tr>';
        }
    }
    $content .= '</table>

		<!-- Grand Total -->
		<div style="clear: both; margin-top: 40px;">
			<div style="text-align: right; margin-left: -20px; width: 723px; background-color: #CB68A8; padding-right: 10px; margin-top: 20px;">
				<span style="margin:10 10 10 10; padding: 0;">All Delivery + Environment:
				<span style="color: #fff;">' . number_format($total_delivery + DELIVERY_ENVIRONMENT + $system_settings['ORDER_FEE'], 2) . ' ' . DEFAULT_CURRENCY . '</span></span>
			</div>
		</div>
		<div style="clear: both; margin-top: 40px;">
			<div style="text-align: right; margin-left: -20px; width: 723px; background-color: #CB68A8; padding-right: 10px; margin-top: 20px;">
				<h3 style="margin:10 10 10 10; padding: 0;">Grand Total:
				<span style="color: #fff;">' . number_format($total + $total_delivery + DELIVERY_ENVIRONMENT + $system_settings['ORDER_FEE'], 2) . ' ' . DEFAULT_CURRENCY . '</span></h3>
			</div>
		</div>


		<!-- Footer -->
		<page_footer>
			<table style="width: 750px;">
				<tr>
					<td class="center">Order: #' . $order_id . ' <i style=" font-size: 10px;">page [[page_cu]]/[[page_nb]]</i></td>
				</tr>
			</table>
		</page_footer>
	</page>';
    try {
        $html2pdf = new HTML2PDF('P', 'A4', 'en');
        $html2pdf->setDefaultFont('Arial');
        $html2pdf->writeHTML($content, false);
        $file_name = $client ? 'Customer-Copy-' : 'Production-Copy-';
        $prefix = $file_name . $order_id;
        $pdf_name = $prefix . '.pdf';
        $html2pdf->Output(PDFS_PATH . $pdf_name, 'F');
    } catch (HTML2PDF_exception $e) {
        echo $e;
        exit;
    }
    return PDFS_PATH . $pdf_name;
}