PEEL Shopping
Open source ecommerce : PEEL Shopping
commander.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: commander.php 46955 2015-09-18 15:04:55Z sdelaporte $
14 define('IN_PEEL_ADMIN', true);
15 include("../configuration.inc.php");
17 necessite_priv("admin_sales");
18 
19 if (check_if_module_active('fianet_sac')) {
20  require_once($GLOBALS['fonctionsfianet_sac']);
21 }
22 
24 $frm = $_POST;
25 $GLOBALS['sortable_rpc'] = 'rpc_positions.php?mode=order';
26 $GLOBALS['DOC_TITLE'] = $GLOBALS["STR_ADMIN_INDEX_ORDERS_LIST"];
27 $output = '';
28 
29 if (!empty($_GET['commandeid'])) {
30  $frm['commandeid'] = $_GET['commandeid'];
31 }
32 
33 $output .= call_module_hook('order_admin', array('mode' => vb($_REQUEST['mode'])), 'output');
34 if (vb($frm['export_pdf'])) {
35  if(check_if_module_active('facture_advanced', 'administrer/genere_pdf.php')) {
36  if (!empty($frm)) {
37  // Génération du PDF à la volée
38  $ids_array = Array();
39  for ($i = 0;$i < count($frm['id']);$i++) {
40  if (!empty($frm['change_statut' . $frm['id'][$i]])) {
41  $ids_array[] = $frm['id'][$i];
42  }
43  }
44  include("../lib/class/Invoice.php");
45  $invoice_pdf = new Invoice('P', 'mm', 'A4');
46  $is_pdf_generated = $invoice_pdf->FillDocument(null, null, null, null, null, null, null, 'facture', false, null, null, null, null, $ids_array);
47  unset($invoice_pdf);
48  if($is_pdf_generated){
49  die();
50  }else{
51  $output .= $GLOBALS['tplEngine']->createTemplate('global_error.tpl', array('message' => $GLOBALS['STR_SEARCH_NO_RESULT']))->fetch();
52  }
53  }
54  }
55 }
56 switch (vb($_REQUEST['mode'])) {
57  case "ajout" :
58  $GLOBALS['DOC_TITLE'] = $GLOBALS["STR_ADMIN_COMMANDER_CREATE"];
59  // Affiche le formulaire d'ajout de commande à partir d'un utilisateur
60  if (!empty($_GET['id_utilisateur'])) {
61  $user_id = intval($_GET['id_utilisateur']);
62  } else {
63  $user_id = 0;
64  }
65  $output .= affiche_details_commande(null, $_GET['mode'], $user_id);
66  break;
67 
68  case "modif" :
69  // Affiche le formulaire de la commande à modifier
70  $GLOBALS['DOC_TITLE'] = $GLOBALS["STR_ADMIN_COMMANDER_CREATE_OR_UPDATE_TITLE"];
71  if (!empty($_POST['bdc_code_facture']) && !empty($_POST['bdc_sendclient'])) {
72  sendclient($_POST['bdc_id'], 'html', 'bdc', vb($_POST['bdc_partial']));
73  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_ADMIN_COMMANDER_MSG_PURCHASE_ORDER_SENT_BY_EMAIL_OK']))->fetch();
74  } elseif (!empty($_POST)) {
75  // Ajout d'une commande en db + affichage du détail de la commande
76  $order_id = save_commande_in_database($frm);
77  if (!empty($frm['commandeid'])) {
78  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_ADMIN_COMMANDER_ORDER_UPDATED'] . (check_if_module_active('stock_advanced') ? ' ' . $GLOBALS['STR_ADMIN_COMMANDER_AND_STOCKS_UPDATED'] : '')))->fetch();
79  $output .= affiche_details_commande($frm['commandeid'], $_GET['mode'], null);
80  } else {
81  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_ADMIN_COMMANDER_ORDER_CREATED'] . ' - <a href="' . $GLOBALS['administrer_url'] . '/commander.php?mode=modif&amp;commandeid=' . $order_id . '">' . $GLOBALS['STR_ADMIN_COMMANDER_LINK_ORDER_SUMMARY'] . '</a>'))->fetch();
82  }
83  if (empty($frm['id'])) {
84  tracert_history_admin(intval(vn($frm['id_utilisateur'])), 'CREATE_ORDER', intval(vn($frm['id_utilisateur'])));
85  } else {
86  tracert_history_admin(intval(vn($frm['id_utilisateur'])), 'EDIT_ORDER', $GLOBALS['STR_ADMIN_USER'] . ' : ' . intval(vn($frm['id_utilisateur'])) . ', '.$GLOBALS['STR_ORDER_NAME'].' : ' . intval(vn($frm['id'])));
87  }
88  }
89  // Si il n'y a pas de POST, cela signifie que l'on veut uniquement afficher le détail de la commande à modifier.
90  if (empty($_POST)) {
91  $output .= affiche_details_commande($_GET['commandeid'], $_GET['mode'], null);
92  }
93  break;
94 
95  case "maj_statut" :
96  // Met à jour le statut du paiement et de l'envoi de la commande, lorsque l'on est en liste de commandes
97  if (!empty($frm)) {
98  if ((isset($frm['statut_paiement']) && is_numeric($frm['statut_paiement'])) || (isset($frm['statut_livraison']) && is_numeric($frm['statut_livraison']))) {
99  for ($i = 0;$i < count($frm['id']);$i++) {
100  if (!empty($frm['change_statut' . $frm['id'][$i]])) {
101  // Retourne un message de confirmation d'envoi d'email en cas d'expédition.
102  $output .= update_order_payment_status($frm['id'][$i], vb($frm['statut_paiement']), true, vb($frm['statut_livraison']));
103  }
104  }
105  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_ADMIN_COMMANDER_ORDER_STATUS_UPDATED']))->fetch();
106  }
107  }
108  // Affiche la liste des commandes
110  break;
111 
112  case "parrain" :
113  query('UPDATE peel_utilisateurs
114  SET avoir = avoir+' . nohtml_real_escape_string(vn($_POST['avoir'])) . '
115  WHERE id_utilisateur = "' . intval(vn($_POST['id_parrain'])) . '" AND ' . get_filter_site_cond('utilisateurs') . '');
116  $custom_template_tags['AVOIR'] = fprix(vn($_POST['avoir']), true, $GLOBALS['site_parameters']['code'], false);
117  send_email($_POST['email_parrain'], '', '', 'commande_parrain_avoir', $custom_template_tags, null, $GLOBALS['support']);
118 
119  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_ADMIN_COMMANDER_MSG_AVOIR_SENT_BY_EMAIL_OK'], $custom_template_tags['AVOIR'], $_POST['email_parrain'])))->fetch();
120  $output .= affiche_details_commande(intval($_POST['id']), $_POST['mode'], null);
121  break;
122 
123  case "sendfacturepdf" :
124  // Envoie par email la facture PDF de la commande à l'utilisateur
126  // Affichage des commandes en liste
127  $output .= affiche_details_commande($_GET['id'], 'modif', null);
128  break;
129 
130  case "download" :
131  case "efface_download" :
132  case "send_download" :
133  // affichage des commandes avec des produits à télécharger
134  // géré via un hook, fonction download_hook_order_admin
135  break;
136 
137  case "recherche" :
138  default :
139  // Par défaut, affichage la liste des commandes
141  break;
142 }
143 include($GLOBALS['repertoire_modele'] . "/admin_haut.php");
144 echo $output;
145 include($GLOBALS['repertoire_modele'] . "/admin_bas.php");
146 
if(check_if_module_active('fianet_sac')) $form_error_object
Definition: commander.php:23
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
sendclient($commandeid, $prefered_mode= 'html', $mode= 'bdc', $partial= '')
sendclient()
save_commande_in_database($frm)
Crée ou modifie en base de données une commande et les produits commandés qui y sont associés...
$output
Definition: commander.php:27
affiche_liste_commandes_admin($frm=null)
Affiche la liste des commandes.
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
send_facture_pdf_commandes($frm)
Permet d'envoyer à l'utilisateur sa facture au format pdf par email.
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
if(!defined('IN_PEEL')) send_email($to, $mail_subject= '', $mail_content= '', $template_technical_code=null, $template_tags=null, $format=null, $sender=null, $html_add_structure=true, $html_correct_conformity=false, $html_convert_url_to_links=true, $reply_to=null, $attached_files_infos_array=null, $lang=null, $additional_infos_array=array(), $attachment_not_sent_by_email=false)
Envoi d'un email à un utilisateur.
Definition: emails.php:38
tracert_history_admin($member_id, $action, $data, $remarque=null, $raison=null)
Inscrit les différentes actions administrateur Liste des $actions possibles : 'SEARCH_USER', 'ADD_FILTER', 'EDIT_FILTER', 'DEL_FILTER', 'EDIT_AD', 'SUP_AD', 'EDIT_VOTE', 'SUP_DETAILS', 'EDIT_PROFIL', 'SUP_FORUM', 'ACTIVATE_COMPTE', 'NOTES_RECUES', 'NOTES_DONNEES', 'NOTE_PROFIL', 'AUTRE', 'SEND_EMAIL', 'CREATE_ORDER', 'EDIT_ORDER', 'SUP_ORDER', 'PHONE_EMITTED', 'EVENT', 'PHONE_RECEIVED'.
call_module_hook($hook, $params, $mode= 'boolean')
Appelle la fonction correspondant au $hook pour chaque module installé La fonction doit s'appeler : [...
vn(&$var, $default=0)
Variable nulle if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:110
$frm
Definition: commander.php:24
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
affiche_details_commande($id, $action, $user_id=0)
Charge les détails d'une commande et les affiche.
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...
update_order_payment_status($order_id, $status_or_is_payment_validated, $allow_update_paid_orders=true, $statut_livraison_new=null, $delivery_tracking=null, $no_stock_decrement_already_done=false, $payment_technical_code=null)
Met à jour le status de paiement et/ou de livraison d'une commande, et gère les stocks suivant le sta...
Definition: order.php:178
$GLOBALS['sortable_rpc']
Definition: commander.php:25

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