PEEL Shopping
Open source ecommerce : PEEL Shopping
fonctions.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: fonctions.php 46935 2015-09-18 08:49:48Z gboussin $
14 if (!defined('IN_PEEL')) {
15  die();
16 }
17 if (!empty($GLOBALS['site_parameters']['nb_last_views'])) {
18  // nombre de derniers produits vus à afficher
19  $GLOBALS['nb_last_views'] = intval($GLOBALS['site_parameters']['nb_last_views']);
20 } else {
21  // nombre par défaut
22  $GLOBALS['nb_last_views'] = 5;
23 }
24 
32  if (isset($_COOKIE['last_views'])) {
33  $tab_last_views = @unserialize($_COOKIE['last_views']);
34  }
35  if(empty($tab_last_views) || !is_array($tab_last_views)) {
36  $tab_last_views = array();
37  }
38  if (!in_array($params['id'], $tab_last_views)) {
39  // on ajoute le produit à la liste
40  $tab_last_views[] = $params['id'];
41  if (count($tab_last_views) > $GLOBALS['nb_last_views']) {
42  // si on a dépassé la taille de la réserve, on supprime le premier produit
43  $tab_last_views = array_reverse($tab_last_views);
44  array_pop($tab_last_views);
45  $tab_last_views = array_reverse($tab_last_views);
46  }
47  // on crée le cookie avec 1 an de vie
48  if($GLOBALS['site_parameters']['force_sessions_for_subdomains']){
49  @setcookie('last_views', serialize($tab_last_views), time() + 365 * 24 * 60 * 60, '/', '.'.get_site_domain());
50  } else {
51  @setcookie('last_views', serialize($tab_last_views), time() + 365 * 24 * 60 * 60, '/');
52  }
53  }
54 }
55 
62 function affiche_last_views($location)
63 {
64  $output = '';
65  $products_html_array = array();
66  if (!empty($_COOKIE['last_views'])) {
67  $this_tab_last_views = @unserialize($_COOKIE['last_views']);
68  $tab_last_views =array();
69  if(is_array($this_tab_last_views)) {
70  // On reforme le tableau, cela permet de mettre à jour le nombre de produit sauvegardé dans le cookie, si la configuration du site a changé.
71  foreach ($this_tab_last_views as $product_id) {
72  if($GLOBALS['nb_last_views'] == count($tab_last_views) ) {
73  break;
74  }
75  $tab_last_views[] = $product_id;
76  }
77  }
78  for ($i = count($tab_last_views) - 1; $i >= 0; $i--) {
79  $product_object = new Product($tab_last_views[$i], null, false, null, true, !is_user_tva_intracom_for_no_vat() && !check_if_module_active('micro_entreprise'));
80  $product_html = get_product_in_container_html($product_object, $GLOBALS['site_parameters']['only_show_products_with_picture_in_containers']);
81  if (!empty($product_html) && $product_object->on_gift == 0) {
82  // si le produit existe et est activé (en ligne)
83  $products_html_array[] = get_product_in_container_html($product_object, $GLOBALS['site_parameters']['only_show_products_with_picture_in_containers']);
84  } else {
85  unset($tab_last_views[$i]); // on supprime une fois ce produit de la liste
86  // et on met à jour la liste dans le cookie
87  if($GLOBALS['site_parameters']['force_sessions_for_subdomains']){
88  @setcookie('last_views', serialize($tab_last_views), time() + 365 * 24 * 60 * 60, '/', '.'.get_site_domain());
89  } else {
90  @setcookie('last_views', serialize($tab_last_views), time() + 365 * 24 * 60 * 60, '/');
91  }
92  }
93  unset($product_object);
94  }
95  }
96  if (check_if_module_active('menus')) {
97  if (vn($GLOBALS['site_parameters']['type_rollover']) == 1) {
98  $output .= affiche_menu_deroulant_1('scrollerdiv_last_views', $products_html_array);
99  } elseif (vn($GLOBALS['site_parameters']['type_rollover']) == 2) {
100  $output .= affiche_menu_deroulant_2('scrollerdiv_last_views', $products_html_array);
101  }
102  } else {
103  $tpl = $GLOBALS['tplEngine']->createTemplate('modules/last_views.tpl');
104  $tpl->assign('STR_MODULE_LAST_VIEWS_NO_LAST_VIEWS', $GLOBALS['STR_MODULE_LAST_VIEWS_NO_LAST_VIEWS']);
105  $tpl->assign('products', $products_html_array);
106  $output .= $tpl->fetch();
107  }
108  return $output;
109 }
110 
is_user_tva_intracom_for_no_vat($user_id=null)
is_user_tva_intracom_for_no_vat()
Definition: user.php:959
affiche_menu_deroulant_2($div_id, $items_html_array)
affiche_menu_deroulant_2()
Definition: fonctions.php:68
affiche_last_views($location)
Affiche la liste des produits déjà consultés par le client en cours.
Definition: fonctions.php:62
if(!empty($_GET['id'])) if(isset($_POST['form_name'], $_POST['form_subject'], $_POST['form_text'], $_POST['form_lang'])&&empty($_GET['id'])) if(empty($_GET['id'])) $tpl
if(!defined('IN_PEEL')) $GLOBALS['page_types_array']
Definition: fonctions.php:19
if(empty($_GET['id'])) if(!empty($GLOBALS['site_parameters']['allow_multiple_product_url_with_category'])) $product_object
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
vn(&$var, $default=0)
Variable nulle if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:110
last_views_hook_product_details_show($params)
On actualiste la liste des produits visités avec le produit qui vient d'être vu.
Definition: fonctions.php:31
if(!defined('IN_PEEL')) affiche_menu_deroulant_1($div_id, $items_html_array)
affiche_menu_deroulant_1()
Definition: fonctions.php:25
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...
get_site_domain($return_only_domains=false, $domain=null, $strip_subdomain=true)
Récupère le nom de domaine du site sans http:// et sans sous-domaine.
Definition: fonctions.php:3632

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