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 47075 2015-09-30 16:57:12Z sdelaporte $
14 if (!defined('IN_PEEL')) {
15  die();
16 }
17 
24 function avis_hook_rpc_status(&$params) {
25  if ($params['new_status'] == 1 && $params['mode']=='avis' && check_if_module_active('annonces')) {
26  // avis validé, on prévient tous les followers si l'avis déposé est celui du propriétaire de l'annonce (puisque dans ce cas on considère l'avis comme une news)
27  $sql_avis = "SELECT ref, id_utilisateur
28  FROM peel_avis
29  WHERE id='".intval($_POST['id'])."'";
30  $query_avis = query($sql_avis);
31  $result_avis = fetch_assoc($query_avis);
32  $annonce_object = new Annonce($result_avis['ref']);
33  if (!empty($annonce_object->id_utilisateur) && $result_avis['id_utilisateur']==$annonce_object->id_utilisateur) {
34  // l'annonce associée au vote a été trouvée, et la personne qui a déposé l'annonce est le propriétaire de l'annonce => Il faut prévenir les followers
35  $query = query("SELECT user_id
36  FROM peel_ads_likes
37  WHERE ad_id=".intval($result_avis['ref'])."
38  LIMIT 500"); // limitation à 500 pour ne pas provoquer de problème lors de masse d'email trop importante
39  while($result = fetch_assoc($query)) {
40  $utilisateur = get_user_information($result['user_id']);
41  $custom_template_tags['NOM'] = $utilisateur['nom_famille'];
42  $custom_template_tags['PRENOM'] = $utilisateur['prenom'];
43  $custom_template_tags['AD_NAME'] = $annonce_object->get_titre();
44  $custom_template_tags['AD_OWNER'] = $annonce_object->pseudo;
45  send_email($utilisateur['email'], '', '', 'news_added_on_followed_project', $custom_template_tags, null, $GLOBALS['support'], true, false, true, $annonce_object->email);
46  }
47  }
48  }
49 }
50 
59 function formulaire_avis($id, &$frm, &$form_error_object, $type, $ad_owner_opinion = false, $opinion_id = null)
60 {
61  if ($type == 'produit') {
62  $product_object = new Product($id, null, false, null, true, !is_user_tva_intracom_for_no_vat() && !check_if_module_active('micro_entreprise'));
63  } elseif ($type == 'annonce') {
64  $annonce_object = new Annonce($id);
65  }
66  $tpl = $GLOBALS['tplEngine']->createTemplate('modules/avis_formulaire.tpl');
67  $tpl->assign('action', get_current_url(true));
68  $tpl->assign('type', $type);
69  $tpl->assign('ad_owner_opinion', $ad_owner_opinion);
70  $tpl->assign('opinion_id', $opinion_id);
71  $tpl->assign('no_notation', vn($GLOBALS['site_parameters']['module_avis_no_notation']));
72  if (!empty($GLOBALS['site_parameters']['module_avis_use_html_editor'])) {
73  $tpl->assign('html_editor', getTextEditor('avis', vb($GLOBALS['site_parameters']['module_avis_html_editor_width'], 475), vb($GLOBALS['site_parameters']['module_avis_html_editor_height'], 280), "", '../../', 3));
74  }
75 
76  if ($type == 'produit') {
77  $tpl->assign('product_name', $product_object->name);
78  $tpl->assign('prodid', intval($id));
79  $tpl->assign('STR_MODULE_AVIS_WANT_COMMENT_PRODUCT', $GLOBALS['STR_MODULE_AVIS_WANT_COMMENT_PRODUCT']);
80  } elseif ($type == 'annonce') {
81  $tpl->assign('annonce_titre', $annonce_object->get_titre());
82  $tpl->assign('ref', intval($id));
83  if ($ad_owner_opinion) {
84  $tpl->assign('STR_MODULE_ANNONCES_AVIS_WANT_COMMENT_AD', $GLOBALS['STR_MODULE_ANNONCES_AVIS_WANT_COMMENT_AD_OWNER_OPINION']);
85  } else {
86  $tpl->assign('STR_MODULE_ANNONCES_AVIS_WANT_COMMENT_AD', $GLOBALS['STR_MODULE_ANNONCES_AVIS_WANT_COMMENT_AD']);
87  }
88  }
89  if ($type == 'annonce' && $ad_owner_opinion) {
90  $tpl->assign('STR_YOUR_OPINION', $GLOBALS['STR_DONNEZ_AVIS_AD_OWNER_YOUR_OPINION']);
91  $tpl->assign('STR_DONNEZ_AVIS', $GLOBALS['STR_DONNEZ_AVIS_AD_OWNER_OPINION']);
92  } else {
93  $tpl->assign('STR_YOUR_OPINION', $GLOBALS['STR_YOUR_OPINION']);
94  $tpl->assign('STR_DONNEZ_AVIS', $GLOBALS['STR_DONNEZ_AVIS']);
95  }
96 
97  $tpl->assign('id_utilisateur', intval(vn($_SESSION['session_utilisateur']['id_utilisateur'])));
98  $tpl->assign('prenom', vb($_SESSION['session_utilisateur']['prenom']));
99  $tpl->assign('nom_famille', vb($_SESSION['session_utilisateur']['nom_famille']));
100  $tpl->assign('email', vb($_SESSION['session_utilisateur']['email']));
101  $tpl->assign('avis', vb($frm['avis']));
102  $tpl->assign('pseudo', vb($frm['pseudo']));
103  $tpl->assign('pseudo_ses', vb($_SESSION['session_utilisateur']['pseudo']));
104  $tpl->assign('error_avis', $form_error_object->text('avis'));
105  $tpl->assign('error_note', $form_error_object->text('note'));
106  $tpl->assign('star_src', get_url('/images/star1.gif'));
107  $tpl->assign('langue', $_SESSION['session_langue']);
108  $tpl->assign('STR_YOU_ARE', $GLOBALS['STR_YOU_ARE']);
109  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
110  $tpl->assign('STR_PSEUDO', $GLOBALS['STR_PSEUDO']);
111  $tpl->assign('STR_REMINDING_CHAR', $GLOBALS['STR_REMINDING_CHAR']);
112  $tpl->assign('STR_YOUR_NOTE', $GLOBALS['STR_YOUR_NOTE']);
113  $tpl->assign('STR_MODULE_AVIS_SEND_YOUR_OPINION', $GLOBALS['STR_MODULE_AVIS_SEND_YOUR_OPINION']);
114  $tpl->assign('STR_MANDATORY', $GLOBALS['STR_MANDATORY']);
115  return $tpl->fetch();
116 }
117 
127 {
128  if ($frm['type'] == 'produit') {
129  $product_object = new Product($frm['prodid'], null, false, null, true, !is_user_tva_intracom_for_no_vat() && !check_if_module_active('micro_entreprise'));
130  $urlprod = $product_object->get_product_url();
131  } elseif ($frm['type'] == 'annonce') {
132  $annonce_object = new Annonce($frm['ref']);
133  $urlannonce = $annonce_object->get_annonce_url();
134  }
135  $sql = "INSERT INTO peel_avis (
136  nom_produit
137  , id_utilisateur
138  , email
139  , prenom
140  , pseudo
141  , avis
142  , note
143  , datestamp
144  , etat
145  , lang";
146 
147  if ($frm['type'] == 'produit') {
148  $sql .= ", id_produit";
149  } elseif ($frm['type'] == 'annonce') {
150  $sql .= ", ref";
151  }
152  if ($frm['type'] == 'produit') {
153  $sql .= ") VALUES (
154  '" . nohtml_real_escape_string($frm['nom_produit']) . "'";
155  } elseif ($frm['type'] == 'annonce') {
156  $sql .= ") VALUES (
157  '" . nohtml_real_escape_string($frm['titre_annonce']) . "'";
158  }
159 
160  $sql .= "
161  , '" . intval($frm['id_utilisateur']) . "'
162  , '" . nohtml_real_escape_string($frm['email']) . "'
163  , '" . nohtml_real_escape_string(String::strtolower($frm['prenom'])) . "'
164  , '" . nohtml_real_escape_string(vb($frm['pseudo'])) . "'
165  , '" . real_escape_string(String::getCleanHTML($frm['avis'])) . "'
166  , '" . intval(vn($frm['note'])) . "'
167  , '" . date('Y-m-d H:i:s', time()) . "'
168  , '0'
169  , '" . nohtml_real_escape_string($frm['langue']) . "'";
170 
171  if ($frm['type'] == 'produit') {
172  $sql .= ", '" . intval($frm['prodid']) . "')";
173  } elseif ($frm['type'] == 'annonce') {
174  $sql .= ", '" . intval($frm['ref']) . "')";
175  }
176  if(!empty($frm['pseudo'])) {
177  query("UPDATE peel_utilisateurs
178  SET pseudo = '" . nohtml_real_escape_string($frm['pseudo']) . "'
179  WHERE id_utilisateur = '" . intval($_SESSION['session_utilisateur']['id_utilisateur']) . "' AND " . get_filter_site_cond('utilisateurs') . "");
180  }
181  $qid = query($sql);
182  $tpl = $GLOBALS['tplEngine']->createTemplate('modules/avis_insere.tpl');
183  $custom_template_tags['PRENOM'] = vb($_SESSION['session_utilisateur']['prenom']);
184  $custom_template_tags['NOM_FAMILLE'] = vb($_SESSION['session_utilisateur']['nom_famille']);
185  if ($frm['type'] == 'produit') {
186  $custom_template_tags['NOM_PRODUIT'] = String::html_entity_decode_if_needed($frm['nom_produit']);
187  $tpl->assign('STR_MODULE_AVIS_YOUR_COMMENT_ON_PRODUCT', $GLOBALS['STR_MODULE_AVIS_YOUR_COMMENT_ON_PRODUCT']);
188  } elseif ($frm['type'] == 'annonce') {
189  $custom_template_tags['NOM_PRODUIT'] = String::html_entity_decode_if_needed($frm['titre_annonce']);
190  }
191  $custom_template_tags['AVIS'] = $frm['avis'];
192  send_email($GLOBALS['support_sav_client'], '', '', 'insere_avis', $custom_template_tags, null, $GLOBALS['support'], true, false, true, $frm['email']);
193  if ($ad_owner_opinion && !empty($annonce_object)) {
194  /*
195  // envoi d'une notification aux followers de cette annonce. A faire uniquement lorsque l'avis est validé par l'administrateur.
196  $query = query("SELECT user_id
197  FROM peel_ads_likes
198  WHERE ad_id=".intval($frm['ref'])."
199  LIMIT 500"); // limitation à 500 pour ne pas provoquer de problème lors de masse d'email trop importante
200  while($result = fetch_assoc($query)) {
201  $utilisateur = get_user_information($result['user_id']);
202  $custom_template_tags['NOM'] = $utilisateur['nom_famille'];
203  $custom_template_tags['PRENOM'] = $utilisateur['prenom'];
204  $custom_template_tags['AD_NAME'] = $annonce_object->get_titre();
205  $custom_template_tags['AD_OWNER'] = $annonce_object->pseudo;
206  // send_email($utilisateur['email'], '', '', 'news_added_on_followed_project', $custom_template_tags, null, $GLOBALS['support'], true, false, true, $frm['email']);
207  }
208 
209  $tpl->assign('STR_DONNEZ_AVIS', $GLOBALS['STR_DONNEZ_AVIS_AD_OWNER_OPINION']);
210  $tpl->assign('STR_MODULE_AVIS_YOUR_COMMENT_WAITING_FOR_VALIDATION', $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_MODULE_AVIS_YOUR_NEWS_WAITING_FOR_VALIDATION'],$GLOBALS['site'])))->fetch());
211  $tpl->assign('STR_MODULE_ANNONCES_AVIS_YOUR_COMMENT_ON_AD', $GLOBALS['STR_MODULE_ANNONCES_AVIS_YOUR_NEWS_ON_AD']);
212  */
213  } else {
214  $tpl->assign('STR_DONNEZ_AVIS', $GLOBALS['STR_DONNEZ_AVIS']);
215  $tpl->assign('STR_MODULE_AVIS_YOUR_COMMENT_WAITING_FOR_VALIDATION', $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_MODULE_AVIS_YOUR_COMMENT_WAITING_FOR_VALIDATION'],$GLOBALS['site'])))->fetch());
216  }
217  $tpl->assign('site', $GLOBALS['site']);
218  $tpl->assign('type', $frm['type']);
219  if ($frm['type'] == 'produit') {
220  $tpl->assign('urlprod', $urlprod);
221  $tpl->assign('nom_produit', $frm['nom_produit']);
222  } elseif ($frm['type'] == 'annonce') {
223  $tpl->assign('urlannonce', $urlannonce);
224  $tpl->assign('titre_annonce', $frm['titre_annonce']);
225  }
226  return $tpl->fetch();
227 }
228 
239 function render_avis_public_list($prodid, $type, $display_specific_note = null, $no_display_if_empty = false, $ad_owner_opinion = false)
240 {
241  $output = '';
242  $tpl = $GLOBALS['tplEngine']->createTemplate('modules/avis_public_list.tpl');
243  if ($type == 'produit') {
244  $product_object = new Product($prodid, null, false, null, true, !is_user_tva_intracom_for_no_vat() && !check_if_module_active('micro_entreprise'));
245  $urlprod = $product_object->get_product_url();
246  $sqlAvis = "SELECT a.*, u.civilite
247  FROM peel_avis a
248  INNER JOIN peel_utilisateurs u ON a.id_utilisateur = u.id_utilisateur AND " . get_filter_site_cond('utilisateurs', 'u') . "
249  WHERE a.id_produit='" . intval($prodid) . "' AND a.etat='1' AND a.lang='" . nohtml_real_escape_string($_SESSION['session_langue']) . "'
250  ORDER BY a.note DESC";
251  $tpl->assign('STR_MODULE_AVIS_OPINION_POSTED_BY', $GLOBALS['STR_MODULE_AVIS_OPINION_POSTED_BY']);
252  } elseif ($type == 'annonce') {
253  // Le mode ad_owner_opinion affiche que les avis publiés par le propriétaire de l'annonce
254  $annonce_object = new Annonce($prodid);
255  $urlannonce = $annonce_object->get_annonce_url();
256  $sqlAvis = "SELECT *
257  FROM peel_avis
258  WHERE ref='" . intval($prodid) . "' AND etat='1' AND lang='" . nohtml_real_escape_string($_SESSION['session_langue']) . "' AND id_utilisateur" . (!empty($ad_owner_opinion)?"=":"!=") . intval($annonce_object->id_utilisateur) ."
259  ORDER BY note DESC";
260  if (!empty($annonce_object) && a_priv('admin*')) {
261  $tpl->assign('ad_admin_edit_option', true);
262  } else {
263  $tpl->assign('ad_admin_edit_option', false);
264  }
265  if (!empty($ad_owner_opinion)) {
266  $tpl->assign('STR_MODULE_ANNONCES_AVIS_NO_OPINION_FOR_THIS_AD', $GLOBALS['STR_MODULE_ANNONCES_OWNER_NO_OPINION_FOR_THIS_AD']);
267  $tpl->assign('STR_MODULE_AVIS_OPINION_POSTED_BY', $GLOBALS['STR_MODULE_AVIS_OPINION_POSTED_BY_AD_OWNER_OPINION']);
268  } else {
269  $tpl->assign('STR_MODULE_ANNONCES_AVIS_NO_OPINION_FOR_THIS_AD', $GLOBALS['STR_MODULE_ANNONCES_AVIS_NO_OPINION_FOR_THIS_AD']);
270  $tpl->assign('STR_MODULE_AVIS_OPINION_POSTED_BY', $GLOBALS['STR_MODULE_AVIS_OPINION_POSTED_BY']);
271  }
272  $tpl->assign('STR_MODULE_ANNONCES_BACK_TO_AD', $GLOBALS['STR_MODULE_ANNONCES_BACK_TO_AD']);
273  } else {
274  return null;
275  }
276 
277  $resAvis = query($sqlAvis);
278  $tpl->assign('type', $type);
279  $tpl->assign('ad_owner_opinion', $ad_owner_opinion);
280  $tpl->assign('star_src', get_url('/images/star1.gif'));
281  $tpl->assign('STR_MODULE_AVIS_PEOPLE_OPINION_ABOUT_PRODUCT', $GLOBALS['STR_MODULE_AVIS_PEOPLE_OPINION_ABOUT_PRODUCT']);
282  $tpl->assign('STR_MODULE_AVIS_AVERAGE_RATING_GIVEN', $GLOBALS['STR_MODULE_AVIS_AVERAGE_RATING_GIVEN']);
283  if (!empty($annonce_object) && $ad_owner_opinion && $annonce_object->id_utilisateur == vn($_SESSION['session_utilisateur']['id_utilisateur'])) {
284  $tpl->assign('STR_DONNEZ_AVIS', $GLOBALS['STR_DONNEZ_AVIS_AD_OWNER_OPINION']);
285  $tpl->assign('ad_owner_edit_option', true);
286  } else {
287  $tpl->assign('STR_DONNEZ_AVIS', $GLOBALS['STR_DONNEZ_AVIS']);
288  $tpl->assign('ad_owner_edit_option', false);
289  }
290  $tpl->assign('STR_ON_DATE_SHORT', $GLOBALS['STR_ON_DATE_SHORT']);
291  $tpl->assign('STR_MODULE_AVIS_NO_OPINION_FOR_THIS_PRODUCT', $GLOBALS['STR_MODULE_AVIS_NO_OPINION_FOR_THIS_PRODUCT']);
292  $tpl->assign('STR_BACK_TO_PRODUCT', $GLOBALS['STR_BACK_TO_PRODUCT']);
293  $tpl->assign('STR_POSTED_OPINION', $GLOBALS['STR_POSTED_OPINION']);
294  $tpl->assign('STR_POSTED_OPINIONS', $GLOBALS['STR_POSTED_OPINIONS']);
295 
296  if (num_rows($resAvis) > 0) {
297  $are_results = true;
298  $tpl->assign('are_results', true);
299  $qid = "SELECT AVG(note) AS average_rating
300  FROM peel_avis
301  WHERE";
302  if ($type == 'produit') {
303  $qid .= " id_produit = '" . intval($prodid) . "'";
304  } elseif ($type == 'annonce') {
305  $qid .= " ref = '" . intval($prodid) . "'";
306  }
307  $qid .= " AND etat = '1'";
308 
309  $id = query($qid);
310  $note = fetch_assoc($id);
311  $avisnote = number_format($note['average_rating'], 0);
312 
313  $tpl->assign('avisnote', $avisnote);
314 
315  $tpl_results = array();
316  $tpl_notation = array();
317  $notation_array = array();
318  $i = 0;
319  while ($Avis = fetch_assoc($resAvis)) {
320  // Compte le nombre de vote par note
321  if (!isset($notation_array[$Avis['note']])) {
322  $notation_array[$Avis['note']] = 0;
323  }
324  $notation_array[$Avis['note']]++;
325 
326  if (!empty($display_specific_note) && ($Avis['note'] != $display_specific_note)) {
327  // Permet d'afficher une note seléctionnée en excluant les votes avec une autre note, tout en conservant le comptage du nombre total, et le calcul du nombre de vote par note
328  continue;
329  }
330  if (!empty($Avis['pseudo'])) {
331  $pseudo = String::html_entity_decode_if_needed($Avis['pseudo']);
332  } else {
333  $pseudo = String::html_entity_decode_if_needed($Avis['prenom']);
334  }
335  $tpl_results[] = array('i' => $i,
336  'pseudo' => $pseudo,
337  'date' => get_formatted_date($Avis['datestamp'], 'short', true),
338  'avis' => $Avis['avis'],
339  'note' => $Avis['note'],
340  'id' => $Avis['id'],
341  'allow_edit_and_suppr_avis' => vn($GLOBALS['site_parameters']['allow_edit_and_suppr_avis_by_owner']) && vn($_SESSION['session_utilisateur']['id_utilisateur']) == $Avis['id_utilisateur']
342  );
343  $i++;
344  }
345  $tpl->assign('results', $tpl_results);
346 
347  $total_vote = array_sum($notation_array);
348  for($j=5;$j!=0;$j--) {
349  // Affiche les votes par ordre décroissant. Utilisation d'un for et non pas un foreach pour permettre l'affichage des notes sans vote (et donc pas présent dans le tableau notation_array)
350  $width = (vn($notation_array[$j]) / $total_vote) * 100;
351  $tpl_notation[] = array('note' => $j,
352  'nb_this_vote' => vn($notation_array[$j]),
353  'width' => ceil($width),
354  'link' => get_current_url(false) . '?prodid='.$prodid.'&display_specific_note='.$j
355  );
356  }
357  $tpl->assign('notations', $tpl_notation);
358 
359  $tpl->assign('display_nb_vote_graphic_view', vn($GLOBALS['site_parameters']['display_nb_vote_graphic_view']) && empty($ad_owner_opinion));
360  $tpl->assign('module_avis_no_notation', vn($GLOBALS['site_parameters']['module_avis_no_notation']));
361  $tpl->assign('all_results_url', get_current_url(false). '?prodid='.$prodid);
362  $tpl->assign('total_vote', $total_vote);
363  } else {
364  $tpl->assign('are_results', false);
365  $are_results = false;
366  }
367 
368  $tpl->assign('id', $prodid);
369  if ($type == 'produit') {
370  $tpl->assign('product_name', $product_object->name);
371  $tpl->assign('urlprod', $urlprod);
372  unset($product_object);
373  } elseif ($type == 'annonce') {
374  $tpl->assign('annonce_titre', $annonce_object->get_titre());
375  $tpl->assign('urlannonce', $urlannonce);
376  unset($annonce_object);
377  }
378 
379  if (empty($are_results) && $no_display_if_empty) {
380  $output = '';
381  } else {
382  $output = $tpl->fetch();
383  }
384  return $output;
385 }
386 
387 /*
388  *
389  * Supprime un avis, si la personne qui fait la demande est le propriétaire de l'avis.
390  *
391  *
392 */
393 function delete_avis($id) {
394 
395  // On doit vérifier que l'utilisateur à bien le droit de supprimer l'avis. Pour cela il y a deux cas : L'utilisateur est administrateur du site, ou l'utilisateur est le propriétaire du produit/annonce noté.
396  $sql = "SELECT *
397  FROM peel_avis
398  WHERE id=".intval($id);
399  $q = query($sql);
401  if (!empty($result['ref'])) {
402  $annonce_object = new Annonce($result['ref']);
403  if($_SESSION['session_utilisateur']['id_utilisateur'] == $annonce_object->id_utilisateur) {
404  $deleted_by_user_allowed=true;
405  }
406  }
407  $sql = "DELETE FROM peel_avis
408  WHERE";
409  if (empty($deleted_by_user_allowed) && !a_priv('admin')) {
410  $sql .= "
411  id_utilisateur='".intval(vn($_SESSION['session_utilisateur']['id_utilisateur']))."' AND";
412  }
413  $sql .= "
414  id='".intval(vn($id))."'";
415 
416  $q = query($sql);
417  return $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_REQUEST_OK']))->fetch();
418 }
419 
420 
427 function maj_avis($frm)
428 {
429  $qid = query("UPDATE peel_avis SET
430  avis = '" . nohtml_real_escape_string($frm['avis']) . "'
431  , note = '" . nohtml_real_escape_string($frm['note']) . "'
432  , etat = '" . nohtml_real_escape_string($frm['etat']) . "'
433  WHERE id = '" . intval($frm['id']) . "'");
434 }
435 
436 
437 
438 
439 
440 
441 
442 
443 
444 
445 
446 
447 
448 
449 
450 
getTextEditor($instance_name, $width, $height, $default_text, $default_path=null, $type_html_editor=0, $compter_char_max_if_enabled=255, $placeholder= '')
getTextEditor()
Definition: fonctions.php:4055
if(!empty($GLOBALS['site_parameters']['order_specific_field_titles'])) if(check_if_module_active('socolissimo')&&!empty($_REQUEST)&&!empty($_REQUEST['PUDOFOID'])&&!empty($_REQUEST['CEEMAIL'])&&!empty($_REQUEST['SIGNATURE'])&&!empty($_REQUEST['ORDERID'])) elseif(!empty($_POST)) elseif(check_if_module_active('socolissimo')&&!empty($_SESSION['session_commande']['is_socolissimo_order'])) foreach(array('bill'=> 1, 'ship'=> 2) as $address_type=> $session_commande_address_id) $frm['societe1']
$result
get_user_information($user_id=null, $get_full_infos=false)
Chargement des détails de l'utilisateur.
Definition: user.php:906
get_current_url($with_get=true, $get_short_url=false, $take_away_get_args_array=null)
get_current_url()
Definition: fonctions.php:1743
static getCleanHTML($text, $max_width=null, $allow_form=false, $allow_object=false, $allow_class=false, $additional_config=null, $safe=true, $additional_elements=null, $max_caracters_length=50000, $max_octets_length=59000, $max_word_and_url_length=100)
Fonction qui nettoie le HTML.
Definition: String.php:651
is_user_tva_intracom_for_no_vat($user_id=null)
is_user_tva_intracom_for_no_vat()
Definition: user.php:959
render_avis_public_list($prodid, $type, $display_specific_note=null, $no_display_if_empty=false, $ad_owner_opinion=false)
render_avis_public_list()
Definition: fonctions.php:239
delete_avis($id)
Definition: fonctions.php:393
static html_entity_decode_if_needed($string)
String::html_entity_decode_if_needed()
Definition: String.php:533
$ad_owner_opinion
Definition: avis.php:52
static strtolower($string)
Returns string with all alphabetic characters converted to lowercase.
Definition: String.php:135
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
if(!defined('IN_PEEL')) avis_hook_rpc_status(&$params)
Gestion du changement de status d'un élément dans une table si pas prévu par défaut.
Definition: fonctions.php:24
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
real_escape_string($value)
real_escape_string()
Definition: database.php:374
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
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
num_rows($query_result)
num_rows()
Definition: database.php:321
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
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
vn(&$var, $default=0)
Variable nulle if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:110
a_priv($requested_priv, $demo_allowed=false, $site_configuration_modification=false, $user_id=null)
Renvoie true si l'utilisateur de la session a le privilège $requested_priv ou un droit supérieur Des ...
Definition: user.php:63
formulaire_avis($id, &$frm, &$form_error_object, $type, $ad_owner_opinion=false, $opinion_id=null)
formulaire_avis()
Definition: fonctions.php:59
insere_avis($frm, $ad_owner_opinion)
insere_avis()
Definition: fonctions.php:126
maj_avis($frm)
Met à jour la avis $id avec les nouvelles valeurs contenues dans $frm.
Definition: fonctions.php:427
$id
Definition: articles.php:22
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...
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:30:51 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.