PEEL Shopping
Open source ecommerce : PEEL Shopping
ventes.php
Go to the documentation of this file.
1 <?php
2 // This file should be in UTF8 without BOM - Accents examples: éèê
3 // +----------------------------------------------------------------------+
4 // | Copyright (c) 2004-2015 Advisto SAS, service PEEL - contact@peel.fr |
5 // +----------------------------------------------------------------------+
6 // | This file is part of PEEL Shopping 8.0.0, which is subject to an |
7 // | opensource GPL license: you are allowed to customize the code |
8 // | for your own needs, but must keep your changes under GPL |
9 // | More information: https://www.peel.fr/lire/licence-gpl-70.html |
10 // +----------------------------------------------------------------------+
11 // | Author: Advisto SAS, RCS 479 205 452, France, https://www.peel.fr/ |
12 // +----------------------------------------------------------------------+
13 // $Id: ventes.php 47003 2015-09-22 15:53:34Z sdelaporte $
14 define('IN_PEEL_ADMIN', true);
15 include("../configuration.inc.php");
17 necessite_priv("admin_sales");
18 
19 $GLOBALS['DOC_TITLE'] = $GLOBALS['STR_ADMIN_VENTES_TITLE'];
20 $output = '';
21 
22 $tpl = $GLOBALS['tplEngine']->createTemplate('admin_ventes_information_select.tpl');
23 $tpl->assign('payment_status_options', get_payment_status_options(vb($_GET['statut'])));
24 $tpl->assign('STR_ORDER_STATUT_PAIEMENT', $GLOBALS['STR_ORDER_STATUT_PAIEMENT']);
25 $tpl->assign('STR_ADMIN_ALL_ORDERS', $GLOBALS['STR_ADMIN_ALL_ORDERS']);
27 $output .= get_admin_date_filter_form($GLOBALS['STR_ADMIN_VENTES_RESULTS_TITLE'], $information_select_html);
28 
29 // PROCESS
30 if (isset($_GET['jour1']) or isset($dateAdded1)) {
31  $check_admin_date_data = check_admin_date_data($_GET);
32  if (empty($check_admin_date_data)) {
33  $dateAdded1 = $_GET['an1'] . '-' . str_pad($_GET['mois1'], 2, 0, STR_PAD_LEFT) . '-' . str_pad($_GET['jour1'], 2, 0, STR_PAD_LEFT) . " 00:00:00";
34  $dateAdded2 = $_GET['an2'] . '-' . str_pad($_GET['mois2'], 2, 0, STR_PAD_LEFT) . '-' . str_pad($_GET['jour2'], 2, 0, STR_PAD_LEFT) . " 23:59:59";
35  if (vb($_GET['order_date_field_filter']) == 'a_timestamp') {
36  $date_field = "a_timestamp";
37  } elseif (vb($_GET['order_date_field_filter']) == 'e_datetime') {
38  $date_field = "e_datetime";
39  } elseif (vb($_GET['order_date_field_filter']) == 'f_datetime') {
40  $date_field = "f_datetime";
41  } else {
42  $date_field = "o_timestamp";
43  }
44  $extra_csv_param = '&date_field='.$date_field;
45  $sql = "SELECT c.*
46  FROM peel_commandes c
47  WHERE " . get_filter_site_cond('commandes', 'c', true) . " AND c." . word_real_escape_string($date_field) . ">='" . nohtml_real_escape_string($dateAdded1) . "' AND c." . word_real_escape_string($date_field) . "<='" . nohtml_real_escape_string($dateAdded2) . "'";
48  if (isset($_GET['statut']) && is_numeric($_GET['statut'])) {
49  $sql .= " AND c.id_statut_paiement = '" . intval($_GET['statut']) . "'";
50  $extra_csv_param .= "&id_statut_paiement=" . intval($_GET['statut']);
51  }
52  $sql .= "
53  ORDER BY c." . word_real_escape_string($date_field);
54  $query = query($sql);
55 
56  $tpl = $GLOBALS['tplEngine']->createTemplate('admin_ventes.tpl');
57  $tpl->assign('period_text', ucfirst($GLOBALS['strStartingOn']) . ' ' . get_formatted_date($dateAdded1) . ' ' . $GLOBALS['strTillDay'] . ' ' . get_formatted_date($dateAdded2));
58  if (num_rows($query) > 0) {
59  $tpl_results = array();
60 
61  $totalVente = $totalVenteHt = 0;
62  $totalTransport = 0;
63  $netapayer = 0;
64  $totalAvoir = 0;
65  $totalTva = $totalTvaTransport = 0;
66  $i = 1;
67  while ($result = fetch_assoc($query)) {
68  $totalVente += $result['montant']+$result['avoir'];
69  $netapayer += $result['montant'];
70  $totalAvoir += $result['avoir'];
71  $totalVenteHt += $result['montant_ht'];
72  $totalTransport += $result['cout_transport'];
73  $totalTva += $result['total_tva'];
74  $totalTvaTransport += $result['tva_cout_transport'];
75  $vat_arrays[] = get_vat_array($result['code_facture']);
76  $avoir_devise_commande = '';
77  $montant_devise_commande = '';
78  $netapayer_devise_commande = '';
79  $montant_ht_devise_commande = '';
80  $total_tva_devise_commande = '';
81  $cout_transport_devise_commande = '';
82  if ($result['devise'] != $GLOBALS['site_parameters']['code']) {
83  // Si la devise de la commande est différente de la devise de l'admin alors on affiche le prix dans la devise de la commande en plus
84  $avoir_devise_commande = '(' . fprix($result['avoir'], true, $result['devise'], true, $result['currency_rate']) . ')';
85  $montant_devise_commande = '(' . fprix($result['montant']+$result['avoir'], true, $result['devise'], true, $result['currency_rate']) . ')';
86  $netapayer_devise_commande = '(' . fprix($result['montant'], true, $result['devise'], true, $result['currency_rate']) . ')';
87  $montant_ht_devise_commande = '(' . fprix($result['montant_ht'], true, $result['devise'], true, $result['currency_rate']) . ')';
88  $total_tva_devise_commande = '(' . fprix($result['total_tva'], true, $result['devise'], true, $result['currency_rate']) . ')';
89  if ($result['cout_transport'] != 0) {
90  // Si les frais de port ne sont pas nuls alors on affiche le prix dans la devise de la commande pour éviter un doublon
91  $cout_transport_devise_commande = '(' . fprix($result['cout_transport'], true, $result['devise'], true, $result['currency_rate']) . ')';
92  }
93  }
94  $tpl_results[] = array('tr_rollover' => tr_rollover($i, true),
95  'date' => get_formatted_date($result['o_timestamp']),
96  'id' => $result['id'],
97  'modif_href' => $GLOBALS['administrer_url'] . '/commander.php?commandeid=' . $result['id'] . '&mode=modif',
98  'statut_paiement' => get_payment_status_name($result['id_statut_paiement']),
99  'email' => $result['email'],
100  'montant_ht_prix' => fprix($result['montant_ht'], true, $GLOBALS['site_parameters']['code'], false),
101  'montant_ht_devise_commande' => $montant_ht_devise_commande,
102  'total_tva_prix' => fprix($result['total_tva'], true, $GLOBALS['site_parameters']['code'], false),
103  'total_tva_devise_commande' => $total_tva_devise_commande,
104  'montant_prix' => fprix($result['montant']+$result['avoir'], true, $GLOBALS['site_parameters']['code'], false),
105  'montant_devise_commande' => $montant_devise_commande,
106  'netapayer' => fprix($result['montant'], true, $GLOBALS['site_parameters']['code'], false),
107  'netapayer_devise_commande' => $netapayer_devise_commande,
108  'avoir' => fprix($result['avoir'], true, $GLOBALS['site_parameters']['code'], false),
109  'avoir_devise_commande' => $avoir_devise_commande,
110  'cout_transport_prix' => fprix($result['cout_transport'], true, $GLOBALS['site_parameters']['code'], false),
111  'cout_transport_devise_commande' => $cout_transport_devise_commande,
112  );
113  $i++;
114  }
115  $tpl->assign('results', $tpl_results);
116  foreach ($vat_arrays as $this_vat_array) {
117  foreach ($this_vat_array as $this_vat_rate => $this_amount) {
118  if (!isset($total_vat_array[$this_vat_rate])) {
119  $total_vat_array[$this_vat_rate] = $this_amount;
120  } else {
121  $total_vat_array[$this_vat_rate] += $this_amount;
122  }
123  }
124  }
125  $tpl_vats = array();
126  if(!empty($total_vat_array)) {
127  ksort($total_vat_array);
128  foreach ($total_vat_array as $this_vat_rate => $this_amount) {
129  $tpl_vats[] = array('rate' => $this_vat_rate,
130  'prix' => fprix($this_amount, true, $GLOBALS['site_parameters']['code'], false)
131  );
132  }
133  }
134  $tpl->assign('vats', $tpl_vats);
135  $tpl->assign('totalVenteHt_prix', fprix($totalVenteHt, true, $GLOBALS['site_parameters']['code'], false));
136  $tpl->assign('totalTva_prix', fprix($totalTva, true, $GLOBALS['site_parameters']['code'], false));
137  $tpl->assign('totalVente_prix', fprix($totalVente, true, $GLOBALS['site_parameters']['code'], false));
138  $tpl->assign('totalNet_a_payer', fprix($netapayer, true, $GLOBALS['site_parameters']['code'], false));
139  $tpl->assign('total_avoir', fprix($totalAvoir, true, $GLOBALS['site_parameters']['code'], false));
140  $tpl->assign('totalTransport_prix', fprix($totalTransport, true, $GLOBALS['site_parameters']['code'], false));
141  $tpl->assign('is_module_export_ventes_active', check_if_module_active('export', 'administrer/export_ventes.php'));
142  $tpl->assign('export_href', $GLOBALS['wwwroot_in_admin'] . '/modules/export/administrer/export_ventes.php?dateadded1=' . $dateAdded1 . '&dateadded2=' . $dateAdded2 . $extra_csv_param);
143  $tpl->assign('export_href_one_line_per_order', $GLOBALS['wwwroot_in_admin'] . '/modules/export/administrer/export_ventes.php?mode=one_line_per_order&dateadded1=' . $dateAdded1 . '&dateadded2=' . $dateAdded2 . $extra_csv_param);
144  $tpl->assign('excel_src', $GLOBALS['administrer_url'] . '/images/excel.jpg');
145 
146  if (!empty($_GET['statut'])) {
147  $tpl->assign('payment_status_name', get_payment_status_name($_GET['statut']));
148  }
149  } else {
150  $tpl->assign('are_results', false);
151  }
152  $tpl->assign('only_delivered', false);
153  $tpl->assign('STR_TTC', $GLOBALS['STR_TTC']);
154  $tpl->assign('STR_HT', $GLOBALS['STR_HT']);
155  $tpl->assign('STR_PDF_AVOIR', $GLOBALS['STR_PDF_AVOIR']);
156  $tpl->assign('STR_PDF_NET', $GLOBALS['STR_PDF_NET']);
157  $tpl->assign('STR_ADMIN_VENTES_FORM_EXPLAIN', $GLOBALS['STR_ADMIN_VENTES_FORM_EXPLAIN']);
158  $tpl->assign('STR_DATE', $GLOBALS['STR_DATE']);
159  $tpl->assign('STR_ORDER_NAME', $GLOBALS['STR_ORDER_NAME']);
160  $tpl->assign('STR_STATUS', $GLOBALS['STR_STATUS']);
161  $tpl->assign('STR_EMAIL', $GLOBALS['STR_EMAIL']);
162  $tpl->assign('STR_AMOUNT', $GLOBALS['STR_AMOUNT']);
163  $tpl->assign('STR_VAT', $GLOBALS['STR_VAT']);
164  $tpl->assign('STR_AMOUNT', $GLOBALS['STR_AMOUNT']);
165  $tpl->assign('STR_ADMIN_INCLUDING_DELIVERY_COST', $GLOBALS['STR_ADMIN_INCLUDING_DELIVERY_COST']);
166  $tpl->assign('STR_ADMIN_BILL_TOTALS', $GLOBALS['STR_ADMIN_BILL_TOTALS']);
167  $tpl->assign('STR_ADMIN_TOTAL_VAT', $GLOBALS['STR_ADMIN_TOTAL_VAT']);
168  $tpl->assign('STR_ADMIN_VENTES_EXPORT_EXCEL', $GLOBALS['STR_ADMIN_VENTES_EXPORT_EXCEL']);
169  $tpl->assign('STR_ADMIN_VENTES_EXPORT_EXCEL_ONE_LINE_PER_ORDER', $GLOBALS['STR_ADMIN_VENTES_EXPORT_EXCEL_ONE_LINE_PER_ORDER']);
170  $tpl->assign('STR_ADMIN_ASKED_STATUS', $GLOBALS['STR_ADMIN_ASKED_STATUS']);
171  $tpl->assign('STR_ADMIN_ALL_ORDERS', $GLOBALS['STR_ADMIN_ALL_ORDERS']);
172  $tpl->assign('STR_ADMIN_VENTES_NO_ORDER_FOUND', $GLOBALS['STR_ADMIN_VENTES_NO_ORDER_FOUND']);
173  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
174  $output .= $tpl->fetch();
175  } else {
176  $output .= $check_admin_date_data;
177  }
178 }
179 include($GLOBALS['repertoire_modele'] . "/admin_haut.php");
180 echo $output;
181 include($GLOBALS['repertoire_modele'] . "/admin_bas.php");
182 
get_payment_status_name($id)
get_payment_status_name()
Definition: order.php:1065
$tpl
Definition: ventes.php:22
$result
$netapayer
$GLOBALS['DOC_TITLE']
Definition: ventes.php:19
get_vat_array($code_facture)
Fonction permettant l'affichage des taux de TVA dans les factures.
Definition: order.php:1272
word_real_escape_string($value)
Applique real_escape_string dans le cas où on n'insère qu'un seul mot, de moins de 30 caractères...
Definition: database.php:424
get_payment_status_options($selected_status_id=null)
get_payment_status_options()
nohtml_real_escape_string($value, $allowed_tags=null)
Protège les données pour insertion dans MySQL ET supprime les tags HTML pour protéger de toute sorte ...
Definition: database.php:400
necessite_priv($priv, $demo_allowed=true, $configuration_modification=false)
Cette fonction vérifie si l'utilisateur a les privilèges de $priv.
Definition: fonctions.php:1575
get_filter_site_cond($table_technical_code, $table_alias=null, $use_strict_rights_if_in_admin=false, $specific_site_id=null, $exclude_public_items=false, $admin_force_multisite_if_allowed=false)
Retourne la condition SQL permettant de filtrer les données pour une table.
Definition: fonctions.php:4643
query($query, $die_if_error=false, $database_object=null, $silent_if_error=false, $security_sql_filter=true)
The query() function is meant to be called anywhere you want to make a query.
Definition: database.php:158
vb(&$var, $default=null)
Variable blanche if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:97
if(strlen($date2)== '10') if($type== 'users-by-age'&&a_priv('admin_users', true)) elseif($type== 'forums-count'&&a_priv('admin_content', true)) elseif($type== 'forums-categories'&&a_priv('admin_content', true)) elseif($type== 'users-count'&&a_priv('admin_users', true)) elseif($type== 'product-categories'&&a_priv('admin_products', true)) elseif($type== 'users-by-sex'&&a_priv('admin_users', true)) elseif($type== 'users-by-country'&&a_priv('admin_users', true)) elseif($type== 'sales'&&a_priv('admin_sales', true))
Definition: chart-data.php:160
necessite_identification()
Si l'utilisateur n'est pas connecté à un compte, on affiche une page d'identification et arrête le sc...
Definition: fonctions.php:1596
num_rows($query_result)
num_rows()
Definition: database.php:321
$information_select_html
Definition: ventes.php:26
fetch_assoc($query_result)
fetch_assoc()
Definition: database.php:283
get_formatted_date($datetime_or_timestamp=null, $mode= 'short', $hour_minute=false)
Afficher une date formatée, en évitant les problèmes liés aux noms de mois sur les serveurs qui ne so...
Definition: format.php:440
$output
Definition: ventes.php:20
fprix($price, $display_currency=false, $currency_code_or_default=null, $convertion_needed_into_currency=true, $currency_rate=null, $display_iso_currency_code=false, $format=true, $force_format_separator=null, $add_rdfa_properties=false, $round_even_if_no_format=false)
fprix formatte le prix donné en le convertissant si nécessaire au préalable et en ajoutant éventuelle...
Definition: fonctions.php:242
check_if_module_active($module_name, $specific_file_name=null)
Renvoie si un module est présent et activé ou non - Peut être appelé avant ou après le chargement d'u...

This documentation for Open ecommerce PEEL Shopping and PEEL.fr has been generated by Doxygen on Thu Oct 15 2015 14:29:47 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.