<!--
  MODULOOM Package Tracking Service version 4.1
  This module has been adapted to fit in OpenCart 1.5.x.

  Copyright 2012,2013 Philippe BLAIN <pblain@NOSPAMfree.fr>.

<modification> - This is the highest level of the file and there can only be one
<id>           - This is the name of the mod. Format: Free form text. (Informational)
<version>      - This is the version of the mod. Format: Number and Decimal (1.0.0) (Informational)
<author>       - This is the author of the mod. Format: Free form text (Informational)
<file>         - This is the name of the file to modify. Requires attribute "name" as relative filename (catalog/controller/product/product.php). There can be multiple
<operation>    - This is the wrapper of the actual operation occuring. There can be multiple operations to the same file.
<search>       - This is the first required step of the operation. Uses an optional attribute "position" set to before|after|replace. replace is default. One per operation. Use CDATA tags to wrap code.
<add>          - This is the second required step of the operation. Uses an optional attribute "trim" set to true|false to trim away whitespace and linebreaks. false is default. One per operation. Location of added data depends on the position of the <search> command. Use CDATA tags to wrap code.
<![CDATA[  ]]> - These are called CDATA tags and they are used by XML to specify that the data between should not be evaluated.
-->

<modification>
  <id>Moduloom Package Tracking Service - Core</id>
  <version>20130823</version>
  <vqmver>2.1.7</vqmver>
  <author>Philippe Blain</author>


<!-- ############################### CATALOG ############################## -->

<!-- ========== ORDERS ========== -->

  <file name="catalog/language/english/account/order.php">
    <operation>
      <search position="after"><![CDATA[
$_['column_comment']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
$_['column_tracking'] = 'Carrier<br \>Package(s) Tracking Number(s)';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="catalog/controller/account/order.php">
    <operation>
      <search position="after"><![CDATA[
      $results = $this->model_account_order->getOrderHistories($this->request->get['order_id']);
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
      $this->load->model('module/package_tracking');
      $this->load->model('tool/image');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
            $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
            $tracking_string = $this->model_module_package_tracking->renderTrackingNumbers($result['tracker_id'], $result['tracking_numbers'], true);
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
            $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
                'tracking'   => $tracking_string,
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
          $this->data['column_comment'] = $this->language->get('column_comment');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
      $this->data['column_tracking'] = $this->language->get('column_tracking');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="catalog/model/account/order.php">
    <operation>
      <search position="before"><![CDATA[
oh.notify FROM " . DB_PREFIX . "order_history oh LEFT JOIN
       ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
oh.notify FROM " . DB_PREFIX . "order_history oh LEFT JOIN
       ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA[
oh.notify FROM " . DB_PREFIX . "order_history oh LEFT JOIN
       ]]></search>
      <add><![CDATA[
oh.notify, oh.tracker_id, oh.tracking_numbers FROM " . DB_PREFIX . "order_history oh LEFT JOIN
       ]]></add>
    </operation>
  </file>

  <file name="catalog/view/theme/*/template/account/order_info.tpl">
    <operation>
      <search position="after"><![CDATA[
        <?php echo $column_status; ?>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
        <td class="left"><b><?php echo $column_tracking; ?></b></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
        <?php echo $history['status']; ?>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
        <td class="left"><?php echo $history['tracking']; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
  </file>

<!-- ========== RETURNS ========== -->

  <file name="catalog/language/english/account/return.php">
    <operation>
      <search position="after"><![CDATA[
$_['column_status']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
$_['column_tracking']    = 'Carrier<br \>Package(s) Tracking Number(s)';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
  </file>
  <file name="catalog/controller/account/return.php">
    <operation>
      <search position="after"><![CDATA[
      $results = $this->model_account_return->getReturnHistories($this->request->get['return_id']);
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
      $this->load->model('module/package_tracking');
      $this->load->model('tool/image');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
            $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
            $tracking_string = $this->model_module_package_tracking->renderTrackingNumbers($result['tracker_id'], $result['tracking_numbers'], true);
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
            $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
                'tracking'   => $tracking_string,
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
          $this->data['column_comment'] = $this->language->get('column_comment');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
      $this->data['column_tracking'] = $this->language->get('column_tracking');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
  </file>
  <file name="catalog/model/account/return.php">
    <operation>
      <search position="before"><![CDATA[
rh.notify FROM " . DB_PREFIX . "return_history rh LEFT JOIN
       ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
rh.notify FROM " . DB_PREFIX . "return_history rh LEFT JOIN
       ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA[
rh.notify FROM " . DB_PREFIX . "return_history rh LEFT JOIN
       ]]></search>
      <add><![CDATA[
rh.notify, rh.tracker_id, rh.tracking_numbers FROM " . DB_PREFIX . "return_history rh LEFT JOIN
       ]]></add>
    </operation>
  </file>
  <file name="catalog/view/theme/*/template/account/return_info.tpl">
    <operation>
      <search position="replace" offset="6"><![CDATA[
  <h2><?php echo $text_history; ?></h2>
      ]]></search>
      <add><![CDATA[
  <h2><?php echo $text_history; ?></h2>
  <table class="list">
    <thead>
      <tr>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) -->
        <td class="left" style="width: 25%;"><?php echo $column_date_added; ?></td>
        <td class="left" style="width: 25%;"><?php echo $column_status; ?></td>
        <td class="left" style="width: 25%;"><?php echo $column_tracking; ?></td>
        <td class="left" style="width: 25%;"><?php echo $column_comment; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS) -->
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
        <?php echo $history['status']; ?>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) -->
        <td class="left"><?php echo $history['tracking']; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS) -->
       ]]></add>
    </operation>
  </file>

<!-- ############################### ADMIN ################################# -->

<!-- ========== COMMON ========== -->

  <file name="admin/language/english/common/header.php">
    <operation>
      <search position="after"><![CDATA[
$_['text_zone']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
$_['text_package_tracking']           = 'Package Tracking';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="admin/controller/common/header.php">
    <operation>
      <search position="after"><![CDATA[
      $this->data['zone'] = $this->url->link('localisation/zone', 'token=' . $this->session->data['token'], 'SSL');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
      $this->data['package_tracking'] = $this->url->link('module/package_tracking', 'token=' . $this->session->data['token'], 'SSL');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
    $this->data['text_zone'] = $this->language->get('text_zone');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
    $this->data['text_package_tracking'] = $this->language->get('text_package_tracking');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="admin/view/template/common/header.tpl">
    <operation>
      <search position="after"><![CDATA[
              <li><a href="<?php echo $weight_class; ?>"><?php echo $text_weight_class; ?></a></li>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
              <li><a href="<?php echo $package_tracking; ?>"><?php echo $text_package_tracking; ?></a></li>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
  </file>

<!-- ========== SETTINGS ========== -->

  <file name="admin/language/english/setting/setting.php">
    <operation>
      <search position="after"><![CDATA[
$_['entry_google_analytics']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
$_['entry_default_tracker']        = 'Default Carrier:';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="admin/controller/setting/setting.php">
    <operation>
      <search position="after"><![CDATA[
    $this->data['weight_classes'] = $this->model_localisation_weight_class->getWeightClasses();
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
    if (isset($this->request->post['config_tracker_id'])) {
      $this->data['config_tracker_id'] = $this->request->post['config_tracker_id'];
    } else {
      $this->data['config_tracker_id'] = $this->config->get('config_tracker_id');
    }

    $this->load->model('module/package_tracking');
    $this->data['trackers'] = $this->model_module_package_tracking->getTrackers();
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
    $this->data['entry_weight_class'] = $this->language->get('entry_weight_class');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
    $this->data['entry_default_tracker'] = $this->language->get('entry_default_tracker');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="admin/view/template/setting/setting.tpl">
    <operation>
      <search position="before" offset="2"><![CDATA[
        <div id="tab-option">
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
            <tr>
              <td><?php echo $entry_default_tracker; ?></td>
              <td><select name="config_tracker_id">
                <option value="0"><?php echo $text_none; ?></option>
                <?php foreach ($trackers as $tracker) { ?>
                  <?php if ($tracker['tracker_id'] == $config_tracker_id) { ?>
                  <option value="<?php echo $tracker['tracker_id']; ?>" selected="selected"><?php echo $tracker['tracker_carrier_name']; ?></option>
                  <?php } else { ?>
                  <option value="<?php echo $tracker['tracker_id']; ?>"><?php echo $tracker['tracker_carrier_name']; ?></option>
                  <?php } ?>
                <?php } ?>
              </select></td>
            </tr>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
  </file>

<!-- ========== ORDERS ========== -->

  <file name="admin/language/english/sale/order.php">
    <operation>
      <search position="after"><![CDATA[
$_['error_permission']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
$_['error_tracking_numbers']                  = 'Tracking numbers bad defined';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
$_['entry_notify']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
$_['entry_tracker_name']                      = 'Carrier:';
$_['entry_tracking_numbers']                  = 'Tracking numbers:';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
$_['column_notify']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
$_['column_tracking']                         = 'Carrier<br \>Tracking Numbers';
$_['column_last_tracking']                    = 'Last Tracking';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
   </file>

  <file name="admin/language/english/mail/order.php">
    <operation>
      <search position="after"><![CDATA[
$_['text_footer']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
$_['text_tracking_infos'] = 'Carrier and package(s) tracking number(s):';
$_['text_tracking_links'] = 'You can trace your(s) package(s) with the link(s) below:';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="admin/model/sale/order.php">
    <operation>
      <search position="before"><![CDATA[
  public function getTotalOrderHistoriesByOrderStatusId($order_status_id) {
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
  public function getTotalOrderHistoriesByTrackerId($tracker_id) {
    $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "order_history WHERE tracker_id = '" . (int)$tracker_id . "'");

    return $query->row['total'];
  }
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[FROM " . DB_PREFIX . "order_history oh LEFT JOIN " . DB_PREFIX . "order_status os ON oh.order_status_id = os.order_status_id]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[FROM " . DB_PREFIX . "order_history oh LEFT JOIN " . DB_PREFIX . "order_status os ON oh.order_status_id = os.order_status_id]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA[FROM " . DB_PREFIX . "order_history oh LEFT JOIN " . DB_PREFIX . "order_status os ON oh.order_status_id = os.order_status_id]]></search>
      <add><![CDATA[, oh.tracker_id, oh.tracking_numbers FROM " . DB_PREFIX . "order_history oh LEFT JOIN " . DB_PREFIX . "order_status os ON oh.order_status_id = os.order_status_id]]></add>
    </operation>
    <operation>
      <search position="after" offset="2"><![CDATA[
        $message .= html_entity_decode($order_info['store_url'] . 'index.php?route=account
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
      if (isset($data['tracker_id']) and $data['tracker_id'] > 0) {
        // Separate datas and message for caption by other mods like HMTL Email Pro.
        $this->load->model('module/package_tracking');
        $tracker_info = $this->model_module_package_tracking->getTracker($data['tracker_id']);
        if (is_array($tracker_info) and !empty($tracker_info)) {
          $text_tracking_carrier = $language->get('text_tracking_infos')."\n".$tracker_info['tracker_carrier_name'];
          if (isset($data['tracking_numbers']) and $data['tracking_numbers'] != '') {
            $text_tracking_carrier .= ' - ' . preg_replace("/[,;]+/", ', ', $data['tracking_numbers']);
            if ($tracker_info['tracker_status']) {
              $tracking_numbers_array = preg_split("/[,;]+/", $data['tracking_numbers'], -1, PREG_SPLIT_NO_EMPTY);
              if ($tracking_numbers_array_count = count($tracking_numbers_array)) {
                $text_tracking_links = "\n\n".$language->get('text_tracking_links');
                $tracking_links_array = array();
                $tracking_links_string = '';
                for ($k = 0; $k < $tracking_numbers_array_count; $k++) {
                  $str = sprintf($tracker_info['tracker_carrier_link'], trim($tracking_numbers_array[$k]));
                  $tracking_links_array[$k] = $str;
                  $tracking_links_string .= "\n".$str;
                }
              }
            }
          }
        } else {
          $text_tracking_carrier = 'Tracker ID = '.$data['tracker_id'].' not found.';
        }

        if (isset($text_tracking_carrier)) {
          $message .= $text_tracking_carrier;
          if (isset($text_tracking_links)) {
            $message .= $text_tracking_links;
            if (isset($tracking_links_string)) $message .= $tracking_links_string;
          }
          $message .= "\n\n";
        }
      }
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
    $this->db->query("INSERT INTO " . DB_PREFIX . "order_history SET
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA[notify = '" . (isset($data['notify']) ? (int)$data['notify'] : 0) . "',]]></search>
      <add><![CDATA[notify = '" . (isset($data['notify']) ? (int)$data['notify'] : 0) . "', tracker_id = '" . (int)$data['tracker_id'] . "', tracking_numbers = '" . $this->db->escape(strip_tags($data['tracking_numbers'])) . "',]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
    $this->db->query("INSERT INTO " . DB_PREFIX . "order_history SET
        ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
  </file>

  <file name="admin/controller/sale/order.php">
    <operation>
      <search position="after"><![CDATA[=> $product_data,]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (INVOICE)
          'histories'          => $history_data,
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (INVOICE)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
        $total_data = $this->model_sale_order->getOrderTotals($order_id);
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (INVOICE)
        $history_data = array();
        if ($this->config->get('pts_history_on_invoice')) {
          $this->data['column_date_added'] = $this->language->get('column_date_added');
          $this->data['column_status'] = $this->language->get('column_status');
          $this->data['column_notify'] = $this->language->get('column_notify');
          $this->data['column_comment'] = $this->language->get('column_comment');
          $this->data['column_tracking'] = $this->language->get('column_tracking');
  
          $this->load->model('module/package_tracking');
          $this->load->model('tool/image');
  
          $results = $this->model_sale_order->getOrderHistories($order_id, 0, 100);
  
          foreach ($results as $result) {
            $tracking_string = $this->model_module_package_tracking->renderTrackingNumbers($result['tracker_id'], $result['tracking_numbers'], false);
  
            if (!$this->config->get('pts_only_notified_on_invoice') or $result['notify']) {
              $history_data[] = array(
                'notify'     => $result['notify'] ? $this->language->get('text_yes') : $this->language->get('text_no'),
                'status'     => $result['status'],
                'comment'    => (strcmp($result['comment'], strip_tags(html_entity_decode($result['comment'], ENT_QUOTES, 'UTF-8'))) == 0) ? nl2br($result['comment']) : html_entity_decode($result['comment'], ENT_QUOTES, 'UTF-8'),
                'tracking'   => $tracking_string,
                'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added']))
                );
            }
          }
        }
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (INVOICE)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
          $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (HISTORY)
        'tracking'   => $tracking_string,
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
          $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (HISTORY)
      $tracking_string = $this->model_module_package_tracking->renderTrackingNumbers($result['tracker_id'], $result['tracking_numbers'], true);
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
    $results = $this->model_sale_order->getOrderHistories($this->request->get['order_id'], ($page - 1) * 10, 10);
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (HISTORY)
    $this->data['column_tracking'] = $this->language->get('column_tracking');

    $this->load->model('module/package_tracking');
    $this->load->model('tool/image');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
      $this->model_sale_order->addOrderHistory($this->request->get['order_id'], $this->request->post);
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (HISTORY)
        if ($this->request->post['tracking_numbers'] == '') $this->request->post['tracker_id'] = 0;
        if ($this->request->post['tracker_id'] == 0) $this->request->post['tracking_numbers'] = '';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
      $this->template = 'sale/order_info.tpl';
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (INFO)
      $this->load->model('module/package_tracking');
      $this->data['trackers'] = $this->model_module_package_tracking->getTrackers();
      $this->data['config_tracker_id'] = $this->config->get('config_tracker_id');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (INFO)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
      $this->data['column_remaining'] = $this->language->get('column_remaining');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (INFO)
      $this->data['text_none'] = $this->language->get('text_none');
      $this->data['entry_tracker_name'] = $this->language->get('entry_tracker_name');
      $this->data['entry_tracking_numbers'] = $this->language->get('entry_tracking_numbers');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (INFO)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
    $this->data['column_action'] = $this->language->get('column_action');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (ORDER_LIST)
    $this->data['column_last_tracking'] = $this->language->get('column_last_tracking');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (ORDER_LIST)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
        isset($this->request->post['selected']) && in_array($result['order_id'], $this->request->post['selected']),
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (ORDER_LIST)
        'last_tracking' => $last_tracking_link,
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (ORDER_LIST)
       ]]></add>
    </operation>
    <operation>
      <search position="before" index="1"><![CDATA[
			$this->data['orders'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (ORDER_LIST)
      $last_tracking_link = '';
      if ($this->config->get('pts_last_tracking')) {
        $this->load->model('module/package_tracking');
        $this->load->model('tool/image');

        $history_array = array();

        $history_results = $this->model_sale_order->getOrderHistories($result['order_id'], 1, 100);

        foreach ($history_results as $history_result) {
          $tracking_string = $this->model_module_package_tracking->renderTrackingNumbers($history_result['tracker_id'], $history_result['tracking_numbers'], true);

          $history_array[] = array(
            'tracking'   => $tracking_string,
            'notify'     => $history_result['notify'] ? $this->language->get('text_yes') : $this->language->get('text_no'),
            'status'     => $history_result['status'],
            'comment'    => nl2br($history_result['comment']),
            'date_added' => date($this->language->get('date_format_short'), strtotime($history_result['date_added']))
          );
        }


        for ($k = count($history_array); $k > 0; $k--) {
          if (!empty($history_array[$k - 1]['tracking'])) {
            $last_tracking_link = $history_array[$k - 1]['tracking'];
            break;
          }
        }
      }
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (ORDER_LIST)
       ]]></add>
    </operation>
  </file>


  <file name="admin/view/template/sale/order_history.tpl">
    <operation>
      <search position="before" index="1"><![CDATA[</tr>]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
      <td class="left"><b><?php echo $column_tracking; ?></b></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
    <operation>
      <search position="before" index="2"><![CDATA[</tr>]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
      <td class="left"><?php echo $history['tracking']; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
<!-- Test on 5 columns then 4. Needed for CUSTOM_E-MAIL_TEMPLATES_WITH_FULL_HTML_EDITOR -->
    <operation error="skip">
      <search position="replace"><![CDATA[
      <td class="center" colspan="5"><?php echo $text_no_results; ?></td>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
      <td class="center" colspan="6"><?php echo $text_no_results; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
    <operation error="skip">
      <search position="replace"><![CDATA[
      <td class="center" colspan="4"><?php echo $text_no_results; ?></td>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
      <td class="center" colspan="5"><?php echo $text_no_results; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
  </file>

  <file name="admin/view/template/sale/order_info.tpl">
    <operation>
      <search position="before"><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val())]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val())]]></search>
      <add><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val()) + '&tracker_id=' + encodeURIComponent($('select[name=\'tracker_id\']').val()) + '&tracking_numbers=' + encodeURIComponent($('input[name=\'tracking_numbers\']').val())]]></add>
    </operation>
    <operation>
     <search position="after"><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val())]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>

    <operation>
      <search position="after"><![CDATA[
      $('#order-status').html($('select[name=\'order_status_id\'] option:selected').text());
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN
      $('input[name=\'tracking_numbers\']').val('');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END
       ]]></add>
    </operation>
    <operation>
      <search position="after" offset="1"><![CDATA[
      <div id="history">
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN -->
          <tr>
            <td><?php echo $entry_tracker_name; ?></td>
            <td><select name="tracker_id">
              <option value="0"><?php echo $text_none; ?></option>
              <?php foreach ($trackers as $tracker) { ?>
                <?php if ($tracker['tracker_id'] == $config_tracker_id) { ?>
                <option value="<?php echo $tracker['tracker_id']; ?>" selected="selected"><?php echo $tracker['tracker_carrier_name']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $tracker['tracker_id']; ?>"><?php echo $tracker['tracker_carrier_name']; ?></option>
                <?php } ?>
              <?php } ?>
            </select></td>
          </tr>
          <tr>
            <td><?php echo $entry_tracking_numbers; ?></td>
            <td><input name="tracking_numbers" size="80" value="" /></td>
          </tr>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END -->
       ]]></add>
    </operation>
  </file>

  <file name="admin/view/template/sale/order_invoice.tpl">
    <operation>
      <search position="before"><![CDATA[
  <?php if ($order['comment']) { ?>
      ]]></search>
      <add><![CDATA[
  <?php if ($this->config->get('pts_history_on_invoice') and $order['histories']) { ?>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (INVOICE) -->
  <table class="history">
    <tbody>
      <tr class="heading">
        <td align="left" width="10%"><b><?php echo $column_date_added; ?></b></td>
        <td align="left" width="40%"><b><?php echo $column_comment; ?></b></td>
        <td align="left" width="15%"><b><?php echo $column_status; ?></b></td>
        <td align="left" width="5%"><b><?php echo $column_notify; ?></b></td>
        <td align="left" width="30%"><b><?php echo $column_tracking; ?></b></td>
      </tr>
      <?php foreach ($order['histories'] as $history) { ?>
      <tr>
        <td align="left"><?php echo $history['date_added']; ?></td>
        <td align="left"><?php echo $history['comment']; ?></td>
        <td align="left"><?php echo $history['status']; ?></td>
        <td align="left"><?php echo $history['notify']; ?></td>
        <td align="left"><?php echo $history['tracking']; ?></td>
      </tr>
      <?php } ?>
    </tbody>
  </table>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (INVOICE) -->
  <?php } ?>
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
</head>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (INVOICE) -->
<style>
.history {
	width: 100%;
	margin-bottom: 20px;
	border-top: 1px solid #CDDDDD;
	border-right: 1px solid #CDDDDD;
	border-collapse: collapse;
}
.history td {
	border-left: 1px solid #CDDDDD;
	border-bottom: 1px solid #CDDDDD;
	padding: 5px;
}
</style>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (INVOICE) -->
       ]]></add>
    </operation>
  </file>
  
  <file name="admin/view/template/sale/order_list.tpl">
    <operation>
      <search position="after"><![CDATA[
              <td class="left"><?php echo $order['status']; ?></td>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (ORDER_LIST) -->
              <?php if ($this->config->get('pts_last_tracking')) echo '<td class="left">' . $order['last_tracking'] . '</td>'; ?>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (ORDER_LIST) -->
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
              <td align="right"><input type="text" name="filter_total" value="<?php echo $filter_total; ?>" size="4" style="text-align: right;" /></td>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (ORDER_LIST) -->
              <?php if ($this->config->get('pts_last_tracking')) echo '<td>&nbsp;</td>'; ?>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (ORDER_LIST) -->
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
              <td class="right"><?php if ($sort == 'o.total') { ?>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (ORDER_LIST) -->
              <?php if ($this->config->get('pts_last_tracking')) echo '<td class="left">' . $column_last_tracking . '</td>'; ?>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (ORDER_LIST) -->
       ]]></add>
    </operation>
  </file>

<!-- ========== RETURNS ========== -->

  <file name="admin/language/english/sale/return.php">
    <operation>
      <search position="after"><![CDATA[
$_['error_permission']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
$_['error_tracking_numbers']                  = 'Tracking numbers bad defined';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
$_['entry_action']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
$_['entry_tracker_name']                      = 'Carrier:';
$_['entry_tracking_numbers']                  = 'Tracking numbers:';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
$_['column_action']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
$_['column_tracking']                         = 'Carrier<br \>Tracking Numbers';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
  </file>

  <file name="admin/language/english/mail/return.php">
    <operation>
      <search position="after"><![CDATA[
$_['text_footer']
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
$_['text_tracking_infos'] = 'Carrier and package(s) tracking number(s):';
$_['text_tracking_links'] = 'You can trace your(s) package(s) with the link(s) below:';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
  </file>

  <file name="admin/model/sale/return.php">
    <operation>
      <search position="before"><![CDATA[
  public function getTotalReturnHistoriesByReturnStatusId($return_status_id) {
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
  public function getTotalReturnHistoriesByTrackerId($tracker_id) {
    $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "return_history WHERE tracker_id = '" . (int)$tracker_id . "'");

    return $query->row['total'];
  }
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[FROM " . DB_PREFIX . "return_history rh LEFT JOIN " . DB_PREFIX . "return_status rs ON rh.return_status_id = rs.return_status_id]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[FROM " . DB_PREFIX . "return_history rh LEFT JOIN " . DB_PREFIX . "return_status rs ON rh.return_status_id = rs.return_status_id]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA[FROM " . DB_PREFIX . "return_history rh LEFT JOIN " . DB_PREFIX . "return_status rs ON rh.return_status_id = rs.return_status_id]]></search>
      <add><![CDATA[, rh.tracker_id, rh.tracking_numbers FROM " . DB_PREFIX . "return_history rh LEFT JOIN " . DB_PREFIX . "return_status rs ON rh.return_status_id = rs.return_status_id]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
        $message .= $return_query->row['status'] . "\n\n";
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
      if (isset($data['tracker_id']) and $data['tracker_id'] > 0) {
        // Separate datas and message for caption by other mods like HMTL Email Pro.
        $this->load->model('module/package_tracking');
        $tracker_info = $this->model_module_package_tracking->getTracker($data['tracker_id']);
        if (is_array($tracker_info) and !empty($tracker_info)) {
          $text_tracking_carrier = $this->language->get('text_tracking_infos')."\n".$tracker_info['tracker_carrier_name'];
          if (isset($data['tracking_numbers']) and $data['tracking_numbers'] != '') {
            $text_tracking_carrier .= ' - ' . preg_replace("/[,;]+/", ', ', $data['tracking_numbers']);
            if ($tracker_info['tracker_status']) {
              $tracking_numbers_array = preg_split("/[,;]+/", $data['tracking_numbers'], -1, PREG_SPLIT_NO_EMPTY);
              if ($tracking_numbers_array_count = count($tracking_numbers_array)) {
                $text_tracking_links = "\n\n".$this->language->get('text_tracking_links');
                $tracking_links_array = array();
                $tracking_links_string = '';
                for ($k = 0; $k < $tracking_numbers_array_count; $k++) {
                  $str = sprintf($tracker_info['tracker_carrier_link'], trim($tracking_numbers_array[$k]));
                  $tracking_links_array[$k] = $str;
                  $tracking_links_string .= "\n".$str;
                }
              }
            }
          }
        } else {
          $text_tracking_carrier = 'Tracker ID = '.$data['tracker_id'].' not found.';
        }

        if (isset($text_tracking_carrier)) {
          $message .= $text_tracking_carrier;
          if (isset($text_tracking_links)) {
            $message .= $text_tracking_links;
            if (isset($tracking_links_string)) $message .= $tracking_links_string;
          }
          $message .= "\n\n";
        }
      }
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
    $this->db->query("INSERT INTO " . DB_PREFIX . "return_history SET
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA[notify = '" . (isset($data['notify']) ? (int)$data['notify'] : 0) . "',]]></search>
      <add><![CDATA[notify = '" . (isset($data['notify']) ? (int)$data['notify'] : 0) . "', tracker_id = '" . (int)$data['tracker_id'] . "', tracking_numbers = '" . $this->db->escape(strip_tags($data['tracking_numbers'])) . "',]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
    $this->db->query("INSERT INTO " . DB_PREFIX . "return_history SET
        ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
  </file>

  <file name="admin/controller/sale/return.php">
    <operation>
      <search position="after"><![CDATA[
          $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURN_HISTORY)
        'tracking'   => $tracking_string,
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURN_HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
          $this->data['histories'][] = array(
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURN_HISTORY)
      $tracking_string = $this->model_module_package_tracking->renderTrackingNumbers($result['tracker_id'], $result['tracking_numbers'], true);
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURN_HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
    $results = $this->model_sale_return->getReturnHistories($this->request->get['return_id'], ($page - 1) * 10, 10);
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURN_HISTORY)
    $this->data['column_tracking'] = $this->language->get('column_tracking');

    $this->load->model('module/package_tracking');
    $this->load->model('tool/image');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURN_HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
      $this->model_sale_return->addReturnHistory($this->request->get['return_id'], $this->request->post);
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURN_HISTORY)
        if ($this->request->post['tracking_numbers'] == '') $this->request->post['tracker_id'] = 0;
        if ($this->request->post['tracker_id'] == 0) $this->request->post['tracking_numbers'] = '';
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURN_HISTORY)
       ]]></add>
    </operation>
    <operation>
      <search position="before"><![CDATA[
      $this->template = 'sale/return_info.tpl';
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS_INFO)
      $this->load->model('module/package_tracking');
      $this->data['trackers'] = $this->model_module_package_tracking->getTrackers();
      $this->data['config_tracker_id'] = $this->config->get('config_tracker_id');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS_INFO)
       ]]></add>
    </operation>
    <operation>
      <search position="after"><![CDATA[
      $this->data['text_comment'] = $this->language->get('text_comment');
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS_INFO)
      $this->data['text_none'] = $this->language->get('text_none');
      $this->data['entry_tracker_name'] = $this->language->get('entry_tracker_name');
      $this->data['entry_tracking_numbers'] = $this->language->get('entry_tracking_numbers');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS_INFO)
       ]]></add>
    </operation>
  </file>

  <file name="admin/view/template/sale/return_history.tpl">
    <operation>
      <search position="before" index="1"><![CDATA[</tr>]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) -->
      <td class="left"><b><?php echo $column_tracking; ?></b></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS) -->
       ]]></add>
    </operation>
    <operation>
      <search position="before" index="2"><![CDATA[</tr>]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) -->
      <td class="left"><?php echo $history['tracking']; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS) -->
       ]]></add>
    </operation>
<!-- Test on 5 columns then 4. Needed for CUSTOM_E-MAIL_TEMPLATES_WITH_FULL_HTML_EDITOR -->
    <operation error="skip">
      <search position="replace"><![CDATA[
      <td class="center" colspan="5"><?php echo $text_no_results; ?></td>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) -->
      <td class="center" colspan="6"><?php echo $text_no_results; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS) -->
       ]]></add>
    </operation>
    <operation error="skip">
      <search position="replace"><![CDATA[
      <td class="center" colspan="4"><?php echo $text_no_results; ?></td>
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) -->
      <td class="center" colspan="5"><?php echo $text_no_results; ?></td>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS) -->
       ]]></add>
    </operation>
  </file>

  <file name="admin/view/template/sale/return_info.tpl">
    <operation>
      <search position="before"><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val())]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) - 2 fields added
       ]]></add>
    </operation>
    <operation>
      <search position="replace"><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val())]]></search>
      <add><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val()) + '&tracker_id=' + encodeURIComponent($('select[name=\'tracker_id\']').val()) + '&tracking_numbers=' + encodeURIComponent($('input[name=\'tracking_numbers\']').val())]]></add>
    </operation>
    <operation>
     <search position="after"><![CDATA['&comment=' + encodeURIComponent($('textarea[name=\'comment\']').val())]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>

    <operation>
      <search position="after"><![CDATA[
      $('#return-status').html($('select[name=\'return_status_id\'] option:selected').text());
      ]]></search>
      <add><![CDATA[
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS)
      $('#tab-history input[name=\'tracking_numbers\']').val('');
// MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS)
       ]]></add>
    </operation>
    <operation>
      <search position="after" offset="1"><![CDATA[
      <div id="history">
      ]]></search>
      <add><![CDATA[
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_BEGIN (RETURNS) -->
          <tr>
            <td><?php echo $entry_tracker_name; ?></td>
            <td><select name="tracker_id">
              <option value="0"><?php echo $text_none; ?></option>
              <?php foreach ($trackers as $tracker) { ?>
                <?php if ($tracker['tracker_id'] == $config_tracker_id) { ?>
                <option value="<?php echo $tracker['tracker_id']; ?>" selected="selected"><?php echo $tracker['tracker_carrier_name']; ?></option>
                <?php } else { ?>
                <option value="<?php echo $tracker['tracker_id']; ?>"><?php echo $tracker['tracker_carrier_name']; ?></option>
                <?php } ?>
              <?php } ?>
            </select></td>
          </tr>
          <tr>
            <td><?php echo $entry_tracking_numbers; ?></td>
            <td><input name="tracking_numbers" size="100" value="" /></td>
          </tr>
<!-- MODULOOM_PACKAGE_TRACKING_MODIFICATION_END (RETURNS) -->
       ]]></add>
    </operation>
  </file>
</modification>
