14 define(
'IN_PEEL_ADMIN',
true);
15 include(
"../configuration.inc.php");
20 include(
$GLOBALS[
'repertoire_modele'] .
"/admin_haut.php");
45 $frm[
'source'] =
'ADM';
46 $frm[
'on_check'] =
'0';
48 echo
$GLOBALS[
'tplEngine']->createTemplate(
'global_success.tpl', array(
'message' => sprintf(
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_MSG_CREATED_OK'],
String::strtoupper(
vb($_POST[
'nom'])))))->fetch();
50 echo
$GLOBALS[
'tplEngine']->createTemplate(
'global_error.tpl', array(
'message' => sprintf(
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_ERR_ALREADY_EXISTS'],
String::strtoupper(
vb($_POST[
'nom'])))))->fetch();
62 if (!
verify_token($_SERVER[
'PHP_SELF'] . $frm[
'mode'] . $frm[
'id'])) {
67 echo
$GLOBALS[
'tplEngine']->createTemplate(
'global_success.tpl', array(
'message' => sprintf(
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_MSG_MODIFY_OK'],
String::strtoupper(
vb($_POST[
'nom'])))))->fetch();
77 case "code_pour_client" :
82 if (!
verify_token($_SERVER[
'PHP_SELF'] .
'envoi_client' . $_POST[
'id_utilisateur'])) {
86 if (empty($_REQUEST[
'code_promo_id'])) {
87 echo
$GLOBALS[
'tplEngine']->createTemplate(
'global_error.tpl', array(
'message' =>
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_ERR_NO_CODE_SELECTED']))->fetch();
88 }
elseif (empty($_REQUEST[
'id_utilisateur'])) {
89 echo
$GLOBALS[
'tplEngine']->createTemplate(
'global_error.tpl', array(
'message' =>
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_ERR_NO_USER_SELECTED']))->fetch();
107 include(
$GLOBALS[
'repertoire_modele'] .
"/admin_bas.php");
124 $frm[
"remise_percent"] =
"";
125 $frm[
"remise_valeur"] =
"";
126 $frm[
"montant_min"] =
"";
128 $frm[
"on_type"] =
vb($_GET[
'on_type']);
130 $frm[
"site_id"] =
"";
131 $frm[
"cat_not_apply_code_promo"] =
"";
133 $frm[
"nouveau_mode"] =
"insere";
136 $frm[
"titre_bouton"] =
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_CREATE'];
152 $qid =
query(
"SELECT *
153 FROM peel_codes_promos
157 echo
$GLOBALS[
'tplEngine']->createTemplate(
'global_error.tpl', array(
'message' =>
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_ERR_NOT_FOUND']))->fetch();
161 $frm[
"nouveau_mode"] =
"maj";
162 $frm[
"titre_bouton"] =
$GLOBALS[
'STR_ADMIN_FORM_SAVE_CHANGES'];
175 $tpl =
$GLOBALS[
'tplEngine']->createTemplate(
'admin_formulaire_code_promo.tpl');
178 $tpl->assign(
'mode',
$frm[
"nouveau_mode"]);
184 $tpl->assign(
'remise_percent',
vn(
$frm[
'remise_percent']));
185 $tpl->assign(
'site_symbole',
$GLOBALS[
'site_parameters'][
'symbole']);
186 $tpl->assign(
'remise_valeur',
vn(
$frm[
'remise_valeur']));
187 $tpl->assign(
'montant_min',
vn(
$frm[
'montant_min']));
188 $tpl->assign(
'categorie_options', get_categories_output(null,
'categories',
vb(
$frm[
'id_categorie'])));
189 $tpl->assign(
'cat_not_apply_code_promo_options', get_categories_output(null,
'categories',
get_array_from_string(
vn(
$frm[
'cat_not_apply_code_promo']))));
190 $tpl->assign(
'nombre_prevue',
vb(
$frm[
"nombre_prevue"]));
191 $tpl->assign(
'nb_used_per_client',
vb(
$frm[
"nb_used_per_client"]));
192 $tpl->assign(
'product_filter',
vb(
$frm[
'product_filter']));
195 $tpl->assign(
'site_id_select_multiple', !empty(
$GLOBALS[
'site_parameters'][
'multisite_using_array_for_site_id']));
196 $tpl->assign(
'titre_bouton',
vn(
$frm[
'titre_bouton']));
197 if(
$frm[
"nouveau_mode"] !=
"insere") {
198 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_ALREADY_USED', sprintf(
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_ALREADY_USED'],
vn(
$frm[
'compteur_utilisation'])));
200 $tpl->assign(
'STR_ADMIN_WEBSITE',
$GLOBALS[
'STR_ADMIN_WEBSITE']);
201 $tpl->assign(
'STR_BEFORE_TWO_POINTS',
$GLOBALS[
'STR_BEFORE_TWO_POINTS']);
202 $tpl->assign(
'STR_ADMIN_ACTIVATED',
$GLOBALS[
'STR_ADMIN_ACTIVATED']);
203 $tpl->assign(
'STR_ADMIN_DEACTIVATED',
$GLOBALS[
'STR_ADMIN_DEACTIVATED']);
204 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_NB_USED_PER_CLIENT',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_NB_USED_PER_CLIENT']);
205 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_NB_USED_PER_CLIENT_EXPLAIN',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_NB_USED_PER_CLIENT_EXPLAIN']);
206 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_NB_FORECASTED',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_NB_FORECASTED']);
207 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_NB_FORECASTED_EXPLAIN',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_NB_FORECASTED_EXPLAIN']);
208 $tpl->assign(
'STR_ADMIN_ALL_CATEGORIES',
$GLOBALS[
'STR_ADMIN_ALL_CATEGORIES']);
210 $tpl->assign(
'STR_ADMIN_CATEGORIES_TO_EXCLUDE',
$GLOBALS[
'STR_ADMIN_CATEGORIES_TO_EXCLUDE']);
211 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_MIN', sprintf(
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_MIN'],
$GLOBALS[
'site_parameters'][
'symbole']));
212 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_MIN_EXPLAIN',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_MIN_EXPLAIN']);
213 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_PERCENT',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_PERCENT']);
214 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_VALUE', sprintf(
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_VALUE'],
$GLOBALS[
'site_parameters'][
'symbole']));
215 $tpl->assign(
'STR_ADMIN_BEGIN_DATE',
$GLOBALS[
'STR_ADMIN_BEGIN_DATE']);
216 $tpl->assign(
'STR_ADMIN_END_DATE',
$GLOBALS[
'STR_ADMIN_END_DATE']);
217 $tpl->assign(
'STR_CODE_PROMO',
$GLOBALS[
'STR_CODE_PROMO']);
218 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_ADD_CODE_PROMO_HEADER',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_ADD_CODE_PROMO_HEADER']);
219 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_STATUS',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_STATUS']);
220 $tpl->assign(
'STR_ADMIN_PRODUCT_NAME',
$GLOBALS[
'STR_ADMIN_PRODUCT_NAME']);
233 FROM peel_codes_promos
235 query(
"DELETE FROM peel_codes_promos
249 $sql =
"UPDATE peel_codes_promos SET
255 , on_type = '" . intval(
$frm[
'on_type']) .
"'
257 , etat = '" . intval(
$frm[
'etat']) .
"'
259 , id_site = '" .
$GLOBALS[
'site_parameters'][
'id'] .
"'
260 , id_categorie = '" . intval(
$frm[
'id_categorie']) .
"'
261 , nombre_prevue = '" . intval(
$frm[
'nombre_prevue']) .
"'
262 , nb_used_per_client = '" . intval(
$frm[
'nb_used_per_client']) .
"'
265 WHERE id='" . intval(
$id) .
"'";
276 $sql =
"SELECT cp.*, nom_" .
$_SESSION[
'session_langue'] .
" AS category_name
277 FROM peel_codes_promos cp
278 LEFT JOIN peel_categories c ON c.id=cp.id_categorie AND " .
get_filter_site_cond(
'categories',
'c') .
"
281 $HeaderTitlesArray = array(
$GLOBALS[
'STR_ADMIN_ACTION'],
'nom' =>
$GLOBALS[
'STR_ADMIN_CODE'],
'date_debut' =>
$GLOBALS[
'STR_ADMIN_BEGIN_DATE'],
'date_fin' =>
$GLOBALS[
'STR_ADMIN_END_DATE'],
'remise_percent,remise_valeur' =>
$GLOBALS[
'STR_ADMIN_DISCOUNT'],
'montant_min' =>
$GLOBALS[
'STR_ADMIN_DATE_STARTING'],
'category_name' =>
$GLOBALS[
'STR_CATEGORY'],
'etat' =>
$GLOBALS[
'STR_STATUS'],
'source' =>
$GLOBALS[
'STR_ADMIN_SOURCE'],
'site_id' =>
$GLOBALS[
'STR_ADMIN_WEBSITE']);
282 $Links->HeaderTitlesArray = $HeaderTitlesArray;
283 $Links->OrderDefault =
"date_debut";
284 $Links->SortDefault =
"ASC";
287 $tpl =
$GLOBALS[
'tplEngine']->createTemplate(
'admin_liste_code_promo.tpl');
288 $tpl->assign(
'add_src',
$GLOBALS[
'administrer_url'] .
'/images/add.png');
289 $tpl->assign(
'site_symbole',
$GLOBALS[
'site_parameters'][
'symbole']);
292 $tpl->assign(
'are_results',
false);
294 $tpl->assign(
'are_results',
true);
295 $tpl->assign(
'links_header_row',
$Links->getHeaderRow());
296 $tpl->assign(
'drop_src',
$GLOBALS[
'administrer_url'] .
'/images/b_drop.png');
297 $tpl->assign(
'edit_src',
$GLOBALS[
'administrer_url'] .
'/images/b_edit.png');
298 $tpl_results = array();
302 $tpl_results[] = array(
'tr_rollover' => tr_rollover(
$i,
true),
303 'nom' => $ligne[
'nom'],
304 'drop_href' =>
get_current_url(
false) .
'?mode=suppr&id=' . $ligne[
'id'],
305 'edit_href' =>
get_current_url(
false) .
'?mode=modif&id=' . $ligne[
'id'],
308 'on_type' => $ligne[
'on_type'],
309 'percent' => number_format($ligne[
'remise_percent'], 2,
',',
' '),
310 'valeur' =>
fprix($ligne[
'remise_valeur'],
true,
$GLOBALS[
'site_parameters'][
'code'],
false),
311 'montant_min' => ($ligne[
'montant_min'] > 0 ?
fprix($ligne[
'montant_min'],
true,
$GLOBALS[
'site_parameters'][
'code'],
false) :
"-"),
312 'category_name' => $ligne[
'category_name'],
313 'etat_onclick' =>
'change_status("codes_promos", "' . $ligne[
'id'] .
'", this, "'.
$GLOBALS[
'administrer_url'] .
'")',
314 'etat_src' => $GLOBALS[
'administrer_url'] .
'/images/' . (empty($ligne[
'etat']) ?
'puce-blanche.gif' :
'puce-verte.gif'),
315 'source' => $ligne[
'source'],
320 $tpl->assign(
'results', $tpl_results);
321 $tpl->assign(
'links_multipage',
$Links->GetMultipage());
323 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_LIST_TITLE',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_LIST_TITLE']);
324 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_CREATE_PERCENTAGE_REBATE',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_CREATE_PERCENTAGE_REBATE']);
325 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_CREATE_AMOUNT_REBATE',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_CREATE_AMOUNT_REBATE']);
326 $tpl->assign(
'STR_ADMIN_DELETE_WARNING',
$GLOBALS[
'STR_ADMIN_DELETE_WARNING']);
329 $tpl->assign(
'STR_ADMIN_ALL_CATEGORIES',
$GLOBALS[
'STR_ADMIN_ALL_CATEGORIES']);
330 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_NOT_FOUND',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_NOT_FOUND']);
343 $qcpromo =
query(
"SELECT *
344 FROM peel_codes_promos
345 WHERE etat = '1' AND source != 'CHQ' AND " .
get_filter_site_cond(
'codes_promos', null,
true) .
"");
347 $tpl =
$GLOBALS[
'tplEngine']->createTemplate(
'admin_liste_code_pour_client.tpl');
350 $tpl_options[] = array(
'value' => intval($codespromos[
'id']),
351 'nom' => $codespromos[
'nom'],
352 'on_type' => $codespromos[
'on_type'],
353 'percent' => number_format($codespromos[
'remise_percent'], 2,
',',
' '),
354 'valeur' =>
fprix($codespromos[
'remise_valeur'],
true,
$GLOBALS[
'site_parameters'][
'code'],
false),
355 'montant_min' =>
fprix($codespromos[
'montant_min'],
true,
$GLOBALS[
'site_parameters'][
'code'],
false)
361 $tpl->assign(
'civilite', $utilisateur[
'civilite']);
362 $tpl->assign(
'prenom', $utilisateur[
'prenom']);
363 $tpl->assign(
'nom_famille', $utilisateur[
'nom_famille']);
364 $tpl->assign(
'email', $utilisateur[
'email']);
365 $tpl->assign(
'codes_promos_href',
$GLOBALS[
'administrer_url'] .
'/codes_promos.php');
370 $tpl->assign(
'id_utilisateur', intval($id_utilisateur));
371 $tpl->assign(
'cancel_href',
$GLOBALS[
'administrer_url'] .
'/utilisateurs.php');
373 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_SEND_BY_EMAIL_TITLE',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_SEND_BY_EMAIL_TITLE']);
374 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_SEND_BY_EMAIL_SUBTITLE',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_SEND_BY_EMAIL_SUBTITLE']);
375 $tpl->assign(
'STR_BEFORE_TWO_POINTS',
$GLOBALS[
'STR_BEFORE_TWO_POINTS']);
376 $tpl->assign(
'STR_ADMIN_UTILISATEURS_UPDATE',
$GLOBALS[
'STR_ADMIN_UTILISATEURS_UPDATE']);
377 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_SELECT_TO_SEND',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_SELECT_TO_SEND']);
379 $tpl->assign(
'STR_ADMIN_DISCOUNT',
$GLOBALS[
'STR_ADMIN_DISCOUNT']);
381 $tpl->assign(
'STR_ADMIN_DATE_STARTING',
$GLOBALS[
'STR_ADMIN_DATE_STARTING']);
382 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_SEND_BY_EMAIL',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_SEND_BY_EMAIL']);
384 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_ERR_FIRST_CREATE_CODE_PROMO',
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_ERR_FIRST_CREATE_CODE_PROMO']);
385 $tpl->assign(
'STR_ADMIN_CODES_PROMOS_MIN', sprintf(
$GLOBALS[
'STR_ADMIN_CODES_PROMOS_MIN'],
$GLOBALS[
'site_parameters'][
'code']));
static strtoupper($string)
Returns string with all alphabetic characters converted to uppercase.
get_site_name($site_ids, $skip_rights_check=false)
Retourne le nom d'un ou de plusieurs sites à partir de l'id.
get_user_information($user_id=null, $get_full_infos=false)
Chargement des détails de l'utilisateur.
get_current_url($with_get=true, $get_short_url=false, $take_away_get_args_array=null)
get_current_url()
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 ...
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.
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.
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.
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))
necessite_identification()
Si l'utilisateur n'est pas connecté à un compte, on affiche une page d'identification et arrête le sc...
fetch_assoc($query_result)
fetch_assoc()
insere_code_promo($frm)
Créer un code promo pour l'administration et la création de chèque cadeaux lors du paiement d'une com...
get_form_token_input($name= 'general', $use_existing_token=true, $return_as_input_form=true)
get_form_token_input()
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.
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...
fprix($price, $display_currency=false, $currency_code_or_default=null, $convertion_needed_into_currency=true, $currency_rate=null, $display_iso_currency_code=false, $format=true, $force_format_separator=null, $add_rdfa_properties=false, $round_even_if_no_format=false)
fprix formatte le prix donné en le convertissant si nécessaire au préalable et en ajoutant éventuelle...
envoie_client_code_promo($id_utilisateur, $id_codepromo)
Envoi d'un code promo déjà existant à un utilisateur.
if(defined('IN_PEEL_ADMIN')||IN_INSTALLATION) $_SESSION['session_langue']