|
MANORM155 ?>
| Create order '; ?> |
|
ORED5066 ?>
' . tep_image_button('button_back.gif', IMAGE_BACK) . ''; ?> |
|
|
|
customer['format_id'], $order->customer, 1, '', ' '); ?> |
|
|
customer['telephone']; ?> |
|
customer['email_address'] . '">' . $order->customer['email_address'] . ''; ?> |
|
|
delivery['format_id'], $order->delivery, 1, '', ' '); ?> |
|
|
billing['format_id'], $order->billing, 1, '', ' '); ?> |
|
|
|
|
|
|
info['payment_method']; ?> |
info['cc_type']) || tep_not_null($order->info['cc_owner']) || tep_not_null($order->info['cc_number'])) {
?>
|
|
info['cc_type']; ?> |
|
info['cc_owner']; ?> |
|
info['cc_number']; ?> |
|
info['cc_expires']; ?> |
|
|
|
|
|
|
|
|
|
products); $i<$n; $i++) {
echo ' ' . "\n" .
' | ' . $order->products[$i]['qty'] . ' x | ' . "\n" .
' ' . $order->products[$i]['name'];
if (isset($order->products[$i]['attributes']) && (sizeof($order->products[$i]['attributes']) > 0)) {
for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j++) {
echo ' - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];
if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')';
echo '';
}
}
$customer_partner_id = $order->customer['id'];
// pour pouvoir récuperer le statut partenaire et le coeff partenaire du client
$customer_is_partner = tep_db_query("select is_partner, coeff_partner from customers where customers_id = '".$customer_partner_id."'");
$customer_partner = tep_db_fetch_array($customer_is_partner);
if ($customer_partner['is_partner']==true && $order->products[$i]['final_price'] > $order->products[$i]['cost']* $customer_partner['coeff_partner']) {
echo ' | ' . "\n" .
' ' . $order->products[$i]['model'] . ' | ' . "\n" .
' ' . tep_display_tax_value($order->products[$i]['tax']) . '% | ' . "\n" .
' ' . $currencies->format($order->products[$i]['cost']* $customer_partner['coeff_partner'], true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n" .
' ' . $currencies->format(tep_add_tax($order->products[$i]['cost']* $customer_partner['coeff_partner'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n" .
' ' . $currencies->format($order->products[$i]['cost'] * $order->products[$i]['qty']* $customer_partner['coeff_partner'], true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n" .
' ' . $currencies->format(tep_add_tax($order->products[$i]['cost'], $order->products[$i]['tax']) * $order->products[$i]['qty']* $customer_partner['coeff_partner'], true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n";
echo ' ' . "\n";
}else {
echo ' ' . "\n" .
' ' . $order->products[$i]['model'] . ' | ' . "\n" .
' ' . tep_display_tax_value($order->products[$i]['tax']) . '% | ' . "\n" .
' ' . $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n" .
' ' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n" .
' ' . $currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n" .
' ' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ' | ' . "\n";
echo ' ' . "\n";
}
}
?>
totals); $i < $n; $i++) {
echo ' ' . "\n" .
' | ' . $order->totals[$i]['title'] . ' | ' . "\n" .
' ' . $order->totals[$i]['text'] . ' | ' . "\n" .
' ' . "\n";
}
?>
|
|
|
|
|
|
|
' . "\n" .
' ' . tep_datetime_short($orders_history['date_added']) . ' | ' . "\n" .
' ';
if ($orders_history['customer_notified'] == '1') {
echo tep_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . " | \n";
} else {
echo tep_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "\n";
}
echo ' ' . $orders_status_array[$orders_history['orders_status_id']] . ' | ' . "\n" .
// -> 0000003: icirelais/exapaq
' ' . /*icirelais_function optionnal */ display_htmllink_if_web_address(nl2br(tep_db_output($orders_history['comments']))) . ' | ' . "\n" .
// <- 0000003
' ' . "\n";
}
} else {
echo ' ' . "\n" .
' | ' . TEXT_NO_ORDER_HISTORY . ' | ' . "\n" .
' ' . "\n";
}
?>
|
|
|
|
|
|
ORED5066 ?>
| ' . tep_image_button('button_edit.gif', IMAGE_EDIT) . ' ' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . ' ' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . ' ' . tep_image_button('button_back.gif', IMAGE_BACK) . ' '; ?> |
|
|
|
|
|
|
0) && $HTTP_GET_VARS['ral_mode'] != 'activate_ral_mode' ) {
// -> OSC-2 : Mode Expertise RAL
$status = tep_db_prepare_input($HTTP_GET_VARS['status']);
$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' order by o.orders_id DESC";
// <- OSC-2 : Mode Expertise RAL
/*
Ce code php effectue le tri en mode Expertise RAL (voir plus haut comment l'activer).
fix: on vérifie aussi que la valeur de ral_days est bien un chiffre valide, et non autre chose..
*/
} elseif ( isset($HTTP_GET_VARS['ral_mode']) && $HTTP_GET_VARS['ral_mode'] == 'activate_ral_mode' && !empty($HTTP_GET_VARS['ral_days']) && intval(is_numeric($HTTP_GET_VARS['ral_days'])) ) {
// Si la variable GET ral_mode existe et est égale à "activate_ral_mode" et que ral_days existe et n'est ni vide.. alors:
//
// petite note pour vous: le code: if ( !empty(isset($var)) ) PROVOQUERA une erreur de T_ISSET (compilation), car PHP ne les tolère pas en imbriquée.
// la raison: empty : vérifie si la variable existe (donc simule un isset) et aussi si elle vide (empty)
// autre raison: isset() sert généralement à vérifier l'existence de variable, sans vérifier leur contenu, empty() à vérifier le contenu de quelque chose reçu par php.
//
// selon la doc php:
//
// empty() ne vérifie que les variables. toute autre chose retournera une erreur d'analyse.
// En d'autres termes, ce qui suit ne fonctionne pas : empty(trim($name)).
// isset() fonctionne uniquement avec des variables car l'utilisation de toute autre chose aura comme conséquence une erreur d'analyse.
// Pour vérifier si une constante est définie, utilisez la fonction defined().
//
// on effectue la requête MySQL des produits qui restent à livrer uniquement.
// NOTE: la requête ne peut pas être exécutée en une seule ligne/fois car sinon, cela fait partir PHP en timeout (et n'est pas du tout optimisé).
/* PREMIERE PARTIE DE LA REQUETE: Récupérer le products_id de la table stockadd. */
// on initialise une variable qui contiendra nos mouvements de stocks sous forme de string unique.
/*
Il faut lui donner une valeur différente de vide sinon MySQL demandera à osCommerce (via PHP..) de planter car la requête du SELECT serait "vide"..
De plus, comme osCommerce gère lui-même ses fonctions MySQL (soit: tep_db_query, tep_db_fetch_array) :
il vaut mieux utiliser la méthode de la variable non-vide plutôt que de modifier les fonctions que osCommerce initialises..
Au final, cela fonctionne et ne retourne plus d'erreur, il s'agit simplement de donner par défaut la valeur: '0', à la variable $added_products_ids.
*/
$added_products_ids = "'0',";
// on récupère le mouvement de stock.
// osCommerce requière de garder la structure minuscule pour les requêtes (curieusement, mis à part le DESC ou ASC), ce qui est contre-indiqué dans la doc PHP officielle, mais bon..
// ajout: petite fonction de sécurisation de la requête, risque d'injection SQL sinon.
$orders_query_raw = "select distinct products_id from stockadd where TO_DAYS(NOW()) - TO_DAYS(date_created) <= ".mysql_real_escape_string($HTTP_GET_VARS['ral_days']);
$orders_query = tep_db_query($orders_query_raw);
// on rempli la variable
while ($orders = tep_db_fetch_array($orders_query)) {
$added_products_ids .= "'" . $orders['products_id'] . "',";
}
// on efface le dernier caractère correspondant à une virgule (car sinon une erreur d'analyse de la requête MySQL qui en résulterait serait provoquée)..
// pour cela, on utilise ma méthode favorite: les expressions régulières !
$added_products_ids = preg_replace("/(,)$/", "", $added_products_ids);
// préparation de la deuxième partie de la requête selon condition
if ( empty($HTTP_GET_VARS['status']) )
{
/* DEUXIEME PARTIE DE LA REQUETE: alternative 1: Récupérer le orders_id de la table orders_products de chacun des éléments trouvés. On ne se sert pas de la liste des status */
// on initialise la requête.
// la requête d'un SELECT DISTINCT, imbriqué en sous-requête MySQL, doit toujours être entourée de parenthèses, et ce, avant le ORDER BY.
//
// On vérifies dans la foulée (pendant la requête) que le statut de la commande ne soit pas égale au code status (id paramétré) pour l'état Expédié.
// On utilises pour cela votre constante PHP déclarée plus haut.
//
$included = RAL_ORDER_STATUS_INCLUDED;
if ( empty($included) ) { $order_status_filter=""; }
else if (strstr($included, ",") ) { $order_status_filter="and o.orders_status in (" . $included . ") "; }
else { $order_status_filter = "and o.orders_status = '" . $included . "' "; }
$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, o.customer_service_id, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id $order_status_filter and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' and o.orders_id in ( select distinct orders_id from " . TABLE_ORDERS_PRODUCTS . " where products_id in (".$added_products_ids.") ) order by o.orders_id DESC";
}
else if ( !empty($HTTP_GET_VARS['status']) )
{
/* DEUXIEME PARTIE DE LA REQUETE: alternative 2: Récupérer le orders_id de la table orders_products de chacun des éléments trouvés. On se sert de la liste des status */
// on initialise la requête.
// la requête d'un SELECT DISTINCT, imbriqué en sous-requête MySQL, doit toujours être entourée de parenthèses, et ce, avant le ORDER BY.
// Il ne faut pas écrire de sous-requête en PLEIN milieu quand on joint des tables mais quasiment avant la fin, sinon cela provoque des erreurs SQL.
// Autre chose, la requête SQL avant une sous-requête ne doit absolument pas prendre de 'WHERE' sinon, cela fera inmanquablement planter la commande SQL.
// Il vaut mieux remplacer par des: AND le_champ IN ( sous-requête.... Select distinct par exemple) ...
// (aussi: voir le $_GET['status'] ou $HTTP_GET_VARS['status']) ..
// ajout: petite fonction de sécurisation de la requête, risque d'injection SQL sinon.
//
// Nous n'interdisons pas non plus l'affichage des commandes qui ont un statut "Expédié" qui sont déjà expédié, car elles peuvent avoir été expédiées mais en partie seulement.
// osCommerce dispose de sa propre façon de consulter les statuts expédiés quand il n'est pas en mode RAL !
// Comme ici, nous sommes en mode RAL, la façon que osCommerce vérifie par défaut a été occulté.
//
// cela fixe aussi une erreur de démultiplication de toutes les commandes identiques d'un même client.
// ceci s'explique par le fait qu'une commande puisse être passée par différents autres statut que celui actuellement le dernier en lice.
$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, o.customer_service_id, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = '".mysql_real_escape_string($HTTP_GET_VARS['status'])."' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' and o.orders_id in ( select distinct orders_id from " . TABLE_ORDERS_PRODUCTS . " where products_id in (".$added_products_ids.") ) order by o.orders_id DESC";
}
// si le mode expertise RAL n'est pas activé alors:
} else {
// -> OSC-2 : Mode Expertise RAL
// -> MANORM155
$orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, o.customer_service_id, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC";
// echo "orders_query_raw=$orders_query_raw\n";
// <- MANORM155
}
$orders_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_query_raw, $orders_query_numrows);
$orders_query = tep_db_query($orders_query_raw);
while ($orders = tep_db_fetch_array($orders_query)) {
if ((!isset($HTTP_GET_VARS['oID']) || (isset($HTTP_GET_VARS['oID']) && ($HTTP_GET_VARS['oID'] == $orders['orders_id']))) && !isset($oInfo)) {
$oInfo = new objectInfo($orders);
}
if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) {
echo ' ' . "\n";
} else {
echo ' ' . "\n";
}
?>
| ' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . ' ' . $orders['customers_name']; ?> |
|
|
|
orders_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . ''; } ?> |
| display_count($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS); ?> |
display_links($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page'], tep_get_all_get_params(array('page', 'oID', 'action'))); ?> |
|
|
'' . TEXT_INFO_HEADING_DELETE_ORDER . '');
$contents = array('form' => tep_draw_form('orders', FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=deleteconfirm'));
$contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '
' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '');
$contents[] = array('text' => ' ' . tep_draw_checkbox_field('restock') . ' ' . TEXT_INFO_RESTOCK_PRODUCT_QUANTITY);
$contents[] = array('align' => 'center', 'text' => ' ' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' ' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '');
break;
default:
if (isset($oInfo) && is_object($oInfo)) {
$heading[] = array('text' => '[' . $oInfo->orders_id . '] ' . tep_datetime_short($oInfo->date_purchased) . '');
// -> ORED5066+MANORM155
// vd, 12/9/2013 : demande du client : suppression du bouton effacer
/*
$contents[] = array('align' => 'center', 'text' => '' . tep_image_button('button_details.gif', IMAGE_DETAILS) . ' ' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '');
*/
// -> OSC-91: Transformation bouton image en bouton texte
// -> OSC-90 - Gestion de la facture proforma
$contents[] = array('align' => 'center', 'text' => tep_button(TEXT_BUTTON_INVOICE, tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $oInfo->orders_id), ' TARGET="_blank"') . " " .
tep_button(TEXT_BUTTON_INVOICE_PROFORMA, tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $oInfo->orders_id . '&display_mode=P'), ' TARGET="_blank"'));
// <- OSC-90 - Gestion de la facture proforma
$contents[] = array('align' => 'center', 'text' => tep_button(TEXT_BUTTON_PREPARATORY_LIST, tep_href_link(FILENAME_ORDERS_INVOICE_ADMIN, 'oID=' . $oInfo->orders_id), '" TARGET="_blank"') . " " .
tep_button(TEXT_BUTTON_PACKINGSLIP, tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $oInfo->orders_id), '" TARGET="_blank"'));
$contents[] = array('align' => 'center', 'text' => tep_button(TEXT_BUTTON_INVOICE_EDIT, tep_href_link(FILENAME_ORDERS_EDIT, 'oID=' . $oInfo->orders_id), '" TARGET="_blank"'). " " .
tep_button(TEXT_BUTTON_CREATE_INVOICE, tep_href_link(FILENAME_CREATE_ORDER), '" TARGET="_blank"'));
// -> OSC-99 - Gestion des agents commerciaux
require(DIR_WS_CLASSES . 'commissions.php');
$commissions = new Commissions();
$comId = $commissions->findCommissionId($oInfo->orders_id);
if ( $comId != '' )
$contents[] = array('align' => 'center', 'text' => tep_button(TEXT_BUTTON_EDIT_COMMISSIONS, tep_href_link(FILENAME_COMMISSIONS, 'action=edit&comID=' . $comId), '" TARGET="_blank"'));
else
$contents[] = array('align' => 'center', 'text' => tep_button(TEXT_BUTTON_CREATE_COMMISSIONS, tep_href_link(FILENAME_COMMISSIONS, 'action=create&orders_id=' . $oInfo->orders_id), '" TARGET="_blank"'));
// <- OSC-99 - Gestion des agents commerciaux
// <- ORED5066+MANORM155
// -> VDUPS: génération du fichier XML/UPS
$contents[] = array('align' => 'center', 'text' => '' . accrosys_tep_image('logo_ups', IMAGE_ORDERS_UPS) . '');
// <- VDUPS: génération du fichier XML/UPS
// -> 0000003: affichage bouton exapaq
$contents[] = array('align' => 'center', 'text' => '' . accrosys_tep_image('logo_exapaq', IMAGE_ORDERS_EXAPAQ) . '');
// <- 0000003
$contents[] = array('text' => ' ' . TEXT_DATE_ORDER_CREATED . ' ' . tep_date_short($oInfo->date_purchased));
if (tep_not_null($oInfo->last_modified)) $contents[] = array('text' => TEXT_DATE_ORDER_LAST_MODIFIED . ' ' . tep_date_short($oInfo->last_modified));
$contents[] = array('text' => ' ' . TEXT_INFO_PAYMENT_METHOD . ' ' . $oInfo->payment_method);
// -> MANORM155
$contents[] = array('text' => ' ' . TEXT_INFO_CUSTOMER_SERVICE_ID . ' ' . $oInfo->customer_service_id);
// <- MANORM155
// <- OSC-91: Transformation bouton image en bouton texte
}
break;
}
//################### FACTURE D'AVOIR ##############################
$orders_avoir = tep_db_query("select orders_avoir_id from " . TABLE_ORDERS . " where orders_id = '" . $oInfo->orders_id . "'"); $orders_avoir_id = tep_db_fetch_array($orders_avoir);
echo '
' . "\n";
if ( (tep_not_null($heading)) && (tep_not_null($contents)) && $orders_avoir_id['orders_avoir_id'] == '' ) {
echo '
| ' . "\n";
$box = new box;
echo $box->infoBox($heading, $contents);
echo ' | ' . "\n";
}
?>
'' . TEXT_INFO_HEADING_DELETE_ORDER . '');
$contents = array('form' => tep_draw_form('orders', FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=deleteconfirm'));
$contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '
' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '');
$contents[] = array('text' => ' ' . tep_draw_checkbox_field('restock') . ' ' . TEXT_INFO_RESTOCK_PRODUCT_QUANTITY);
$contents[] = array('align' => 'center', 'text' => ' ' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' ' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '');
}
break;
default:
if (isset($oInfo) && is_object($oInfo)) {
$heading[] = array('text' => '' . TEXT_INFO_HEADING_CREDIT_NOTE . '[' . $orders_avoir_id['orders_avoir_id'] . '] ');
if ($orders_avoir_id['orders_avoir_id'] == '') {
$contents[] = array('align' => 'center', 'text' => '' . tep_image_button('button_insert.gif', IMAGE_INSERT) . '');
}
if ($orders_avoir_id['orders_avoir_id'] != '') {
$contents[] = array('align' => 'center', 'text' => '' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '');
//$contents[] = array( 'align' => 'center', 'text' => ' ' . tep_image_button('button_edit.gif', IMAGE_EDIT) . ' ' . tep_image_button('button_invoice_avoir.gif', IMAGE_ORDERS_INVOICE_AVOIR));
$contents[] = array( 'align' => 'center', 'text' => ' ' . tep_image_button('button_edit.gif', IMAGE_EDIT) . ' ' . tep_image_button('button_invoice_avoir.gif', IMAGE_ORDERS_INVOICE_AVOIR));
}
$contents[] = array('text' => ' ' . TEXT_DATE_ORDER_CREATED . ' ' . tep_date_short($oInfo->date_purchased));
if (tep_not_null($oInfo->last_modified)) $contents[] = array('text' => TEXT_DATE_ORDER_LAST_MODIFIED . ' ' . tep_date_short($oInfo->last_modified));
$contents[] = array('text' => ' ' . TEXT_INFO_PAYMENT_METHOD . ' ' . $oInfo->payment_method);
$contents[] = array('text' => ' ' . TEXT_CUSTOMERS_ID . ' ' . $oInfo->customers_id);
}
break;
}
if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
echo '
| ' . "\n";
$box_avoir = new box;
echo $box_avoir->infoBox($heading, $contents);
echo ' | ' . "\n";
}
echo ' | ' . "\n";
//################### FIN FACTURE D'AVOIR ##############################
?>
|
|