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 46952 2015-09-18 14:24:10Z sdelaporte $
14 if (!defined('IN_PEEL')) {
15  die();
16 }
17 
18 // Définition du tableau de critère SQL (champ => Valeur)
19 $GLOBALS['page_types_array'] = array('home_page', 'first_page_category', 'other_page_category', 'ad_page_details', 'search_engine_page', 'ad_creation_page');
20 
29 }
30 
37 function banner_hook_rpc_status(&$params) {
38  // Suppression des caches de bannières
39  if ($params['mode']=='banner') {
40  $this_cache_object = new Cache(null, array('group' => 'affiche_banner_data'));
41  $this_cache_object->delete_cache_file(true);
42  unset($this_cache_object);
43  }
44 }
45 
63 function affiche_banner($position = null, $return_mode = false, $page = null, $cat_id = null, $this_annonce_number = 0, $page_type=null, $keywords_array=null, $lang = null, $return_array_with_raw_information = false, $ad_id=null, $page_related_to_user_id = null, $disable_cache = false)
64 {
65  static $is_module_banner_active;
66  if(!isset($is_module_banner_active)) {
67  $is_module_banner_active = check_if_module_active('banner');
68  }
69  $output = '';
70  $cmp = 0;
71  $sql_cond = '';
72  $style_banner = '';
73  $banner_position = '';
74  $mobile_application_output_array = array();
75  if (empty($lang)) {
76  $lang = $_SESSION['session_langue'];
77  }
78 
79  // Taille par défaut des bannières à modifier en fonction du template du site.
80  if (!empty($GLOBALS['page_columns_count']) && $GLOBALS['page_columns_count'] == 2) {
81  $max_banner_width = 750;
82  $max_banner_height = 748;
83  } else {
84  $max_banner_width = 1200;
85  $max_banner_height = 748;
86  }
87  if ($is_module_banner_active) {
88  // Si le champ catégorie est renseigné, alors on prend les bannières pour la catégorie définie OU sans catégorie définie
89  // Par la suite dans le tri, on sélectionne en priorité les bannières avec id_catégorie précisée
90  if(!empty($page_related_to_user_id)){
91  $sql_cond .= ' AND CONCAT(",",do_not_display_on_pages_related_to_user_ids_list,",") NOT LIKE ("%,' . intval($page_related_to_user_id) . ',%")';
92  $disable_cache = true;
93  }
94  if(!empty($cat_id)){
95  $sql_cond .= ' AND id_categorie IN ("0", "' . intval($cat_id) . '")';
96  }else{
97  $sql_cond .= ' AND id_categorie="0"';
98  }
99  if (!empty($this_annonce_number)) {
100  // annonce_number indique la position de la publicité dans une liste d'annonces
101  $sql_cond .= ' AND annonce_number="' . intval($this_annonce_number) . '"';
102  $disable_cache = true;
103  }
104  // On prend les bannières qui correspondent au type de page recherché
105  // Si $page_type === null, on ne tient pas compte de ce paramètre : a priori, on ne met jamais $page_type à null
106  if(in_array($page_type, $GLOBALS['page_types_array'])) {
107  // Type de page connu => on prend les bannières qui correspondent
108  $sql_cond .= ' AND on_'.$page_type .'=1';
109  } elseif($page_type!==null) {
110  // Type de page non listé => rentre dans le cadre de on_other_page
111  $sql_cond .= ' AND on_other_page=1';
112  }
113  if(!empty($keywords_array)) {
114  // On veut aussi chercher si keywords vaut "" et pas juste les bannières pour ce mot clé
115  $keywords_array[]='';
116  $sql_cond .= ' AND ' . build_terms_clause(array_unique($keywords_array), array('keywords'), 2);
117  // On ne met pas en cache les bannières dans ce cas, sinon le nombre de fichiers de cache peut devenir déraisonnable
118  $disable_cache = true;
119  } else {
120  $sql_cond .= ' AND keywords=""';
121  }
122  // Alternance de bannière pair/impair sur le dernier chiffre de l'id de l'annonce ou de la page d'annonce pour une catégorie. Le choix du type de page est fait précédemment dans la requête.
123  if ((defined('IN_CATALOGUE_ANNONCE') || defined('IN_IPHONE_ADS_MODULE')) && !empty($page)) {
124  // pour une catégorie
125  $tested_number = String::substr($page, -1);
126  } elseif ((defined('IN_CATALOGUE_ANNONCE_DETAILS') || defined('IN_IPHONE_ADS_MODULE')) && !empty($ad_id)) {
127  $tested_number = String::substr($ad_id, -1);
128  // pour une annonce
129  }
130  if(isset($tested_number)){
131  // pages_allowed = odd => bannière impair
132  // pages_allowed = even => bannière pair
133  if($tested_number %2 == 0) {
134  $sql_cond .= ' AND pages_allowed IN ("all","even")';
135  } elseif($tested_number %2 == 1) {
136  $sql_cond .= ' AND pages_allowed IN ("all","odd")';
137  }
138  }
139  if($return_array_with_raw_information){
140  $disable_cache = true;
141  }
142  $sql_where = "WHERE etat='1' " . (!empty($position) && is_numeric($position) ?" AND position='" . intval($position) . "'":"") . $sql_cond . " AND (lang='" . nohtml_real_escape_string($lang) . "' OR lang='')";
143 
144  if(empty($GLOBALS['site_parameters']['banner_disable_cache']) && !$disable_cache) {
145  $cache_id = md5($sql_where);
146  $this_cache_object = new Cache($cache_id, array('group' => 'affiche_banner_data'));
147  }
148  if (!empty($this_cache_object) && $this_cache_object->testTime(vb($GLOBALS['site_parameters']['banners_cache_duration_in_seconds'], 15*24*3600), true)) {
149  // On récupère le contenu du cache avec d'abord les id des bannières espacées par des virgules, et ensuite le contenu HTML
150  $temp = explode('{'.$cache_id.'}',$this_cache_object->get());
151  if(!empty($temp[1])){
152  foreach(explode(',',$temp[0]) as $this_banner_id){
153  $GLOBALS['viewed_banners_array'][]=intval($this_banner_id);
154  }
155  $output.=$temp[1];
156  }
157  } else {
158  $queryBanner = query("SELECT *
159  FROM peel_banniere
160  " . $sql_where . " AND date_fin>='" . date('Y-m-d') . "' AND " . get_filter_site_cond('banniere') . "
161  ORDER BY rang ASC, id_categorie DESC, RAND() ASC");
162  while ($banner = fetch_assoc($queryBanner)) {
163  if(check_if_module_active('annonces') && defined('IN_CATALOGUE_ANNONCE_DETAILS') && !empty($banner['list_id']) && !empty($ad_id) && (String::strpos($banner['list_id'], String::substr($ad_id, -1)) === false)) {
164  // Sélection d'annonce en fonction du dernier chiffre de l'id d'une annonce. Si une liste d'id est définie, et que l'id courante n'est pas trouvée dans la liste, on passe
165  continue;
166  }
167  if ($return_array_with_raw_information) {
168  if (!empty($banner['annonce_number'])) {
169  // Un numéro d'annonce est défini, l'annonce doit apparaitre dans la liste d'annonce, à partir du numéro spécifié.
170  $banner_position = $banner['annonce_number'];
171  } else {
172  // Le champ location contient le nom de l'emplacement du module. L'application pourra ainsi positionner la bannière au bon endroit.
173  $q = query('SELECT location
174  FROM peel_modules
175  WHERE technical_code = "advertising' . intval($banner['position']) . '" AND etat = 1 AND ' . get_filter_site_cond('modules'));
176  if($result = fetch_assoc($q)) {
177  $banner_location = $result['location'];
178  // Traitement des positions des bannières. Si la bannière est associée à un module prévu pour se placer en haut d'une page, il contient top dans son nom par convention de nommage. La règle est la même pour les modules en bas de page. Il est donc possible de spécifier les seules positions gérées par l'application
179  if (String::strpos($banner_location, 'top') !== false) {
180  $banner_position = 'top';
181  } elseif(String::strpos($banner_location, 'bottom') !== false) {
182  $banner_position = 'bottom';
183  }
184  }
185  }
186  if (!empty($banner['lien'])) {
187  $url = $GLOBALS['wwwroot'] . '/modules/banner/bannerHit.php?id=' . $banner['id'];
188  } else {
189  $url = 'null';
190  }
191  if(strpos($banner['tag_html'],'[ADSENSE_MOBILE=') !== false) {
192  $tag_infos = explode(',', str_replace(array('[ADSENSE_MOBILE=', ']'), '', $banner['tag_html']));
193  $banner['tag_html'] = '';
194  $GLOBALS['google']['client']=$tag_infos[0];
195  $GLOBALS['google']['https']=read_global('HTTPS');
196  $GLOBALS['google']['ip']=read_global('REMOTE_ADDR');
197  $GLOBALS['google']['markup']='xhtml';
198  $GLOBALS['google']['output']='xhtml';
199  $GLOBALS['google']['ref']=read_global('HTTP_REFERER');
200  // $GLOBALS['google']['ref']=read_global('HTTP_HOST') . '/';
201  $GLOBALS['google']['slotname']=$tag_infos[1];
202  // $GLOBALS['google']['url']=read_global('HTTP_HOST') . read_global('REQUEST_URI');
203  $GLOBALS['google']['url']=read_global('HTTP_HOST') . '/';
204  // $GLOBALS['google']['useragent']=read_global('HTTP_USER_AGENT');
205  $GLOBALS['google']['useragent']='iPhone - Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)';
206  $GLOBALS['google_dt'] = time();
208  google_set_muid();
210  $google_ad_handle = @fopen(google_get_ad_url(), 'r');
211  if ($google_ad_handle) {
212  while (!String::feof($google_ad_handle)) {
213  $banner['tag_html'] .= fread($google_ad_handle, 8192);
214  }
215  //trigger_error(String::convert_accents(print_r($banner['tag_html'], true).print_r(google_get_ad_url(), true)), E_USER_NOTICE);
216  fclose($google_ad_handle);
217  }
218  }
219  $mobile_application_output_array[] = array("url_img" => (!empty($banner['image'])?$GLOBALS['repertoire_upload'] . '/' . $banner['image']:''), "url" => $url , "html"=> vb($banner['tag_html']), "position" => $banner_position);
220  } elseif (!isset($last_rang) || $banner['rang'] != $last_rang) {
221  // On affiche une seule bannière par rang
222  // Nous récuperons la dimension de la bannière souhaitée et appliquons les limites initialiséss plus haut
223  $width = min(intval($banner['width']), $max_banner_width);
224  $height = min(intval($banner['height']), $max_banner_height);
225  if(!empty($banner['image'])) {
226  // Recupération de l'extension
227  $banner_file_extension = @pathinfo($banner['image'], PATHINFO_EXTENSION);
228  if ($banner_file_extension == 'swf') {
229  if ($disable_cache && !empty($_SERVER['HTTP_USER_AGENT']) && (strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad'))) {
230  // Sur iOS, on ne prend pas le flash
231  unset($banner['image']);
232  } else {
233  // Si on met en cache, ou si pas de cache en n'étant pas sur iOS : on prend le flash et pas une potentielle alternative HTML
234  unset($banner['tag_html']);
235  }
236  }
237  }
238  if (empty($banner['tag_html']) && !empty($banner['image'])) {
239  // Recupération de l'extension
240  if ($banner_file_extension == 'swf') {
241  // Il faut spécifier une taille quoiqu'il arrive quand on a du flash
242  if (empty($width)){
243  $width = '100%';
244  }
245  if (empty($height)){
246  $height = '300';
247  }
248  $banner_html = getFlashBannerHTML(get_url_from_uploaded_filename($banner['image']), $width, $height, true);
249  } else {
250  // Si la taille de la bannière est définie, alors nous appliquons le style de la banniere
251  $style_banner = '';
252  if (!empty($width)){
253  $style_banner .= ' width="' . $width . '" ';
254  }
255  if (!empty($height)){
256  $style_banner .= ' height="' . $height . '" ';
257  }
258  $banner_html = '<img src="' . get_url_from_uploaded_filename($banner['image']) . '" alt="' . vb($banner['lien']) . '" ' . $style_banner . ' />';
259  if (!empty($banner['lien'])) {
260  $banner_html = '<a href="' . $GLOBALS['wwwroot'] . '/modules/banner/bannerHit.php?id=' . $banner['id'] . '" ' . $banner['extra_javascript'] . ' ' . (!empty($banner['target']) && $banner['target'] != '_self' ? ($banner['target'] == '_blank' && String::strpos($banner['extra_javascript'], 'onclick=') === false?'onclick="return(window.open(this.href)?false:true);"':'target="' . $banner['target'] . '"'):'') . '>' . $banner_html . '</a>';
261  }
262  }
263  } else {
264  // On préserve le HTML mais on corrige les & isolés
265  $banner_html = String::htmlentities($banner['tag_html'], ENT_COMPAT, GENERAL_ENCODING, false, true);
266  }
267  $output .= '<div class="ba_pu" style="margin-top:3px;">' . $banner_html . '</div>';
268  $last_rang = $banner['rang'];
269  }
270  // Attention : these_banners_id_array est local, alors que viewed_banners_array est global et contient les autres bannières de la page
271  $these_banners_id_array[]=$banner['id'];
272  $GLOBALS['viewed_banners_array'][]=$banner['id'];
273  }
274  if (!empty($this_cache_object)) {
275  if(!empty($output)){
276  $this_cache_object->save(implode(',',$these_banners_id_array).'{'.$cache_id.'}'.$output);
277  }else{
278  $this_cache_object->save('');
279  }
280  }
281  }
282  if (!empty($this_cache_object)) {
283  unset($this_cache_object);
284  }
285  if (!$return_array_with_raw_information) {
286  if(String::strpos($output, '.swf')!==false && !empty($_SERVER['HTTP_USER_AGENT']) && (strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad'))) {
287  // On a au moins une bannière flash alors qu'on est sur iOS
288  if(!$disable_cache) {
289  // $these_banners_id_array est vide => on a chargé le contenu à partir du cache
290  // On vérifie a posteriori si on a du flash ou non (ça permet de bénéficier du cache dans près de 100% des cas, sauf cas exeptionnel où on relance la recherche cette fois-ci hors cache
291  // On n'envoie pas les pubs flash sur iphone / ipod / ipad (si pas avec autre pub non flash - sinon, on envoie quand même)
292  return affiche_banner($position, $return_mode, $page, $cat_id, $this_annonce_number, $page_type, $keywords_array, $lang, $return_array_with_raw_information, $ad_id, $page_related_to_user_id, true);
293  } else {
294  // Sécurité - Normalement on ne passe jamais ici car si $disable_cache === true, alors on n'a pas mis de flash volontairement.
295  $output = '';
296  }
297  }
298  if(String::strpos($output, 'googlesyndication')!==false && (String::strpos($output, 'x90')===false && String::strpos($output, 'x15')===false)) {
299  if(vn($GLOBALS['google_pub_count']) >= 3 || !empty($GLOBALS['disable_google_ads'])) {
300  // On ne doit pas afficher plus de 3 espaces Google hors pubs listes de mots clés, de hauteur x90 ou x15 ou ne pas afficher de bannière adsense si $GLOBALS['disable_google_ads'] est true. $GLOBALS['disable_google_ads'] est défini à false dans les cas de figure défini par la fonction is_adsense_compliant
301  $output='';
302  } else {
303  $GLOBALS['google_pub_count']++;
304  }
305  } elseif(String::strpos($output, 'googlesyndication')!==false && !empty($GLOBALS['disable_google_ads'])) {
306  // On ne doit pas afficher de bannière adsense x90 ou x15 si $GLOBALS['disable_google_ads'] est true. $GLOBALS['disable_google_ads'] est défini à false dans les cas de figure définis par la fonction is_adsense_compliant
307  $output='';
308  }
309  // Remplacement dans le code HTML de la bannière des tags par défaut tels que wwwroot
310  $output = template_tags_replace($output, array(), false, 'html');
311  }
312  }
313 
314  if ($return_array_with_raw_information) {
315  return $mobile_application_output_array;
316  } elseif ($return_mode) {
317  return $output;
318  } else {
319  echo $output;
320  }
321 }
322 
332 function get_possible_banner_positions_between_ads($position, $cat_id, $page, $page_type=null)
333 {
334  $sql_cond = '';
335  // Si le champ catégorie est renseigné, alors on prend les bannières pour la catégorie définie OU sans catégorie définie
336  // Par la suite dans le tri, on sélectionne en priorité les bannières avec id_catégorie précisée
337  if(!empty($cat_id)){
338  $sql_cond .= ' AND id_categorie IN ("0", "' . intval($cat_id) . '")';
339  }else{
340  $sql_cond .= ' AND id_categorie="0"';
341  }
342 
343  // On prend les bannières qui correspondent au type de page recherché
344  // Si $page_type === null, on ne tient pas compte de ce paramètre : a priori, on ne met jamais $page_type à null
345  if(in_array($page_type, $GLOBALS['page_types_array'])) {
346  // Type de page connu => on prend les bannières qui correspondent
347  $sql_cond .= ' AND on_'.$page_type .'=1';
348  }elseif($page_type!==null){
349  // Type de page non listé => rentre dans le cadre de on_other_page
350  $sql_cond .= ' AND on_other_page=1';
351  }
352  $sql_where = "WHERE etat = '1' " . (!empty($position) && is_numeric($position)?" AND position='" . intval($position) . "'":"") . $sql_cond . " AND (lang='" . $_SESSION['session_langue'] . "' OR lang='')";
353 
354  $cache_id = md5($sql_where);
355  $this_cache_object = new Cache($cache_id, array('group' => 'get_possible_banner_positions_between_ads_data'));
356  if ($this_cache_object->testTime(1800, true)) {
357  $output = $this_cache_object->get();
358  } else {
359  $annonce_number_array = array();
360  $queryBanner = query("SELECT annonce_number
361  FROM peel_banniere
362  " . $sql_where . " AND annonce_number>0 AND date_fin>='" . date('Y-m-d') . "' AND " . get_filter_site_cond('banniere'));
363  while ($banner = fetch_assoc($queryBanner)) {
364  $annonce_number_array[] = $banner['annonce_number'];
365  }
366  $output = implode(',', $annonce_number_array);
367  $this_cache_object->save($output);
368  }
369  return explode(',', $output);
370 }
371 
378 {
379  if (!empty($GLOBALS['viewed_banners_array'])) {
380  foreach($GLOBALS['viewed_banners_array'] as $this_key => $this_id) {
381  $GLOBALS['viewed_banners_array'][$this_key] = intval($this_id);
382  }
383  query("UPDATE peel_banniere
384  SET vue=vue+1
385  WHERE id IN('" . implode("','", real_escape_string($GLOBALS['viewed_banners_array'])) . "') AND " . get_filter_site_cond('banniere'));
386  }
387 }
388 
389 function read_global($var) {
390  return isset($_SERVER[$var]) ? $_SERVER[$var]: '';
391 }
392 
393 function google_append_url(&$url, $param, $value) {
394  $url .= '&' . $param . '=' . urlencode($value);
395 }
396 
397 function google_append_globals(&$url, $param) {
398  google_append_url($url, $param, $GLOBALS['google'][$param]);
399 }
400 
401 function google_append_color(&$url, $param) {
402  global $google_dt;
403  $color_array = explode(',', $GLOBALS['google'][$param]);
404  google_append_url($url, $param,
405  $color_array[$google_dt % count($color_array)]);
406 }
407 
409  $screen_res = read_global('HTTP_UA_PIXELS');
410  if ($screen_res == '') {
411  $screen_res = read_global('HTTP_X_UP_DEVCAP_SCREENPIXELS');
412  }
413  if ($screen_res == '') {
414  $screen_res = read_global('HTTP_X_JPHONE_DISPLAY');
415  }
416  $res_array = preg_split('/[x,*]/', $screen_res);
417  if (count($res_array) == 2) {
418  $GLOBALS['google']['u_w']=$res_array[0];
419  $GLOBALS['google']['u_h']=$res_array[1];
420  }
421 }
422 
423 function google_set_muid() {
424  $muid = read_global('HTTP_X_DCMGUID');
425  if ($muid != '') {
426  $GLOBALS['google']['muid']=$muid;
427  return;
428  }
429  $muid = read_global('HTTP_X_UP_SUBNO');
430  if ($muid != '') {
431  $GLOBALS['google']['muid']=$muid;
432  return;
433  }
434  $muid = read_global('HTTP_X_JPHONE_UID');
435  if ($muid != '') {
436  $GLOBALS['google']['muid']=$muid;
437  return;
438  }
439  $muid = read_global('HTTP_X_EM_UID');
440  if ($muid != '') {
441  $GLOBALS['google']['muid']=$muid;
442  return;
443  }
444 }
445 
447  $ua = read_global('HTTP_USER_AGENT');
448  if ($ua == '') {
449  $GLOBALS['google']['via']=read_global('HTTP_VIA');
450  $GLOBALS['google']['accept']=read_global('HTTP_ACCEPT');
451  }
452 }
453 
454 function google_get_ad_url() {
455  $google_ad_url = 'http://pagead2.googlesyndication.com/pagead/ads?';
456  google_append_url($google_ad_url, 'dt',
457  round(1000 * array_sum(explode(' ', microtime()))));
458  foreach ($GLOBALS['google'] as $param => $value) {
459  if (strpos($param, 'color_') === 0) {
460  google_append_color($google_ad_url, $param);
461  } else if (strpos($param, 'url') === 0) {
462  $google_scheme = ($GLOBALS['google']['https'] == 'on')
463  ? 'https://' : 'http://';
464  google_append_url($google_ad_url, $param,
465  $google_scheme . $GLOBALS['google'][$param]);
466  } else {
467  google_append_globals($google_ad_url, $param);
468  }
469  }
470  return $google_ad_url;
471 }
$lang
Definition: spellchecker.php:9
static htmlentities($string, $flags=ENT_COMPAT, $charset=GENERAL_ENCODING, $suppr_endline=false, $encode_only_isolated_amperstands=false, $decode_html_entities_first=false)
Convert all applicable characters to HTML entities Cette fonction sert si on veut afficher du contenu...
Definition: String.php:411
$result
build_terms_clause($terms, $fields, $match_method)
builds the sql statement's where clause this will build the sql based on the given information Valeur...
Definition: fonctions.php:3714
static strpos($haystack, $needle, $offset=0)
Returns the numeric position of the first occurrence of needle in the haystack string.
Definition: String.php:54
get_possible_banner_positions_between_ads($position, $cat_id, $page, $page_type=null)
get_possible_ad_positions()
Definition: fonctions.php:332
google_set_muid()
Definition: fonctions.php:423
update_viewed_banners()
Met à jour le compteur "vue" de la table des bannières en une seule requête SQL.
Definition: fonctions.php:377
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')) $GLOBALS['page_types_array']
Definition: fonctions.php:19
real_escape_string($value)
real_escape_string()
Definition: database.php:374
google_append_color(&$url, $param)
Definition: fonctions.php:401
banner_hook_close_page_generation($params)
Traitement de la fin de la génération d'une page.
Definition: fonctions.php:27
static feof($handle)
Tests for end-of-file on a file pointer In contrary of the default feof function, it returns true if ...
Definition: String.php:866
read_global($var)
Definition: fonctions.php:389
getFlashBannerHTML($url, $width=680, $height=250, $mode_transparent=false)
Renvoie le HTML d'un tag corespondant à l'URL du fichier flash transmis en paramètre.
Definition: fonctions.php:840
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
google_set_screen_res()
Definition: fonctions.php:408
fetch_assoc($query_result)
fetch_assoc()
Definition: database.php:283
banner_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:37
google_set_via_and_accept()
Definition: fonctions.php:446
google_append_url(&$url, $param, $value)
Definition: fonctions.php:393
vn(&$var, $default=0)
Variable nulle if $var n'est pas défini, retourne $default, sinon retourne $var.
Definition: format.php:110
google_get_ad_url()
Definition: fonctions.php:454
get_url_from_uploaded_filename($filename)
get_url_from_uploaded_filename()
Definition: fonctions.php:3553
affiche_banner($position=null, $return_mode=false, $page=null, $cat_id=null, $this_annonce_number=0, $page_type=null, $keywords_array=null, $lang=null, $return_array_with_raw_information=false, $ad_id=null, $page_related_to_user_id=null, $disable_cache=false)
affiche_banner()
Definition: fonctions.php:63
static substr($string, $start, $length=null)
Returns the portion of string specified by the start and length parameters.
Definition: String.php:112
google_append_globals(&$url, $param)
Definition: fonctions.php:397
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...
template_tags_replace($text, $custom_template_tags=array(), $replace_only_custom_tags=false, $format=null, $lang=null, $avoid_load_urls=false)
Remplace les tags d'un texte au format [TAG] par les valeurs correspondantes.
Definition: format.php:599
Definition: Cache.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:30:55 - Peel ecommerce is a product of Agence web Advisto SAS. All rights reserved.