PEEL Shopping
Open source ecommerce : PEEL Shopping
cgv.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: cgv.php 46935 2015-09-18 08:49:48Z gboussin $
14 
15 define('IN_PEEL_ADMIN', true);
16 include("../configuration.inc.php");
18 necessite_priv('admin_content');
19 
20 $GLOBALS['DOC_TITLE'] = $GLOBALS['STR_ADMIN_CGV_TITLE'];
21 
22 $id = intval(vn($_REQUEST['id']));
23 
24 if (!isset($form_error_object)) {
26 }
27 $output ='';
28 switch (vb($_REQUEST['mode'])) {
29  case "maj" :
30  if (!empty($_POST)) {
31  $frm = $_POST;
32  $form_error_object->valide_form($frm,
33  array('titre_' . $_SESSION['session_langue'] => sprintf($GLOBALS['STR_ADMIN_CGV_ERR_TITLE_EMPTY'], String::strtoupper($_SESSION['session_langue'])),
34  'token' => $GLOBALS['STR_INVALID_TOKEN']));
35  if (!verify_token($_SERVER['PHP_SELF'] . $frm['mode'] . $frm['id'])) {
36  $form_error_object->add('token', $GLOBALS['STR_INVALID_TOKEN']);
37  }
38  }
39  if (!$form_error_object->count()) {
40  $output .= maj_cgv($id, $frm);
41  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_ADMIN_CGV_MSG_UPDATED_OK']))->fetch();
42  } else {
43  if ($form_error_object->has_error('token')) {
44  $output .= $form_error_object->text('token');
45  } else {
46  $output .= $GLOBALS['tplEngine']->createTemplate('global_error.tpl', array('message' => $GLOBALS['STR_ADMIN_ERR_FORM_INCOMPLETE']))->fetch();
47  }
48  }
50  break;
51 
52  case "suppr" :
53  $output .= supprime_cgv($_GET['id']);
55  break;
56 
57  case "insere" :
58  if (!verify_token($_SERVER['PHP_SELF'] . $_POST['mode'] . $_POST['id'])) {
59  $form_error_object->add('token', $GLOBALS['STR_INVALID_TOKEN']);
60  }
61  if (!$form_error_object->count()) {
62  $output .= insere_cgv($_POST);
63  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_ADMIN_CGV_CREATED'], vb($_POST['nom_' . $_SESSION["session_langue"]]))))->fetch();
65  } else {
66  if ($form_error_object->has_error('token')) {
67  $output .= $form_error_object->text('token');
68  }
70  }
71  break;
72 
73  case "ajout" :
75  break;
76 
77  case "modif" :
79  break;
80 
81  default :
83  break;
84 }
85 
86 include($GLOBALS['repertoire_modele'] . "/admin_haut.php");
87 echo $output;
88 include($GLOBALS['repertoire_modele'] . "/admin_bas.php");
89 
102 {
103  if(empty($frm)){
104  // Pas de données venant de validation de formulaire, donc on charge le contenu de la base de données
105  /* Charge les informations des CGV */
106  $qid = query("SELECT *
107  FROM peel_cgv
108  WHERE id = " . intval($id) . " AND " . get_filter_site_cond('cgv', null, true));
109  $frm = fetch_assoc($qid);
110  }
111  if (!empty($frm)) {
112  $frm['nouveau_mode'] = "maj";
113  $frm['normal_bouton'] = $GLOBALS['STR_ADMIN_FORM_SAVE_CHANGES'];
115  } else {
116  redirect_and_die(get_current_url(false).'?mode=ajout');
117  }
118 }
119 
128 {
129  $tpl = $GLOBALS['tplEngine']->createTemplate('admin_formulaire_cgv.tpl');
130  $tpl->assign('action', get_current_url(false) . '?start=0');
131  $tpl->assign('form_token', get_form_token_input($_SERVER['PHP_SELF'] . $frm['nouveau_mode'] . intval(vn($frm['id']))));
132  $tpl->assign('mode', $frm['nouveau_mode']);
133  $tpl->assign('id', intval(vn($frm['id'])));
134  $tpl_langs = array();
135  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
136  $tpl_langs[] = array('lng' => $lng,
137  'error' => $form_error_object->text('titre_' . $lng),
138  'titre' => vb($frm['titre_' . $lng]),
139  'texte_te' => getTextEditor('texte_' . $lng, '100%', 500, String::html_entity_decode_if_needed(vb($frm['texte_' . $lng])))
140  );
141  }
142  $tpl->assign('site_id_select_options', get_site_id_select_options(vn($frm['site_id'])));
143  $tpl->assign('langs', $tpl_langs);
144  $tpl->assign('normal_bouton', $frm['normal_bouton']);
145  $tpl->assign('STR_ADMIN_WEBSITE', $GLOBALS['STR_ADMIN_WEBSITE']);
146  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
147  $tpl->assign('STR_ADMIN_CGV_FORM_EXPLAIN', $GLOBALS['STR_ADMIN_CGV_FORM_EXPLAIN']);
148  $tpl->assign('STR_ADMIN_LANGUAGES_SECTION_HEADER', $GLOBALS['STR_ADMIN_LANGUAGES_SECTION_HEADER']);
149  $tpl->assign('STR_ADMIN_TITLE', $GLOBALS['STR_ADMIN_TITLE']);
150  $tpl->assign('STR_ADMIN_CGV_TEXT', $GLOBALS['STR_ADMIN_CGV_TEXT']);
151  return $tpl->fetch();
152 }
153 
160 function maj_cgv($id, $frm)
161 {
162  $sql = "UPDATE peel_cgv
163  SET site_id = '" . nohtml_real_escape_string(get_site_id_sql_set_value($frm['site_id'])) . "',
164  date_maj = '" . date('Y-m-d H:i:s', time()) . "'";
165  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
166  $sql .= ", titre_" . $lng . "='" . real_escape_string($frm['titre_' . $lng]) . "'
167  , texte_" . $lng . "='" . real_escape_string($frm['texte_' . $lng]) . "'";
168  }
169  $sql .= "
170  WHERE id = " . intval($id) . " AND " . get_filter_site_cond('cgv', null, true);
171  $qid = query($sql);
172 }
173 
181 {
182  /* Valeurs par défaut */
183  if(empty($frm)) {
184  $frm = array();
185  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
186  $frm['nom_' . $lng] = "";
187  }
188  $frm['position'] = "";
189  $frm['tarif'] = 0;
190  $frm['tarif_percent'] = 0;
191  $frm['tva'] = 0;
192  $frm['technical_code'] = '';
193  $frm['retour_possible'] = 1;
194  $frm['totalmin'] = 0;
195  $frm['totalmax'] = 0;
196  $frm['site_id'] = 0;
197  }
198  $frm['nouveau_mode'] = "insere";
199  $frm['id'] = "";
200  $frm['normal_bouton'] = $GLOBALS['STR_ADMIN_ADD'];
202 }
203 
204 
211 function supprime_cgv($id)
212 {
213  $qid = query("SELECT *
214  FROM peel_cgv
215  WHERE id = " . intval($id) . " AND " . get_filter_site_cond('cgv', null, true));
216  $p = fetch_assoc($qid);
217 
218  /* Efface le cgv */
219  $qid = query("DELETE FROM peel_cgv
220  WHERE id=" . intval($id) . " AND " . get_filter_site_cond('cgv', null, true));
221  return $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_REQUEST_OK'], $p['titre_' . $_SESSION['session_langue']])))->fetch();
222 }
223 
230 function insere_cgv(&$frm)
231 {
232  $sql = "INSERT INTO peel_cgv
233  SET site_id = '" . nohtml_real_escape_string(get_site_id_sql_set_value($frm['site_id'])) . "'
234  ,date_maj = '" . date('Y-m-d H:i:s', time()) . "'";
235  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
236  $sql .= ", titre_" . $lng . "='" . real_escape_string($frm['titre_' . $lng]) . "'
237  , texte_" . $lng . "='" . real_escape_string($frm['texte_' . $lng]) . "'";
238  }
239 
240  query($sql);
241 }
248 {
249  $tpl = $GLOBALS['tplEngine']->createTemplate('admin_liste_cgv.tpl');
250 
251  $tpl->assign('add_src', $GLOBALS['administrer_url'] . '/images/add.png');
252  $tpl->assign('add_href', get_current_url(false) . '?mode=ajout');
253  $tpl->assign('drop_src', $GLOBALS['administrer_url'] . '/images/b_drop.png');
254  $tpl->assign('edit_src', $GLOBALS['administrer_url'] . '/images/b_edit.png');
255 
256  $sql = "SELECT *
257  FROM peel_cgv
258  WHERE " . get_filter_site_cond('cgv', null, true);
259  $result = query($sql);
260  if (!(num_rows($result) == 0)) {
261  $tpl_results = array();
262  $i = 0;
263  while ($ligne = fetch_assoc($result)) {
264  $tpl_results[] = array('tr_rollover' => tr_rollover($i, true),
265  'nom' => (!empty($ligne['titre_' . $_SESSION['session_langue']])?$ligne['titre_' . $_SESSION['session_langue']]:'['.$ligne['id'].']'),
266  'drop_href' => get_current_url(false) . '?mode=suppr&id=' . $ligne['id'],
267  'edit_href' => get_current_url(false) . '?mode=modif&id=' . $ligne['id'],
268  'site_name' => get_site_name($ligne['site_id'])
269  );
270  }
271  $tpl->assign('results', $tpl_results);
272  }
273 
274  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
275  $tpl->assign('STR_ADMIN_CGV_ADD', $GLOBALS['STR_ADMIN_CGV_ADD']);
276  $tpl->assign('STR_DELETE', $GLOBALS['STR_DELETE']);
277  $tpl->assign('STR_ADMIN_ACTION', $GLOBALS['STR_ADMIN_ACTION']);
278  $tpl->assign('STR_ADMIN_CGV_TITLE', $GLOBALS['STR_ADMIN_CGV_TITLE']);
279  $tpl->assign('STR_ADMIN_CGV_UPDATE', $GLOBALS['STR_ADMIN_CGV_UPDATE']);
280  $tpl->assign('STR_ADMIN_CGV_NO_FOUND', $GLOBALS['STR_ADMIN_CGV_NO_FOUND']);
281  $tpl->assign('STR_ADMIN_DELETE_WARNING', $GLOBALS['STR_ADMIN_DELETE_WARNING']);
282  $tpl->assign('STR_ADMIN_WEBSITE', $GLOBALS['STR_ADMIN_WEBSITE']);
283  return $tpl->fetch();
284 }
285 
static strtoupper($string)
Returns string with all alphabetic characters converted to uppercase.
Definition: String.php:154
get_site_name($site_ids, $skip_rights_check=false)
Retourne le nom d'un ou de plusieurs sites à partir de l'id.
Definition: fonctions.php:4763
affiche_liste_cgv()
affiche_liste_cgv()
Definition: cgv.php:247
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_current_url($with_get=true, $get_short_url=false, $take_away_get_args_array=null)
get_current_url()
Definition: fonctions.php:1743
maj_cgv($id, $frm)
maj_cgv()
Definition: cgv.php:160
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
$tpl_langs
get_site_id_select_options($selected_site_id=null, $selected_site_name=null, $display_first_option=null, $select_current_site_id_by_default=false)
Créer les options pour le select qui liste les noms de sites configurés en back office.
static html_entity_decode_if_needed($string)
String::html_entity_decode_if_needed()
Definition: String.php:533
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(!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
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
affiche_formulaire_cgv(&$frm, &$form_error_object)
affiche_formulaire_cgv()
Definition: cgv.php:127
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
$GLOBALS['DOC_TITLE']
Definition: cgv.php:20
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
insere_cgv(&$frm)
Ajoute le cgv dans la table cgv.
Definition: cgv.php:230
vb(&$var, $default=null)
Variable blanche if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:97
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
affiche_formulaire_modif_cgv($id, &$frm, &$form_error_object)
FONCTIONS.
Definition: cgv.php:101
$id
Definition: cgv.php:22
fetch_assoc($query_result)
fetch_assoc()
Definition: database.php:283
supprime_cgv($id)
Supprime le cgv spécifié par $id.
Definition: cgv.php:211
get_form_token_input($name= 'general', $use_existing_token=true, $return_as_input_form=true)
get_form_token_input()
Definition: fonctions.php:94
vn(&$var, $default=0)
Variable nulle if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:110
get_site_id_sql_set_value($site_ids)
Retourne la valeur SQL d'un champ INT ou SET suivant que ce soit un entier ou un tableau.
Definition: fonctions.php:4747
affiche_formulaire_ajout_cgv(&$frm, $form_error_object)
Affiche un formulaire vierge pour ajouter un cgv.
Definition: cgv.php:180
verify_token($name= 'general', $delay_in_minutes=60, $check_referer_if_set_by_server=true, $cancel_token=true, $minimum_wait_in_seconds_before_use=0)
Vérification de la validité d'un token Par défaut, un token est valide 1h, et utilisable 1 seule fois...
Definition: fonctions.php:118
if(!isset($form_error_object)) $output
Definition: cgv.php:27
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:59 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.