PEEL Shopping
Open source ecommerce : PEEL Shopping
caddie_affichage.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: caddie_affichage.php 46986 2015-09-21 15:50:52Z sdelaporte $
14 include("../configuration.inc.php");
15 include("../lib/fonctions/display_caddie.php");
16 
17 define('IN_CADDIE', true);
18 $GLOBALS['DOC_TITLE'] = $GLOBALS['STR_CADDIE'];
19 
20 if (isset($_POST['pays_zone'])) {
21  $_SESSION['session_caddie']->set_zone($_POST['pays_zone']);
22  $_SESSION['session_caddie']->update();
23 } elseif (empty($_SESSION['session_caddie']->zoneId) && !empty($GLOBALS['site_parameters']['default_delivery_zone_id'])) {
24  // Force le zone au chargement du panier, si aucun choix n'a été fait avant.
25  $_SESSION['session_caddie']->set_zone($GLOBALS['site_parameters']['default_delivery_zone_id']);
26  $_SESSION['session_caddie']->update();
27 }
28 if (isset($_POST['type'])) {
29  $typeId = intval($_POST['type']);
30  $_SESSION['session_caddie']->set_type($typeId);
31  $_SESSION['session_caddie']->update();
32  if (!empty($GLOBALS['site_parameters']['redirect_user_after_delivery_type_section'][$_SESSION['session_caddie']->typeId])) {
33  // Ne pas utiliser directement la variable $typeId, mais bien ce qui est défini par la classe Caddie. $typeId correspond au choix de l'utilisateur en front donc cette information est moins fiable qu ce qui est traité par la classe Caddie.
34  // Le tableau redirect_user_after_delivery_type_section se compose de l'id du type de livraison en index et du lien en valeur
35  redirect_and_die($GLOBALS['site_parameters']['redirect_user_after_delivery_type_section'][$_SESSION['session_caddie']->typeId]);
36  }
37 } elseif (empty($_SESSION['session_caddie']->typeId) && !empty($GLOBALS['site_parameters']['default_delivery_type_id'])) {
38  // Force le type au chargement du panier, si aucun choix n'a été fait avant.
39  $_SESSION['session_caddie']->set_type($GLOBALS['site_parameters']['default_delivery_type_id']);
40  $_SESSION['session_caddie']->update();
41 }
42 if (!empty($_POST['code_promo'])) {
43  $_POST['code_promo'] = String::strtoupper(trim($_POST['code_promo']));
44  $_SESSION['session_caddie']->update_code_promo($_POST['code_promo']);
45  $_SESSION['session_caddie']->update();
46 }
47 if (!empty($_GET['code_promo']) && $_GET['code_promo'] == 'delete') {
48  $_SESSION['session_caddie']->update_code_promo('');
49  $_SESSION['session_caddie']->update();
50 }
52 
53 
54 call_module_hook('show_caddie_pre', array('frm'=>$_POST,'form_error_object'=>$form_error_object));
55 
56 if (isset($_POST['func'])) {
57  $mode = $_POST['func'];
58 } else {
59  $mode = vb($_GET['func']);
60 }
61 
62 if ($mode) {
63  switch ($mode) {
64  case "enleve" :
65  $_SESSION['session_caddie']->delete_line(intval(vb($_GET['ligne'])));
66  $_SESSION['session_caddie']->update();
68 
69  case "vide" :
70  $_SESSION['session_caddie']->init();
71  break;
72 
73  case "recalc" :
74  case "commande" :
75  default :
76  // change_lines_data : mise à jour de chaque ligne du panier à partir des valeurs du formulaire du panier. Si le module de stock est installé, le recalcul de la quantité disponible pour le produit est fait à partir des valeurs de peel_stock_temp (voir fonction reservation_stock_temp)
77  $_SESSION['session_caddie']->change_lines_data($_POST);
78  if($mode!='recalc') {
79  if (!empty($GLOBALS['site_parameters']['mode_transport'])) {
80  // Frais de port calculés à partir du poids total ou du montant total d'une commande
81  if (empty($_POST['pays_zone'])) {
82  $form_error_object->add('pays_zone', $GLOBALS['STR_ERR_ZONE']);
83  } elseif (empty($_POST['type'])) {
84  $form_error_object->add('type', $GLOBALS['STR_ERR_TYPE']);
85  } elseif (num_rows(query("SELECT 1 FROM peel_tarifs WHERE type='" . intval($_SESSION['session_caddie']->typeId) . "' AND zone = '" . intval($_SESSION['session_caddie']->zoneId) . "' AND " . get_filter_site_cond('tarifs') . "")) == 0) {
86  // Ici on teste la cohérence entre le type et la zone
87  $form_error_object->add('type', $GLOBALS['STR_ERR_TYPE']);
88  } elseif(!count($_SESSION['session_caddie']->message_caddie)) {
89  $redirect_next_step = true;
90  }
91  } else {
92  // Pas de frais de port (c'est la configuration pour tout le site)
93  $redirect_next_step = true;
94  }
95  }
96  break;
97  }
98 }
99 
100 if (!empty($redirect_next_step)) {
101  if (!est_identifie() && empty($GLOBALS['site_parameters']['unsubscribe_order_process'])) {
102  $_SESSION['session_redirect_after_login'] = get_current_url(true);
103  redirect_and_die(get_url('membre'));
104  } else {
105  call_module_hook('show_caddie_next_step_pre', array());
106  redirect_and_die(get_url('achat_maintenant'));
107  }
108 }
109 
110 $GLOBALS['page_columns_count'] = $GLOBALS['site_parameters']['caddie_affichage_page_columns_count'];
111 include($GLOBALS['repertoire_modele'] . "/haut.php");
112 
113 echo get_caddie_content_html($form_error_object, vn($GLOBALS['site_parameters']['mode_transport']));
114 
115 include($GLOBALS['repertoire_modele'] . "/bas.php");
116 
static strtoupper($string)
Returns string with all alphabetic characters converted to uppercase.
Definition: String.php:154
get_current_url($with_get=true, $get_short_url=false, $take_away_get_args_array=null)
get_current_url()
Definition: fonctions.php:1743
redirect_and_die($url, $permanent_redirection=false, $avoid_loop=false)
Redirige vers l'URL demandée et arrête le programme.
Definition: fonctions.php:1551
$mode
if(isset($_POST['pays_zone'])) elseif(empty($_SESSION['session_caddie']->zoneId)&&!empty($GLOBALS['site_parameters']['default_delivery_zone_id'])) if(isset($_POST['type'])) elseif(empty($_SESSION['session_caddie']->typeId)&&!empty($GLOBALS['site_parameters']['default_delivery_type_id'])) if(!empty($_POST['code_promo'])) if(!empty($_GET['code_promo'])&&$_GET['code_promo']== 'delete') $form_error_object
$GLOBALS['DOC_TITLE']
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
if(!defined('IN_PEEL')) est_identifie()
Retourne true si l'utilisateur est identifié
Definition: user.php:23
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
num_rows($query_result)
num_rows()
Definition: database.php:321
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
if(defined('IN_PEEL_ADMIN')||IN_INSTALLATION) $_SESSION['session_langue']

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