PEEL Shopping
Open source ecommerce : PEEL Shopping
legal.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: legal.php 46935 2015-09-18 08:49:48Z gboussin $
14 define('IN_PEEL_ADMIN', true);
15 include("../configuration.inc.php");
17 necessite_priv("admin_content");
18 
19 $GLOBALS['DOC_TITLE'] = $GLOBALS['STR_ADMIN_LEGAL_TITLE'];
20 
21 $id = intval(vn($_REQUEST['id']));
22 $frm = $_POST;
23 
24 if (!isset($form_error_object)) {
26 }
27 $output = '';
28 switch (vb($_REQUEST['mode'])) {
29  case "suppr" :
30  $output .= supprime_legal($_GET['id']);
32  break;
33 
34  case "insere" :
35  if (!verify_token($_SERVER['PHP_SELF'] . $_POST['mode'] . $_POST['id'])) {
36  $form_error_object->add('token', $GLOBALS['STR_INVALID_TOKEN']);
37  }
38  if (!$form_error_object->count()) {
39  $output .= insere_legal($_POST);
40  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_ADMIN_LEGAL_CREATED'], vb($_POST['nom_' . $_SESSION["session_langue"]]))))->fetch();
42  } else {
43  if ($form_error_object->has_error('token')) {
44  $output .= $form_error_object->text('token');
45  }
47  }
48  break;
49 
50  case "ajout" :
52  break;
53 
54  case "modif" :
56  break;
57 
58  case "maj" :
59  if (!empty($_POST)) {
60  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
61  $empty_field_messages_array['titre_' . $lng] = sprintf($GLOBALS['STR_ADMIN_LEGAL_ERR_EMPTY_TITLE'], String::strtoupper($lng));
62  }
63  $empty_field_messages_array['token'] = $GLOBALS['STR_INVALID_TOKEN'];
64  $form_error_object->valide_form($frm, $empty_field_messages_array);
65  }
66  if (!$form_error_object->count()) {
67  $output .= maj_legal($_POST['id'], $_POST);
68  $output .= $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_ADMIN_LEGAL_MSG_UPDATE_OK']))->fetch();
69  }
70  if ($form_error_object->count()) {
71  if ($form_error_object->has_error('token')) {
72  $output .= $form_error_object->text('token');
73  } else {
74  $output .= $GLOBALS['tplEngine']->createTemplate('global_error.tpl', array('message' => $GLOBALS['STR_ADMIN_ERR_FORM_INCOMPLETE']))->fetch();
75  }
76  }
78  break;
79 
80  default :
82  break;
83 }
84 
85 include($GLOBALS['repertoire_modele'] . "/admin_haut.php");
86 echo $output;
87 include($GLOBALS['repertoire_modele'] . "/admin_bas.php");
88 
101 {
102  if(empty($frm)){
103  // Pas de données venant de validation de formulaire, donc on charge le contenu de la base de données
104  /* Charge les informations des CGV */
105  $qid = query("SELECT *
106  FROM peel_legal
107  WHERE id = " . intval($id) . " AND " . get_filter_site_cond('legal', null, true));
108  $frm = fetch_assoc($qid);
109  }
110  if (!empty($frm)) {
111  $frm['nouveau_mode'] = "maj";
112  $frm['normal_bouton'] = $GLOBALS['STR_ADMIN_FORM_SAVE_CHANGES'];
114  } else {
115  redirect_and_die(get_current_url(false).'?mode=ajout');
116  }
117 }
118 
127 {
128  $tpl = $GLOBALS['tplEngine']->createTemplate('admin_formulaire_legal.tpl');
129  $tpl->assign('action', get_current_url(false) . '?start=0');
130  $tpl->assign('form_token', get_form_token_input($_SERVER['PHP_SELF'] . vb($frm['nouveau_mode']) . intval(vb($frm['id']))));
131  $tpl->assign('mode', $frm["nouveau_mode"]);
132  $tpl->assign('id', intval(vb($frm['id'])));
133  $tpl->assign('site_id_select_options', get_site_id_select_options(vb($frm['site_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('langs', $tpl_langs);
143  $tpl->assign('normal_bouton', $frm["normal_bouton"]);
144  $tpl->assign('STR_ADMIN_LEGAL_TITLE', $GLOBALS['STR_ADMIN_LEGAL_TITLE']);
145  $tpl->assign('STR_ADMIN_WEBSITE', $GLOBALS['STR_ADMIN_WEBSITE']);
146  $tpl->assign('STR_ADMIN_LANGUAGES_SECTION_HEADER', $GLOBALS['STR_ADMIN_LANGUAGES_SECTION_HEADER']);
147  $tpl->assign('STR_ADMIN_TITLE', $GLOBALS['STR_ADMIN_TITLE']);
148  $tpl->assign('STR_ADMIN_LEGAL_TEXT', $GLOBALS['STR_ADMIN_LEGAL_TEXT']);
149  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
150  return $tpl->fetch();
151 }
152 
159 function maj_legal($id, $frm)
160 {
161  $sql = "UPDATE peel_legal
162  SET date_maj='" . date('Y-m-d H:i:s', time()) . "', site_id='" . nohtml_real_escape_string(get_site_id_sql_set_value($frm['site_id'])). "'";
163  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
164  $sql .= ", titre_" . $lng . "='" . real_escape_string($frm['titre_' . $lng]) . "'";
165  $sql .= ", texte_" . $lng . "='" . real_escape_string($frm['texte_' . $lng]) . "'";
166  }
167  $sql .= "WHERE id = " . intval($id) . " AND " . get_filter_site_cond('legal', null, true);
168  $qid = query($sql);
169 }
170 
178 {
179  /* Valeurs par défaut */
180  if(empty($frm)) {
181  $frm = array();
182  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
183  $frm['nom_' . $lng] = "";
184  }
185  $frm['position'] = "";
186  $frm['tarif'] = 0;
187  $frm['tarif_percent'] = 0;
188  $frm['tva'] = 0;
189  $frm['technical_code'] = '';
190  $frm['retour_possible'] = 1;
191  $frm['totalmin'] = 0;
192  $frm['totalmax'] = 0;
193  $frm['site_id'] = 0;
194  }
195  $frm['nouveau_mode'] = "insere";
196  $frm['id'] = "";
197  $frm['normal_bouton'] = $GLOBALS['STR_ADMIN_ADD'];
199 }
200 
201 
209 {
210  /* Efface le contact */
211  $qid = query("DELETE FROM peel_legal
212  WHERE id=" . intval($id) . " AND ". get_filter_site_cond('legal', null, true));
213  return $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => $GLOBALS['STR_REQUEST_OK']))->fetch();
214 }
215 
222 function insere_legal(&$frm)
223 {
224  $sql = 'INSERT INTO peel_legal SET
225  site_id = "' . nohtml_real_escape_string(get_site_id_sql_set_value($frm['site_id'])) . '"
226  , date_maj = "' . date('Y-m-d H:i:s', time()) . '" ';
227  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
228  $sql .= '
229  , texte_' . $lng . ' = "' . real_escape_string(vb($frm['texte_' . $lng])) . '"';
230  }
231  query($sql);
232 }
239 {
240  $tpl = $GLOBALS['tplEngine']->createTemplate('admin_liste_legal.tpl');
241 
242  $tpl->assign('add_src', $GLOBALS['administrer_url'] . '/images/add.png');
243  $tpl->assign('add_href', get_current_url(false) . '?mode=ajout');
244  $tpl->assign('drop_src', $GLOBALS['administrer_url'] . '/images/b_drop.png');
245  $tpl->assign('edit_src', $GLOBALS['administrer_url'] . '/images/b_edit.png');
246 
247  $sql = "SELECT *
248  FROM peel_legal
249  WHERE " . get_filter_site_cond('legal', null, true);
250  $result = query($sql);
251  if (!(num_rows($result) == 0)) {
252  $tpl_results = array();
253  $i = 0;
254  while ($ligne = fetch_assoc($result)) {
255  $tpl_results[] = array('tr_rollover' => tr_rollover($i, true),
256  'nom' => (!empty($ligne['titre_' . $_SESSION['session_langue']])?$ligne['titre_' . $_SESSION['session_langue']]:'['.$ligne['id'].']'),
257  'drop_href' => get_current_url(false) . '?mode=suppr&id=' . $ligne['id'],
258  'edit_href' => get_current_url(false) . '?mode=modif&id=' . $ligne['id'],
259  'site_name' => get_site_name($ligne['site_id'])
260  );
261  }
262  $tpl->assign('results', $tpl_results);
263  }
264 
265  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
266  $tpl->assign('STR_ADMIN_LEGAL_ADD', $GLOBALS['STR_ADMIN_LEGAL_ADD']);
267  $tpl->assign('STR_DELETE', $GLOBALS['STR_DELETE']);
268  $tpl->assign('STR_ADMIN_ACTION', $GLOBALS['STR_ADMIN_ACTION']);
269  $tpl->assign('STR_ADMIN_LEGAL_TITLE', $GLOBALS['STR_ADMIN_LEGAL_TITLE']);
270  $tpl->assign('STR_ADMIN_LEGAL_UPDATE', $GLOBALS['STR_ADMIN_LEGAL_UPDATE']);
271  $tpl->assign('STR_ADMIN_LEGAL_NO_FOUND', $GLOBALS['STR_ADMIN_LEGAL_NO_FOUND']);
272  $tpl->assign('STR_ADMIN_DELETE_WARNING', $GLOBALS['STR_ADMIN_DELETE_WARNING']);
273  $tpl->assign('STR_ADMIN_WEBSITE', $GLOBALS['STR_ADMIN_WEBSITE']);
274  return $tpl->fetch();
275 }
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
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(!isset($form_error_object)) $output
Definition: legal.php:27
$result
get_current_url($with_get=true, $get_short_url=false, $take_away_get_args_array=null)
get_current_url()
Definition: fonctions.php:1743
$frm
Definition: legal.php:22
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
maj_legal($id, $frm)
maj_legal()
Definition: legal.php:159
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
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
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
$id
Definition: legal.php:21
fetch_assoc($query_result)
fetch_assoc()
Definition: database.php:283
insere_legal(&$frm)
Ajoute les informations dans la table legal.
Definition: legal.php:222
affiche_formulaire_ajout_legal(&$frm, $form_error_object)
Affiche un formulaire vierge pour ajouter un contacts.
Definition: legal.php:177
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
supprime_legal($id)
Supprime le contact spécifié par $id.
Definition: legal.php:208
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
affiche_formulaire_modif_legal($id, &$frm, &$form_error_object)
FONCTIONS.
Definition: legal.php:100
affiche_liste_legal()
affiche_liste_legal()
Definition: legal.php:238
affiche_formulaire_legal(&$frm, &$form_error_object)
affiche_formulaire_legal()
Definition: legal.php:126
$GLOBALS['DOC_TITLE']
Definition: legal.php:19
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:29:13 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.