PEEL Shopping
Open source ecommerce : PEEL Shopping
statut_livraison.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: statut_livraison.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_manage,admin_sales");
19 
20 $GLOBALS['DOC_TITLE'] = $GLOBALS['STR_ADMIN_STATUT_LIVRAISON_TITLE'];
21 include($GLOBALS['repertoire_modele'] . "/admin_haut.php");
22 
23 $frm = $_POST;
25 
26 switch (vb($_REQUEST['mode'])) {
27  case "ajout" :
29  break;
30 
31  case "modif" :
33  break;
34 
35  case "suppr" :
36  supprime_statut($_GET['id']);
38  break;
39 
40  case "insere" :
41  if (!verify_token($_SERVER['PHP_SELF'] . $frm['mode'] . $frm['id'])) {
42  $form_error_object->add('token', $GLOBALS['STR_INVALID_TOKEN']);
43  }
44  if (!$form_error_object->count()) {
45  insere_statut($_POST);
47  } else {
48  if ($form_error_object->has_error('token')) {
49  echo $form_error_object->text('token');
50  }
52  }
53  break;
54 
55  case "maj" :
56  if (!verify_token($_SERVER['PHP_SELF'] . $frm['mode'] . $frm['id'])) {
57  $form_error_object->add('token', $GLOBALS['STR_INVALID_TOKEN']);
58  }
59  if (!$form_error_object->count()) {
60  maj_statut($_POST['id'], $_POST);
61  echo $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_ADMIN_STATUT_LIVRAISON_MSG_UPDATED_OK'], $_POST['id'])))->fetch();
63  } else {
64  if ($form_error_object->has_error('token')) {
65  echo $form_error_object->text('token');
66  }
67  affiche_formulaire_modif_statut($_GET['id'], $frm);
68  }
69  break;
70 
71  default :
73  break;
74 }
75 
76 include($GLOBALS['repertoire_modele'] . "/admin_bas.php");
77 
88 {
89  /* Valeurs par défaut */
90  if(empty($frm)) {
91  $frm = array();
92  $frm['position'] = 0;
93  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
94  $frm['nom_' . $lng] = "";
95  }
96  }
97  $frm['nouveau_mode'] = "insere";
98  $frm['id'] = "";
99  $frm['titre_bouton'] = $GLOBALS['STR_ADMIN_STATUT_LIVRAISON_CREATE'];
100 
102 }
103 
112 {
113  if(empty($frm)){
114  // Pas de données venant de validation de formulaire, donc on charge le contenu de la base de données
115  /* Charge les informations du produit */
116  $qid = query("SELECT *
117  FROM peel_statut_livraison
118  WHERE id = " . intval($id) . " AND " . get_filter_site_cond('statut_livraison', null, true) . "");
119  $frm = fetch_assoc($qid);
120  }
121  if (!empty($frm)) {
122  $frm["nouveau_mode"] = "maj";
123  $frm["titre_bouton"] = $GLOBALS['STR_ADMIN_FORM_SAVE_CHANGES'];
125  } else {
126  redirect_and_die(get_current_url(false).'?mode=ajout');
127  }
128 }
129 
136 {
137  $tpl = $GLOBALS['tplEngine']->createTemplate('admin_formulaire_statut.tpl');
138  $tpl->assign('action', get_current_url(false) . '?start=0');
139  $tpl->assign('form_token', get_form_token_input($_SERVER['PHP_SELF'] . $frm['nouveau_mode'] . intval($frm['id'])));
140  $tpl->assign('mode', vb($frm['nouveau_mode']));
141  $tpl->assign('id', intval(vb($frm['id'])));
142  $tpl->assign('technical_code', vb($frm['technical_code']));
143  $tpl->assign('site_id_select_options', get_site_id_select_options(vb($frm['site_id'])));
144 
145  $tpl_langs = array();
146  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
147  $tpl_langs[] = array('lng' => $lng,
148  'nom' => $frm['nom_' . $lng]
149  );
150  }
151  $tpl->assign('langs', $tpl_langs);
152  $tpl->assign('position', $frm['position']);
153  $tpl->assign('titre_bouton', $frm['titre_bouton']);
154  $tpl->assign('STR_ADMIN_STATUT_FORM_TITLE', $GLOBALS['STR_ADMIN_STATUT_FORM_TITLE']);
155  $tpl->assign('STR_ADMIN_LANGUAGES_SECTION_HEADER', $GLOBALS['STR_ADMIN_LANGUAGES_SECTION_HEADER']);
156  $tpl->assign('STR_ADMIN_NAME', $GLOBALS['STR_ADMIN_NAME']);
157  $tpl->assign('STR_ADMIN_WEBSITE', $GLOBALS['STR_ADMIN_WEBSITE']);
158  $tpl->assign('STR_ADMIN_VARIOUS_INFORMATION_HEADER', $GLOBALS['STR_ADMIN_VARIOUS_INFORMATION_HEADER']);
159  $tpl->assign('STR_ADMIN_TECHNICAL_CODE', $GLOBALS['STR_ADMIN_TECHNICAL_CODE']);
160  $tpl->assign('STR_ADMIN_POSITION', $GLOBALS['STR_ADMIN_POSITION']);
161  $tpl->assign('STR_BEFORE_TWO_POINTS', $GLOBALS['STR_BEFORE_TWO_POINTS']);
162  echo $tpl->fetch();
163 }
164 
172 {
173  /* Efface le statut */
174  query("DELETE FROM peel_statut_livraison WHERE id=" . intval($id) . " AND " . get_filter_site_cond('statut_livraison', null, true) . "");
175  echo $GLOBALS['tplEngine']->createTemplate('global_success.tpl', array('message' => sprintf($GLOBALS['STR_ADMIN_STATUT_LIVRAISON_MSG_DELETED_OK'], get_delivery_status_name($id))))->fetch();
176 }
177 
185 {
186  $sql = "INSERT INTO peel_statut_livraison (position, technical_code, site_id";
187  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
188  $sql .= ", nom_" . $lng;
189  }
190  $sql .= "
191  ) VALUES ('" . intval($frm['position']) . "', '" . nohtml_real_escape_string($frm['technical_code']) . "', '" . nohtml_real_escape_string(get_site_id_sql_set_value($frm['site_id'])) . "'";
192  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
193  $sql .= ", '" . nohtml_real_escape_string($frm['nom_' . $lng]) . "'";
194  }
195  $sql .= ")";
196  query($sql);
197 }
198 
206 function maj_statut($id, $frm)
207 {
208  $sql = "UPDATE peel_statut_livraison SET position='" . intval($frm['position']) . "', site_id='" . nohtml_real_escape_string(get_site_id_sql_set_value($frm['site_id'])) . "', technical_code='" . nohtml_real_escape_string($frm['technical_code']) . "'";
209  foreach ($GLOBALS['admin_lang_codes'] as $lng) {
210  $sql .= ", nom_" . $lng . " = '" . nohtml_real_escape_string($frm['nom_' . $lng]) . "'";
211  }
212  $sql .= "WHERE id = '" . intval($id) . "'";
213 
214  query($sql);
215 }
216 
223 {
224  $tpl = $GLOBALS['tplEngine']->createTemplate('admin_liste_statut_livraison.tpl');
225  $result = query("SELECT id, position, nom_" . $_SESSION['session_langue'] . ", site_id, technical_code
226  FROM peel_statut_livraison
227  WHERE " . get_filter_site_cond('statut_livraison', null, true) . "
228  ORDER BY position ASC, id ASC");
229  if (!(num_rows($result) == 0)) {
230  $tpl_results = array();
231  $i = 0;
232  while ($ligne = fetch_assoc($result)) {
233  $tpl_results[] = array('tr_rollover' => tr_rollover($i, true),
234  'technical_code' => $ligne['technical_code'],
235  'modif_href' => get_current_url(false) . '?mode=modif&id=' . $ligne['id'],
236  'nom' => $ligne['nom_' . $_SESSION['session_langue']],
237  'position' => $ligne['position'],
238  'site_name' => get_site_name($ligne['site_id'])
239  );
240  $i++;
241  }
242  $tpl->assign('results', $tpl_results);
243  }
244  $GLOBALS['sortable_rpc'] = 'rpc_positions.php?mode=statut_livraison';
245  $tpl->assign('add_button_url', $GLOBALS['administrer_url'] . '/images/add.png');
246  $tpl->assign('add_status_url', get_current_url(false) . '?mode=ajout');
247  $tpl->assign('STR_ADMIN_STATUT_LIVRAISON_TITLE', $GLOBALS['STR_ADMIN_STATUT_LIVRAISON_TITLE']);
248  $tpl->assign('STR_ADMIN_STATUT_LIVRAISON_EXPLAIN', $GLOBALS['STR_ADMIN_STATUT_LIVRAISON_EXPLAIN']);
249  $tpl->assign('STR_ADMIN_STATUT_LIVRAISON_CREATE', $GLOBALS['STR_ADMIN_STATUT_LIVRAISON_CREATE']);
250  $tpl->assign('STR_ADMIN_TECHNICAL_CODE', $GLOBALS['STR_ADMIN_TECHNICAL_CODE']);
251  $tpl->assign('STR_ADMIN_STATUT_STATUS_TYPE', $GLOBALS['STR_ADMIN_STATUT_STATUS_TYPE']);
252  $tpl->assign('STR_ADMIN_POSITION', $GLOBALS['STR_ADMIN_POSITION']);
253  $tpl->assign('STR_ADMIN_STATUT_UPDATE', $GLOBALS['STR_ADMIN_STATUT_UPDATE']);
254  $tpl->assign('STR_ADMIN_STATUT_NO_STATUS_FOUND', $GLOBALS['STR_ADMIN_STATUT_NO_STATUS_FOUND']);
255  $tpl->assign('STR_ADMIN_WEBSITE', $GLOBALS['STR_ADMIN_WEBSITE']);
256  echo $tpl->fetch();
257 }
258 
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
supprime_statut($id)
Supprime le statut spécifié par $id.
affiche_formulaire_statut(&$frm)
affiche_formulaire_statut()
$result
get_current_url($with_get=true, $get_short_url=false, $take_away_get_args_array=null)
get_current_url()
Definition: fonctions.php:1743
get_delivery_status_name($id)
get_delivery_status_name()
Definition: order.php:1088
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.
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
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
insere_statut($frm)
Ajoute le statut dans la table statut.
vb(&$var, $default=null)
Variable blanche if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:97
affiche_formulaire_modif_statut($id, &$frm)
Affiche le formulaire de modification pour le statut sélectionné
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_liste_statut()
affiche_liste_statut()
affiche_formulaire_ajout_statut(&$frm)
FONCTIONS.
maj_statut($id, $frm)
Met à jour le statut $id avec de nouvelles valeurs.
fetch_assoc($query_result)
fetch_assoc()
Definition: database.php:283
$form_error_object
$GLOBALS['DOC_TITLE']
get_form_token_input($name= 'general', $use_existing_token=true, $return_as_input_form=true)
get_form_token_input()
Definition: fonctions.php:94
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
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
$id
Definition: articles.php:22
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:36 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.