示例#1
0
                contact_delete($_SESSION['user']['PARTY_ID'], COMPANY_CONTACT);
                contact_delete($_SESSION['user']['PARTY_ID'], CONTACT_PERSON_CONTACT);
                contact_delete($_SESSION['user']['PARTY_ID'], ORDER_CONTACTS);
                contact_add($_SESSION['user']['PARTY_ID'], COMPANY_CONTACT, array(CNT_ATTR_NAME => $_POST['NAME'], CNT_ATTR_STREET => $_POST['STREET'], CNT_ATTR_POSTAL => $_POST['POSTAL'], CNT_ATTR_CITY => $_POST['CITY'], CNT_ATTR_COUNTRY => $_POST['COUNTRY'], CNT_ATTR_PHONE => $_POST['PHONE']));
                contact_add($_SESSION['user']['PARTY_ID'], CONTACT_PERSON_CONTACT, array(CNT_ATTR_EMAIL => $_POST['CONTACT_EMAIL'], CNT_ATTR_PHONE => $_POST['CONTACT_PHONE']));
                contact_add($_SESSION['user']['PARTY_ID'], ORDER_CONTACTS, array(CNT_ATTR_EMAIL => $_POST['ORDER_EMAIL'], CNT_ATTR_FTP_ADDR => $_POST['ORDER_FTP_ADDRESS'], CNT_ATTR_FTP_USER => $_POST['ORDER_FTP_USER'], CNT_ATTR_FTP_PASS => $_POST['ORDER_FTP_PASS']));
                $success[] = 'Your profile has been updated';
            } catch (Exception $e) {
                $errors[] = $e->getMessage();
            }
        }
    }
    // Getting clients data
    $customer = person_get($_SESSION['user']['PARTY_ID']);
    $user_login = users_get_login($_SESSION['user']['PARTY_ID']);
    $affiliate = person_affiliate_get($_SESSION['user']['PARTY_ID']);
    $contacts = contact_mech_get($_SESSION['user']['PARTY_ID'], COMPANY_CONTACT);
    $contact_attributes = array();
    foreach ($contacts['attributes'] as $_attr) {
        $contact_attributes[$_attr['ATTR_NAME']] = $_attr['ATTR_VALUE'];
    }
    $contact_person_contacts = contact_mech_get($_SESSION['user']['PARTY_ID'], CONTACT_PERSON_CONTACT);
    foreach ($contact_person_contacts['attributes'] as $_attr) {
        $contact_person['CONTACT_' . $_attr['ATTR_NAME']] = $_attr['ATTR_VALUE'];
    }
    $order_contacts = contact_mech_get($_SESSION['user']['PARTY_ID'], ORDER_CONTACTS);
    foreach ($order_contacts['attributes'] as $_attr) {
        $order_contacts_attributes['ORDER_' . $_attr['ATTR_NAME']] = $_attr['ATTR_VALUE'];
    }
}
$template = set_template('users', 'profile');
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;
}