<?php

/*
 * Default quotation template in php for html display
 */

$copy = '';
$original = '';
if ($stamp == "2") {

    $copy = drupal_get_path('module', 'ek_sales') . "/art/copy.png";
    if (file_exists($copy)) {
        $copy = "<IMG src='" . \Drupal::service('file_url_generator')->generateAbsoluteString($copy) . "' alt='copy' class='align-center'/>";
    }
} elseif ($stamp == "1") {
    $original = drupal_get_path('module', 'ek_sales') . "/art/original.png";
    if (file_exists($original)) {
        $original = "<IMG src='" . \Drupal::service('file_url_generator')->generateAbsoluteString($original) . "' alt='original' class='align-center'/>";
    }
}

$document = "<a class='button' href='" . $url_edit . "' ><i class='fa fa-edit'></i> " . t('Edit') . "</a>"
        . "<a class='button' href='" . $url_pdf . "' ><i class='fa fa-file-pdf-o'></i> " . t('Pdf') . "</a>";
$document .= '<page_wrapper>';
//HEADER data
//LOGO
$logo = '';
if ($company->logo != '') {
    $path = $company->logo;
    if (file_exists($path)) {
        $logo = "<IMG src='" . \Drupal::service('file_url_generator')->generateAbsoluteString($path) . "'/>";
    }
}
//COMPANY
$header = '<b><h2>' . $company->name . '</h2></b>';

if ($company->reg_number) {
    $header .= '<br/><small>(' . $company->reg_number . ')</small>';
}

$header .= '<br/>' . $company->address1 . '';
$header .= '<br/>' . $company->address2 . '';

if ($company->postcode) {
    $header .= '<br/>' . $company->postcode . ', ';
} else {
    $header .= '<br/>';
}
if ($company->country) {
    $header .= '' . $company->country . '';
}
if ($company->telephone) {
    $header .= '<br/>' . t('Tel') . ':' . $company->telephone . ', ';
} else {
    $header .= '<br/>';
}
if ($company->fax) {
    $header .= '' . t('Fax') . ':' . $company->fax . '';
}
$document .= '<page>
                    <page_header>
                        <table>
                            <tr>
                                <td class="c70 left">' . $logo . '</td>
                                <td class="c30 left">' . $header . '</td>
                                
                            </tr>
                        </table>
                    </page_header>';


//DOCUMENT ref

$ref = '<h2 class="blue">' . strtoupper(t('Quotation')) . '</h2>';
$ref .= '<br/>' . $items['reference'];
$ref .= '<br/>' . t("Date") . ": " . $head->date;


$document .= '<page_reference>
                        <table>
                            <tr>
                                <td class="c70 left"></td>
                                <td class="c30 left">' . $ref . '</td>

                            </tr>
                        </table>
                    </page_reference>';

//CLIENT data

$cl = '<h2 class="">' . strtoupper($client->name) . '</h2>';
$cl .= '<br/>' . $client->address;
if ($client->address2) {
    $cl .= '<br/>' . $client->address2;
}
if ($client->city) {
    $cl .= '<br/>' . $client->city;
}
if ($client->postcode) {
    $cl .= ', ' . $client->postcode . ', ';
}
if ($client->country) {
    $cl .= ', ' . $client->country;
}
if ($client->telephone) {
    $cl .= '<br/>' . t('Tel') . ':' . $client->telephone . ', ';
} else {
    $cl .= '<br/>';
}
if ($client->fax) {
    $cl .= '' . t('Fax') . ':' . $client->fax . '';
}

if (isset($client_card->contact_name)) {
    $cl .= '<br/><h3>' . t("Attention to") . ":" . $client_card->salutation . " " . $client_card->contact_name . '</h3>';
}


$pcode = '';
if ($head->pcode) {
    $pcode = "<tr>
                <td class='c10'></td>
                <td class='c90 left'>" . t('Our ref.') . " " . $project_link . "</td>
           </tr>";
}
$document .= '<page_client>
                        <table>
                            <tr>
                                <td class="c10"></td>
                                <td class="c50 left">' . $cl . '</td>
                                <td class="c40 center">' . $copy . $original . '</td>
                            </tr>
                        </table>
                    </page_client>';




//OPEN comments
$document .= '<page_comments>
                        <table>
                            <tr>
                                <td class="c10 left"></td>
                                <td class="c90 left">' . nl2br($head->comment) . '</td>

                            </tr>'
        . $pcode .
        '</table>
                    </page_comments>';

//ITEMS

$list = '';
$grandtotal = 0;
$subtotal = 0;
$i = 1;
$j = 1;
foreach ($items['lines'] as $detail) {
    if ($detail['item'] != '') {
        $list .= '<tr>';
        if ($detail['item'] === "sub_total" || $detail['item'] === "[sub total]") {
            //subtotal
            $list .= '<td class="c10"></td>';
            $list .= '<td class="c30 right lightgrey_background"><b>' . t('Sub total') . '</b></td>';
        } elseif (($detail['total'] == 0 && $detail['value'] == 0)) {
            $list .= '<td class="c10 center">' . $i . '</td>';
            $list .= '<td class="c30 left"><b>' . nl2br($detail['item']) . '</b></td>';
            $i++;
            $j = 1;
        } else {
            $l = ($i > 1) ? ($i - 1) : "1";
            $list .= '<td class="c10 right">- ' . $j . '</td>';
            $list .= '<td class="c30 left">' . nl2br($detail['item']) . '</td>';
            $j++;
        }


        if ($detail['value'] != 0) {
            $list .= '<td class="c10 right">' . number_format($detail['value'], 2) . '</td>';
        } else {
            $list .= '<td class="c10"></td>';
        }
        if ($detail['unit'] != 0) {
            $list .= '<td class="c10 center">' . $detail['unit'] . '</td>';
        } else {
            $list .= '<td class="c10"></td>';
        }
        if ($detail['total'] != 0) {
            $list .= '<td class="c20 right">' . number_format($detail['total'], 2) . '</td>';
        } elseif ($detail['item'] === "sub_total" || $detail['item'] === "[sub total]") {
            $list .= '<td class="c20 right cellbordertop lightgrey_background">' . number_format($subtotal, 2) . '</td>';
            $subtotal = 0;
        } else {
            $list .= '<td class="c20"></td>';
        }
        $subtotal = round(($subtotal + $detail['total']), 2);
        $grandtotal = round(($grandtotal + $detail['total']), 2);
        $list .= '</tr>';

        if ($items['column_active2']) {
            $list .= '<tr><td class="c10 center grey_background bline">' . $items['column_name2'] . ':</td>';
            $list .= '<td class="c30 bline">' . $detail['column_2'] . '</td>';

            if ($items['column_active3']) {
                $list .= '<td class="c10 center grey_background bline">' . $items['column_name3'] . ':</td>';
                $list .= '<td class="c10 bline">' . $detail['column_3'] . '</td></tr>';
            } else {
                $list .= '<td class="c10 bline"></td><td class="c10 bline"></td></tr>';
            }
        } elseif ($items['column_active3']) {
            $list .= '<tr><td class="c10 center grey_background bline">' . $items['column_name3'] . ':</td>';
            $list .= '<td class="c30 bline">' . $detail['column_3'] . '</td>';
        }
    }
}


$document .= '<page_items>
                        <table>
                            <tr>
                                <th class="c10 left"></th>
                                <th class="c30 center">' . t('Description') . '</th>
                                
                                <th class="c10 center">' . t('Unit price') . " " . $head->currency . '</th>
                                <th class="c10 center">' . t('Quantity') . '</th>
                                <th class="c10 right">' . t('Amount') . " " . $head->currency . '</th>
                            </tr>
                           ' . $list . '
                        </table>
                    </page_items>';



//TOTAL
$document .= '<page_total>
                        <table>
                            <tr>
                                <td class="c10 left"></td>
                                <td class="c30 left"><b>' . t('Total') . " " . $head->currency . '</b></td>
                                
                                <td class="c10 center"></td>
                                <td class="c10 center"></td>
                                <td class="c10 right"><b>' . number_format($grandtotal, 2) . '</b></td>
                            </tr>';

//insert incoterm=================================
$freight = 0;
if ($items['incoterm_name'] != "" && $items['incoterm_name'] != "na" && $items['incoterm_rate'] > 0) {
    $freight = round($grandtotal * $items['incoterm_rate'] / 100, 2);

    $document .= '<tr>
                    <td class="c10 left"></td>
                    <td class="c30 left"><b>' . $items['incoterm_name'] . ' ' . $items['incoterm_rate'] . '%</b></td>
                    
                    <td class="c10 center"></td>
                    <td class="c10 center"></td>
                    <td class="c10 right"><b>' . number_format($freight, 2) . '</b></td>
                </tr>';
}

$tax = 0;
if ($items['tax_name'] != "") {
    $tax = round(($grandtotal + $freight ) * $items['tax_rate'] / 100, 2);
    $document .= '<tr>
                    <td class="c10 left"></td>
                    <td class="c30 left"><b>' . $items['tax_name'] . " " . $items['tax_rate'] . "%" . '</b></td>
                    
                    <td class="c10 center"></td>
                    <td class="c10 center"></td>
                    <td class="c10 right"><b>' . number_format($tax, 2) . '</b></td>
                </tr>
                <tr>
                    <td class="c10 left"></td>
                    <td class="c30 left"><b>' . t('Total with tax') . " " . $head->currency . '</b></td>
                    
                    <td class="c10 center"></td>
                    <td class="c10 center"></td>
                    <td class="c10 right cellbordertop"><b>' . number_format($tax + $grandtotal + $freight, 2) . '</b></td>
                </tr>';
} else {
    $document .= '<tr>
                    <td class="c10 left"></td>
                    <td class="c30 left"><b>' . t('Grand total') . " " . $head->currency . '</b></td>
                    
                    <td class="c10 center"></td>
                    <td class="c10 center"></td>
                    <td class="c10 right cellbordertop"><b>' . number_format($grandtotal + $freight, 2) . '</b></td>
                </tr>';    
}


                
$resultinwords = new Drupal\ek_sales\NumberToWord();
$word = $resultinwords->en($tax + $grandtotal + $freight);
$document .= '</table>
            <div class="right">' . $word . '</div>
            </page_total>';



//SIGNATURE
$sign = '';
if ($signature == "1") {
    if (isset($company->sign)) {
        $path = $company->sign;
        if (file_exists($path)) {
            $sign = "<IMG src='" . \Drupal::service('file_url_generator')->generateAbsoluteString($path) . "'/>";
        }
    }
}
$document .= '<page_signature>
                <table>
                    <tr>
                        <td class="c10 left"></td>
                        <td class="c60 left">' . $sign . '</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>______________________________<td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>' . t("Authorized signatory") . '<td>
                        <td></td>
                    </tr>
                </table>
                </page_signature>';
$document .= '<hr>';

//CORRESPONDENCE
if ($company->address3 != "") {
    //$document .= '<hr>';
    $correspondence = '<p class="grey">' . t('Correspondence address') . ':' . '';
    $correspondence .= $company->address3 . ' '
            . $company->address4
            . ' ' . $company->postcode2
            . ', ' . $company->city2
            . ', ' . $company->country2;
    $correspondence .= '<br/>' . t('Tel') . ': ' . $company->telephone2 . ' ' . t('Fax') . ':' . $company->fax2;
    $correspondence .= '</p>';

    $document .= '<page_correspondence>
                <table>
                    <tr>
                        <td class="c100 center">' . $correspondence . '</td>
                    </tr>
                </table>
            </page_correspondence>';
}

$document .= '</page></page_wrapper>';
