root/trunk/catalog/admin/includes/functions/general.php @ 3923

Revision 3923, 30.9 KB (checked in by oscim, 2 years ago)

[BO] correction coquille svnupdate, et force utilisation get_svn_core de generale.php
[FO] deport des functions de control de passord dans des ficheir externe, et refonte des functions en module
Ajout d'une class de centralisation et d'un selecteu dans le configure pour determiner le type de mots de passe utilisé

Line 
1<?php
2/**
3  @licence GPL 2005-2010  The osCSS developers - osCSS Open Source E-commerce
4  @portion code Copyright (c) 2002 osCommerce
5  @package osCSS-2 <www http://www.oscss.org>
6  @version 2.1.1
7  @date  22/09/11, 20:11
8  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
9  @encode UTF-8
10*/
11
12/**
13  Include classes automatically when they are instantiated.
14  @package oscss-2 <www http://www.oscss.org>
15  @original-code TYPOlight Open Source CMS Copyright (C) 2005-2010 Leo Feyer
16  @param string
17  @param string $type type module
18*/
19function __autoload($strClassName) {
20  // standard
21  if (file_exists(DIR_FS_ADMIN.DIR_WS_CLASSES . $strClassName . '.php')) {
22    include_once(DIR_FS_ADMIN.DIR_WS_CLASSES . $strClassName . '.php');
23    return;
24  }
25  // drivers
26  if (file_exists(DIR_FS_ADMIN.DIR_WS_CLASSES .'drivers/'. $strClassName . '.php')) {
27    include_once(DIR_FS_ADMIN.DIR_WS_CLASSES .'drivers/'.  $strClassName . '.php');
28    return;
29  }
30  if (file_exists(DIR_FS_ADMIN.DIR_WS_CLASSES . 'osCSS_'.$strClassName . '.php')) {
31    include_once(DIR_FS_ADMIN.DIR_WS_CLASSES . 'osCSS_'.$strClassName . '.php');
32    return;
33  }
34  // Common
35  if (file_exists(DIR_FS_CATALOG.DIR_WS_COMMON_CLASSES . $strClassName . '.php')) {
36    include_once(DIR_FS_CATALOG.DIR_WS_COMMON_CLASSES . $strClassName . '.php');
37    return;
38  }
39  if (file_exists(DIR_FS_CATALOG.DIR_WS_COMMON_CLASSES . 'osCSS_'.$strClassName . '.php')) {
40    include_once(DIR_FS_CATALOG.DIR_WS_COMMON_CLASSES . 'osCSS_'.$strClassName . '.php');
41    return;
42  }
43  // Exts in folder
44  if (file_exists(DIR_FS_ADMIN.DIR_WS_MODULES . $strClassName . '/' . $strClassName . '.php')) {
45    include_once(DIR_FS_ADMIN.DIR_WS_MODULES . $strClassName . '/' . $strClassName . '.php');
46    return;
47  }
48  /** Nom class et path imbrique mondossier_maclass = mondossier/maclass.php
49      Uniquement dans admin/includes
50  */
51  $strClassName=str_replace('_','/',$strClassName);
52  if (file_exists(DIR_FS_ADMIN. DIR_WS_INCLUDES. dirname($strClassName) . '/' . basename($strClassName) . '.php')) {
53    include_once(DIR_FS_ADMIN. DIR_WS_INCLUDES. dirname($strClassName) . '/' . basename($strClassName) . '.php');
54    return basename($strClassName);
55  }
56
57//   trigger_error(sprintf('Could not load class %s', $strClassName), E_USER_ERROR);
58  return false;
59}
60
61
62/**
63  @author oscim - OscssTeam
64  @version 1.0
65    Verifie si user loggé, sinon renvoi sur login
66    Verifie l'acl sur la page en cours, sinon renvoi vers forbiden
67*/
68function tep_admin_check_login() {
69  global  $navigation, $current_page;
70  if (!tep_session_is_registered('login_id')) {
71    $navigation->set_snapshot();
72    tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
73  } else {
74    $filename = trim($current_page);
75    $authorise=array(FILENAME_DEFAULT,FILENAME_FORBIDEN,FILENAME_LOGOFF,FILENAME_ADMIN_ACCOUNT);
76    if (!in_array($filename,$authorise) && !in_array(substr($filename,0,strpos($filename,'?') ),array('attributeManager.php'))){
77      $db_file_query = tep_db_query("select admin_files_name from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $_SESSION['login_groups_id'] . "', admin_groups_id) and admin_files_name = '" . $filename . "'");
78      if (!tep_db_num_rows($db_file_query)) {
79        tep_redirect(tep_href_link(FILENAME_FORBIDEN,'', 'NONSSL'));
80      }
81    }
82  }
83}
84
85/**
86  @author OscssTeam
87  @version 1.0
88  @return 'true' or 'false' value to display boxes and files in index.php
89*/
90function tep_admin_check_boxes($filename, $boxes='') {
91  global $login_groups_id;
92  if($login_groups_id==1)return true;
93  $dbquery = tep_db_query("select admin_files_id from " . TABLE_ADMIN_FILES . " where FIND_IN_SET( '" . $login_groups_id . "', admin_groups_id) and admin_files_is_boxes = '1' and admin_files_name = '" . $filename . "'");
94
95  $return_value = false;
96  if (tep_db_num_rows($dbquery)) {
97    $return_value = true;
98  }
99  return $return_value;
100}
101
102
103/**
104 * \fn tep_redirect($url)
105 * \brief Redirect to another page or site
106 * @param $url string path
107 */
108function tep_redirect($url) {
109
110  if ( (strstr($url, "\n") != false) || (strstr($url, "\r") != false) ) tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false));
111
112  if ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) { // We are loading an SSL page
113    if (substr($url, 0, strlen(HTTP_SERVER)) == HTTP_SERVER) { // NONSSL url
114      $url = HTTPS_SERVER . substr($url, strlen(HTTP_SERVER)); // Change it to SSL
115    }
116  }
117
118  header('Location: ' . $url);
119
120  if(OSCSS_GARBAGE_ERROR==true) osC_ErrorHandler::stop();
121  exit;
122}
123
124/**
125  @fn tep_get_http()
126  @brief retrun url server
127*/
128function tep_get_http(){
129  return  ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) ? HTTPS_SERVER : HTTP_SERVER;
130}
131
132/**
133  @fn tep_get_httpdir()
134  @brief return http and base dir server
135*/
136function tep_get_httpdir(){
137  return  ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) ? HTTPS_SERVER.DIR_WS_HTTPS_CATALOG : HTTP_SERVER.DIR_WS_HTTP_CATALOG;
138}
139
140
141/**
142 * \fn tep_parse_input_field_data($data, $parse)
143 * \brief Parse the data used in the html tags to ensure the tags will not break
144 * @param $data
145 * @param $parse
146 */
147function tep_parse_input_field_data($data, $parse) {
148  return strtr(trim($data), $parse);
149}
150
151/**
152  @author OscssTeam
153*/
154function tep_output_string($string, $translate = false, $protected = false) {
155  if ($protected == true) return htmlspecialchars($string);
156  else {
157    if ($translate == false) return tep_parse_input_field_data($string, array('"' => '&quot;'));
158    else return tep_parse_input_field_data($string, $translate);
159  }
160}
161
162/**
163  @author OscssTeam
164*/
165function tep_output_string_protected($string) {
166  return tep_output_string($string, false, true);
167}
168
169/**
170  @author OscssTeam
171    Correction retour get ou post (secure)
172*/
173function tep_sanitize_string($string) {
174  $string = preg_replace('/ +/', ' ', $string);
175  return preg_replace("/[<>]/", '_', $string);
176}
177
178/**
179  Convetion de langue Generation 2
180  @package oscss-2
181  @author oscim <mail oscim@oscss.org> <www http://www.oscim.fr>
182  @param
183    @a string la chaine
184    @a string class d'appel
185    @a boolena (print_r())
186*/
187function __($str,$ext='',$mode=false) {
188  global $lang;
189  if(!empty($ext)) $lang[$ext][$str]=$str;
190  if($mode)print_r($lang);
191  return isset($lang[$str]) ? $lang[$str] : $str;
192}
193
194/**
195  @author oscim - OscssTeam
196  @version 1.6
197  Suppression systhematqiue de la var page_admin specifique au rewriting
198*/
199function tep_get_all_get_params($exclude_array = '',$w3c=true) {
200  global $_GET;
201  if ($exclude_array == '') $exclude_array = array('page_admin',tep_session_name(),'error');
202  else {$exclude_array[]='page_admin';$exclude_array[]=tep_session_name();$exclude_array[]='error'; }
203  $get_url = '';
204  reset($_GET);
205  while (list($key, $value) = each($_GET))
206      if (!in_array($key, $exclude_array)) $get_url .= $key . '=' . tep_sanitize_string($value) . (($w3c)?'&amp;':'&');
207
208  return $get_url;
209}
210
211/**
212  @author oscim - OscssTeam
213  @version 1.6
214  Suppression systhematqiue de la var page_admin specifique au rewriting
215*/
216function tep_get_all_post_params($exclude_array = '') {
217  global $_GET;
218  if ($exclude_array == '') $exclude_array = array('page_admin',tep_session_name(),'error');
219  else {$exclude_array[]='page_admin';$exclude_array[]=tep_session_name();$exclude_array[]='error'; }
220  $add_post='';
221  reset($_GET);
222  while (list($key, $value) = each($_GET))
223    if (!in_array($key, $exclude_array)) $add_post .= tep_draw_hidden_field($key, '', htmlspecialchars(stripslashes(tep_sanitize_string($value))));
224
225  return $add_post;
226}
227
228/**
229  @package oscss
230  @author  OscssTeam
231*/
232function tep_date_long($raw_date) {
233  if ( ($raw_date == '1000-01-01 00:00:00') || ($raw_date == '') ) return false;
234
235  $year = (int)substr($raw_date, 0, 4);
236  $month = (int)substr($raw_date, 5, 2);
237  $day = (int)substr($raw_date, 8, 2);
238  $hour = (int)substr($raw_date, 11, 2);
239  $minute = (int)substr($raw_date, 14, 2);
240  $second = (int)substr($raw_date, 17, 2);
241
242  return tep_strftime(DATE_FORMAT_LONG, mktime($hour, $minute, $second, $month, $day, $year));
243}
244
245/**
246  @author OscssTeam
247Output a raw date string in the selected locale date format
248 $raw_date needs to be in this format: YYYY-MM-DD HH:MM:SS
249 NOTE: Includes a workaround for dates before 01/01/1970 that fail on windows servers
250*/
251function tep_date_short($raw_date) {
252  if ( ($raw_date == '1000-01-01 00:00:00') || ($raw_date == '') ) return false;
253
254  $year = substr($raw_date, 0, 4);
255  $month = (int)substr($raw_date, 5, 2);
256  $day = (int)substr($raw_date, 8, 2);
257  $hour = (int)substr($raw_date, 11, 2);
258  $minute = (int)substr($raw_date, 14, 2);
259  $second = (int)substr($raw_date, 17, 2);
260
261  if (@date('Y', mktime($hour, $minute, $second, $month, $day, $year)) == $year)  return date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, $year));
262  else return str_replace('2037', $year, date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, 2037)));
263}
264
265function tep_datetime_short($raw_datetime) {
266  if ( ($raw_datetime == '1000-01-01 00:00:00') || ($raw_datetime == '') ) return false;
267
268  $year = (int)substr($raw_datetime, 0, 4);
269  $month = (int)substr($raw_datetime, 5, 2);
270  $day = (int)substr($raw_datetime, 8, 2);
271  $hour = (int)substr($raw_datetime, 11, 2);
272  $minute = (int)substr($raw_datetime, 14, 2);
273  $second = (int)substr($raw_datetime, 17, 2);
274
275  return tep_strftime(DATE_TIME_FORMAT, mktime($hour, $minute, $second, $month, $day, $year));
276}
277
278
279/**
280  @package oscss
281  @author OscssTeam
282  @version 2
283  Réecriture des dates dans des formats correctes pour la langue
284*/
285function tep_strftime($format, $timestamp=false) {
286  if (!$timestamp) $timestamp = time();
287  $pattern = array(
288                '%a'=>array('const'=>'NameOf_DAY_MINI','ftime'=>'%w'),
289                '%A'=>array('const'=>'NameOf_DAY','ftime'=>'%w'),
290                '%b'=>array('const'=>'NameOf_MONTH_MINI','ftime'=>'%m'),
291                '%B'=>array('const'=>'NameOf_MONTH','ftime'=>'%m')
292                );
293  foreach ($pattern as $code=>$infos)
294        if (preg_match("/$code/",$format) && defined($infos['const'].'_'.strftime($infos['ftime'], $timestamp)))
295        $format = preg_replace("/$code/", constant($infos['const'].'_'.strftime($infos['ftime'], $timestamp)), $format);
296  return strFtime($format, $timestamp);
297}
298
299
300/**
301  @package oscss
302  @author  OscssTeam
303*/
304function tep_break_string($string, $len, $break_char = '-') {
305  $l = 0;
306  $output = '';
307  for ($i=0, $n=strlen($string); $i<$n; $i++) {
308    $char = substr($string, $i, 1);
309    if ($char != ' ')  $l++;
310    else  $l = 0;
311    if ($l > $len) {
312      $l = 1;
313      $output .= $break_char;
314    }
315    $output .= $char;
316  }
317  return $output;
318}
319
320/**
321  @package oscss
322  @author  OscssTeam
323*/
324function tep_not_null($value) {
325  if (is_array($value)) {
326    if (sizeof($value) > 0)  return true;
327    else  return false;
328  } else {
329    if ( (is_string($value) || is_int($value)) && ($value != '') && ($value != 'NULL') && (strlen(trim($value)) > 0))  return true;
330    else  return false;
331  }
332}
333
334/**
335  @package oscss
336  @author  OscssTeam
337*/
338function tep_browser_detect($component) {
339  return stristr($_SERVER['HTTP_USER_AGENT'], $component);
340}
341
342
343
344/**
345Wrapper function for round()
346  @package oscss
347  @author  OscssTeam
348*/
349function tep_round($value, $precision) {
350  return round($value, $precision);
351}
352
353/**
354  custom class exists
355  load class :: path_class_and_class_name >> include(path/class/and/class/name) et class_exists(name)
356  @param string path et class name
357  @return bool
358*/
359function tep_class_exists($namespace_class){
360  return ( (($class=__autoload($namespace_class)) && $class !=false) && class_exists($class) )? true : false;
361}
362
363/**
364  @package oscss
365  @author oscim - OscssTeam
366  @version 2.0
367  @note Appel de function. ou de class
368*/
369function tep_call_function($function, $parameter, $object = '') {
370  if (is_string($object) && $object == '') return call_user_func($function, $parameter);
371  else return call_user_func(array($object, $function), $parameter);
372}
373
374
375/**
376  Sets timeout for the current script.Cant be used in safe mode.
377    @package oscss
378    @author  OscssTeam
379*/
380function tep_set_time_limit($limit) {
381  if (!get_cfg_var('safe_mode')) set_time_limit($limit);
382}
383
384/**
385  @package oscss
386  @author oscim - OscssTeam
387*/
388function tep_rand($min = null, $max = null) {
389  static $seeded;
390
391  if (!$seeded) {
392    mt_srand((double)microtime()*1000000);
393    $seeded = true;
394  }
395
396  if (isset($min) && isset($max)) {
397    if ($min >= $max) return $min;
398    else return mt_rand($min, $max);
399  } else {
400    return mt_rand();
401  }
402}
403
404
405/**
406  @package oscss-Rv
407  @author oscim - OscssTeam
408  @version 1.2
409*/
410function tep_convert_linefeeds($from, $to, $string) {
411  return str_replace($from, $to, $string);
412}
413
414
415/**
416  @package oscss
417  @author oscim - OscssTeam
418*/
419function tep_string_to_int($string) {
420  return (int)$string;
421}
422
423
424/**
425  @package  oscss
426  @author OscssTeam
427*/
428function tep_array_to_string($array, $exclude = '', $equals = '=', $separator = '&') {
429  if (!is_array($exclude)) $exclude = array();
430  $get_string = '';
431  if (sizeof($array) > 0) {
432    while (list($key, $value) = each($array)) {
433      if ( (!in_array($key, $exclude)) && ($key != 'x') && ($key != 'y') ) {
434        $get_string .= $key . $equals . $value . $separator;
435      }
436    }
437    $remove_chars = strlen($separator);
438    $get_string = substr($get_string, 0, -$remove_chars);
439  }
440  return $get_string;
441}
442
443
444/**
445  Map global to GET variable
446  @package  oscss
447  @author OscssTeam
448  @note  Replication lib public
449*/
450function link_get_variable($var_name){
451  if (isset($_GET[$var_name]))$GLOBALS[$var_name] =& $_GET[$var_name];
452}
453
454
455/**
456Map global to POST variable
457  @package  oscss
458  @author OscssTeam
459  @note  Replication lib public
460*/
461function link_post_variable($var_name){
462  if (isset($_POST[$var_name])) $GLOBALS[$var_name] =& $_POST[$var_name];
463}
464
465/**
466  @author oscim - OscssTeam
467  @param string/boolean defini par une constante!
468  @return boolean true/false
469*/
470function _cst_bool($text){
471  if(!tep_not_null($text)) return false;
472  $value=tep_cst_define($text);
473  if( (is_string($value) && strtoupper($value)=='TRUE')||( is_bool($value) && $value==TRUE)  )  return true;
474  elseif( (is_string($value) && (strtoupper($value)=='FALSE'))  || ( is_bool($value) && $value==FALSE)  ) return false;
475  return false;
476}
477
478/**
479  @package oscss-major
480  @author oscim - OscssTeam
481  @param string/boolean
482  @return boolean true/false
483*/
484function _test_bool($value){
485  if(!tep_not_null($value)) return false;
486  if( (is_string($value) && (strtoupper($value)=='TRUE' || $value=='1' ) )||( is_bool($value) && ($value==TRUE || $value==1) ) || (is_numeric($value) && $value=1)  )  return true;
487  elseif( (is_string($value) && (strtoupper($value)=='FALSE'))  || ( is_bool($value) && $value==FALSE)  ) return false;
488  return false;
489}
490
491/**
492  @author oscim - OscssTeam
493  @version 1.0
494   Test si une constante est defini , si celle-ci existe, renvoi sa valeur, sinon return (string)'false'
495*/
496function tep_cst_define($text){
497  if(defined(strtoupper($text))) return constant(strtoupper($text));
498  else return 'false';
499}
500
501/**
502  Extraction chaine type GET en tableau
503  @author oscim <mail oscim@oscss.org> <www http://www.oscim.fr>
504  @param
505    @a string class=www&fucntion=ddd
506    @a string [null] la clef de tableau a retourner
507  @return array
508*/
509function tep_extrac_querystring($query='',$search=''){
510  $s=(!empty($query))?$query : $_SERVER['QUERY_STRING'];
511
512  $r=explode('&',$s);
513  foreach($r as $e){
514    $i=strpos($e,'=');
515    $f[substr($e,0,$i)]=substr($e,($i+1));
516  }
517  if(!empty($search) && isset($f[$search]) ) return $f[$search];
518  elseif (!empty($search)) return false;
519  else return $f;
520}
521
522/**
523  Convertion de tableau au format json
524  @param array
525*/
526function  convert_json($array){
527  if(function_exists('json_encode'))return json_encode($array);
528  else return FastJSON::convert($array);
529}
530
531
532/**
533 Recup info sys
534 @package osc 2.2Ms2
535*/
536function tep_get_system_information() {
537
538    $db_query = tep_db_query("select now() as datetime");
539    $db = tep_db_fetch_array($db_query);
540
541    list($system, $host, $kernel) = preg_split('/[\s,]+/', @exec('uname -a'), 5);
542
543    return array('date' => tep_datetime_short(date('Y-m-d H:i:s')),
544                  'system' => $system,
545                  'kernel' => $kernel,
546                  'host' => $host,
547                  'ip' => gethostbyname($host),
548                  'uptime' => @exec('uptime'),
549                  'http_server' => $_SERVER['SERVER_SOFTWARE'],
550                  'php' => PHP_VERSION,
551                  'zend' => (function_exists('zend_version') ? zend_version() : ''),
552                  'db_server' => DB_SERVER,
553                  'db_ip' => gethostbyname(DB_SERVER),
554                  'db_version' => 'MySQL ' . (function_exists('mysql_get_server_info') ? mysql_get_server_info() : ''),
555                  'db_date' => tep_datetime_short($db['datetime']));
556}
557
558/**
559  @fn get_info_core($file,$name='svn')
560  @brief Recuperation des element de svn basé sur le fichier oscss.version.xml
561  @param $file path acces file
562  @param $name string le tag qui doit être retourné (all for return all tags)
563*/
564function get_info_core($file,$name='svn'){
565  if(!file_exists($file)) return die(__('Erreur récuperation fichier'));
566  $SimpleParser = simplexml_load_file($file);
567
568  if($name=='all')
569    return $SimpleParser;
570  elseif(!isset($SimpleParser->$name))
571    die(__('Erreur récuperation tag '.$name)) ;
572  else
573    return (string)$SimpleParser->$name;
574}
575
576/**
577  @package oscss-2 <www http://www.oscss.org>
578  @author oscim <mail oscim@oscss.org> <www http://www.oscim.fr>
579  @return array for tep_tab_menu
580  @param
581    @a string type status
582*/
583function tep_get_status_array($type='orders'){
584  global $languages_id;
585  $list=array();
586  $DB=Database::getInstance();
587  $list_query = $DB->query($sql="select status_id, status_name from " . TABLE_STATUS . " where status_type='".$type."' and language_id='".(int)$languages_id."' order by status_id ASC");
588  while ($status=$list_query->fetchAssoc())  $list[] = array('id' => $status['status_id'], 'text' => $status['status_name']);
589
590  return $list;
591}
592
593
594/**
595  @package oscss
596  @author  OscssTeam
597*/
598function tep_tax_classes_pull_down($parameters, $selected = '') {
599  $select_string = '<select ' . $parameters . '>';
600  $classes_query = tep_db_query("select tax_class_id, tax_class_title from " . TABLE_TAX_CLASS . " order by tax_class_title");
601  while ($classes = tep_db_fetch_array($classes_query)) {
602    $select_string .= '<option value="' . $classes['tax_class_id'] . '"';
603    if ($selected == $classes['tax_class_id']) $select_string .= ' selected="selected"';
604    $select_string .= '>' . $classes['tax_class_title'] . '</option>';
605  }
606  $select_string .= '</select>';
607
608  return $select_string;
609}
610
611/**
612Returns the tax rate for a tax class
613  @package oscss-Rv
614  @author  oscim - OscssTeam
615  @table tax_rates
616*/
617function tep_get_tax_rate_value($class_id) {
618  $tax_query = tep_db_query("select tax_rate, tax_zone_id from " . TABLE_TAX_RATES . " where tax_class_id = '" . (int)$class_id . "' order by tax_priority");
619  if (tep_db_num_rows($tax_query)) {
620    $tax_table = array('tax_zone_id' => '0', 'tax_rate' => '0');
621    while ($tax = tep_db_fetch_array($tax_query)) {
622      if ($tax_table['tax_zone_id'] == '0'){
623        $tax_table['tax_zone_id'] = $tax['tax_zone_id'];
624        $tax_table['tax_rate'] = $tax['tax_rate'];
625      }elseif ($tax_table['tax_zone_id'] == $tax['tax_zone_id']) $tax_table['tax_rate'] += $tax['tax_rate'];
626    }
627    return $tax_table['tax_rate'];
628  }
629  else return 0;
630}
631
632
633
634
635/**
636  @fn  status_name($type , $status_id, $language_id = '')
637  @brief public methode return name human
638  @param type status string
639  @param $status_id int
640  @param $language_id int
641  @return array
642*/
643function status_name($type , $status_id, $language_id = '') {
644  global $languages_id;
645
646  if (!is_numeric($language_id)) $language_id = $languages_id;
647
648  $status_query = tep_db_query("select status_name from " . TABLE_STATUS . " where status_type='".$type."' AND  status_id = '" . $status_id . "' and language_id = '" . $language_id . "'");
649  $status = tep_db_fetch_array($status_query);
650
651  return $status['status_name'];
652}
653/**
654  Alias
655*/
656function tep_get_orders_status_name($orders_status_id, $language_id = '') {
657  return status_name('orders',$orders_status_id, $language_id);
658}
659
660
661
662/**
663  list templates directorys
664  @package  oscss
665  @author OscssTeam
666*/
667function oscss_list_templates_admin() {
668  $dir = dir(DIR_FS_ADMIN . DIR_WS_INCLUDES . 'template/');
669  $themes_array = array();
670  while ($file = $dir->read())
671          if($file != '..' && $file !='.' && $file !='' && file_exists(DIR_FS_ADMIN . DIR_WS_INCLUDES . 'template/'.$file.'/gabarit-' . $_SESSION['login_groups_id'] . '.php'))
672                          $themes_array[] = array( 'id' => $file, 'text' => $file );
673  $dir->close();
674  return $themes_array;
675}
676
677/**
678  list templates directorys
679    @package  oscss
680    @author OscssTeam
681*/
682function oscss_check_url($url) {
683  return preg_match("%^http://[_A-Z0-9-]+\.[_A-Z0-9-]+[.A-Z0-9-]*(/~|/?)[/_.A-Z0-9#?&=+-]*$%i",$url);
684}
685
686/**
687  @package  SEOURLs
688  @author OscssTeam
689  @version 2.1
690  @note  Function to reset SEO URLs database cache entries
691*/
692function tep_reset_cache_data_seo_urls($action){
693  switch ($action){
694    case 'reset':
695      tep_db_query("DELETE FROM " . TABLE_SEO_CACHE . " WHERE cache_name LIKE '%seo_urls%'");
696      tep_db_query("UPDATE ".TABLE_CONFIGURATION." SET configuration_value='false' WHERE configuration_key='SEO_URLS_CACHE_RESET'");
697    break;
698    default:
699  }
700  # The return value is used to set the value upon viewing
701  # It's NOT returining a false to indicate failure!!
702  return 'false';
703}
704
705
706
707/**
708  @package oscss
709  @author oscim - OscssTeam
710  @version 1.0
711  Control la présence d'une constante de langue en remplacement de l'intitulé des menu de l'admin. Si cette constante n'est pas défini, une alerte est produite
712  ne préciser que le contenu de la colonne key
713*/
714function tep_cst_menu_conf($cst){
715    if (defined(strtoupper($cst))) return @constant(strtoupper($cst));
716    elseif (defined('BOX_HEADING_CONF_'.strtoupper($cst))) return @constant('BOX_HEADING_CONF_'.strtoupper($cst));
717    else return '<span class="error">'.'Erreur:: constante absente, nommé (BOX_HEADING_CONF_'.strtoupper($cst).') dans votre fichier de langue principal et  ('.strtoupper($cst).') représente la key de la table sql'.'</span>';
718}
719
720
721/**
722  Fonctions remplacé par des class
723  => Retrocompatibilité
724*/
725function ajax_in_Sats($cl=''){
726  if(!class_exists('ajax_in_Sats'))require_once(DIR_WS_MODULES.'pages/'.'graphs_stats'.'.php');
727  return graphs_stats::ajax_in_Sats($cl);
728}
729
730function tep_get_file_permissions($mode) { return fileUtility::get_file_permissions($mode);}
731function tep_remove($source) { return fileUtility::_rmdir($source); }
732function bu_gzip($directory, $file_in, $ext='zip',$delete_file = false, $level = 6) { return fileUtility::compress_dir($directory, $file_in, $ext, $delete_file , $level); }
733function tep_zip_extractto($archive, $destination, $ext='zip') { return fileUtility::extractto($archive, $destination, $ext );}
734function scan($strFolder) { return fileUtility::_scandir($strFolder); }
735
736
737
738function tep_customers_name($customers_id) { return customerUtility::customers_name($customers_id); }
739function tep_get_address_formats() { return customerUtility::get_address_formats(); }
740function tep_address_format($address_format_id, $address, $html, $boln, $eoln) { return customerUtility::address_format($address_format_id, $address, $html, $boln, $eoln); }
741
742function tep_get_zone_code($country, $zone, $def_state) { return worldUtility::get_zone_code($country, $zone, $def_state); }
743function tep_get_countries($default = '', $exclude=array()) { return worldUtility::get_countries($default, $exclude); }
744function tep_get_country_zones($country_id) { return worldUtility::get_country_zones($country_id); }
745function tep_get_zone_class_title($zone_class_id){return worldUtility::get_zone_class_title($zone_class_id); }
746function tep_cfg_pull_down_zone_classes($zone_class_id, $key = '', $type='1'){return worldUtility::cfg_pull_down_zone_classes($zone_class_id, $key, $type); }
747function tep_cfg_pull_down_zone_shipping($zone_class_id, $key = ''){ return worldUtility::cfg_pull_down_zone_classes($zone_class_id, $key , '2'); }
748function tep_get_country_name($country_id){ return worldUtility::get_country_name($country_id); }
749function tep_geo_zones_pull_down($parameters, $selected = '',$fisc=false){ return worldUtility::geo_zones_pull_down($parameters, $selected ,$fisc); }
750function tep_get_geo_zone_name($geo_zone_id){ return worldUtility::get_geo_zone_name($geo_zone_id); }
751
752function tep_get_languages($byindex=false, $public=true) { return language::get_languages($byindex, $public); }
753
754function get_cat_list($current_ID='',$incre=false){ return categorieUtility:: get_cat_list($current_ID,$incre); }
755function tep_childs_in_category_count($categories_id) { return categorieUtility::childs_in_category_count($categories_id); }
756function tep_get_generated_category_path_ids($id, $from = 'category') { return categorieUtility::get_generated_category_path_ids($id, $from); }
757function tep_get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false) { return categorieUtility::get_category_tree($parent_id, $spacing, $exclude, $category_tree_array, $include_itself); }
758function tep_parse_category_path($cPath) { return categorieUtility::parse_category_path($cPath); }
759function tep_get_category_name($category_id, $language_id='') { return categorieUtility::get_category_name($category_id, $language_id); }
760function tep_generate_category_path($id, $from = 'category', $categories_array = '', $index = 0) { return categorieUtility::generate_category_path($id, $from, $categories_array, $index); }
761
762function tep_get_products_special_price($product_id) { return productUtility::get_products_special_price($product_id); }
763function tep_get_uprid($prid, $params) { return productUtility::get_uprid($prid, $params); }
764function tep_get_prid($uprid) { return productUtility::get_prid($uprid); }
765function tep_get_products_name($product_id, $language_id = 0) { return productUtility::get_products_name($product_id, $language_id); }
766function tep_remove_product($product_id) { return productUtility::remove_product($product_id); }
767function tep_products_restock($order_id, $customers_id=''){ return productUtility::products_restock($order_id, $customers_id); }
768function tep_get_product_list($exclude = ''){ return productUtility::get_product_list($exclude); }
769function tep_options_name($options_id) { return productUtility::options_name($options_id); }
770function tep_values_name($values_id) { return productUtility::values_name($values_id); }
771function tep_get_product_extra_value($epf_id, $product_id, $language_id) { return productUtility::get_product_extra_value($epf_id, $product_id, $language_id); }
772function tep_get_extra_field_list_value($value_id, $show_chain = false) { return productUtility::get_extra_field_list_value($value_id, $show_chain); }
773function tep_list_epf_children($parent_id) { return productUtility::list_epf_children($parent_id); }
774function tep_build_epf_pulldown($epf_id, $languages_id, $value_array = '', $parent_id = 0, $indent = '') { return productUtility::build_epf_pulldown($epf_id, $languages_id, $value_array, $parent_id , $indent); }
775function tep_set_product_status($products_id, $status) { return productUtility::set_product_status($products_id, $status); }
776
777function tep_get_tax_rate($class_id, $country_id = -1, $zone_id = -1)   { global $price; return $price->get_tax_rate($class_id, $country_id, $zone_id); }
778function tep_get_tax_description($class_id, $country_id, $zone_id)      { global $price; return $price->get_tax_description($class_id, $country_id, $zone_id); }
779function tep_add_tax($products_price, $tax, $force=false, $strict=true) { global $price; return $price->display_with_tax($products_price, $tax, $force, $strict); }
780function tep_calculate_tax($products_price, $tax,$strict=false)         { global $price; return $price->get_tax_amount($products_price, $tax,$strict=false); }
781function tep_display_tax_value($value, $padding = TAX_DECIMAL_PLACES)   { global $price; return $price->display_tax_value($value, $padding); }
782function tep_get_tax_class_title($tax_class_id)                         { global $price; return $price->tep_get_tax_class_title($tax_class_id); }
783
784function qtpro_doctor_investigate_product($products_id){ return qtproUtility::doctor_investigate_product($products_id);}
785function qtpro_product_has_tracked_options($products_id){ return qtproUtility::product_has_tracked_options($products_id);}
786function qtpro_get_products_summary_stock($products_id){ return qtproUtility::get_products_summary_stock($products_id);}
787function qtpro_doctor_amputate_all_from_product($products_id){ return qtproUtility::doctor_amputate_all_from_product($products_id);}
788function qtpro_products_attributes_string2options_array($products_attributes_string){ return qtproUtility::products_attributes_string2options_array($products_attributes_string);}
789function qtpro_update_summary_stock($products_id){ return qtproUtility::update_summary_stock($products_id);}
790function qtpro_calculate_summary_stock($products_id){ return qtproUtility::calculate_summary_stock($products_id);}
791
792function tep_create_rma_value($length, $type = 'digits') {return ReturnsUtility::CreateReturnsKey($length, $type) ;}
793function tep_calculate_deduct($price, $tax){return  ReturnsUtility::CalculateDeduct($price, $tax); }
794function tep_get_return_reason(){return ReturnsUtility::list_return_reasons();}
795function tep_get_returns_status(){return ReturnsUtility::list_returns_status();}
796function tep_get_refund_method(){return ReturnsUtility::list_refund_method();}
797function tep_remove_return($order_id, $restock = false){return ReturnsUtility::RemoveReturns($order_id, $restock);}
798function tep_get_return_reason_name($return_reason_id, $language_id = ''){return ReturnsUtility::status_name('return_reasons' , $return_reason_id, $language_id) ;}
799function tep_get_returns_status_name($returns_status_id, $language_id = ''){return ReturnsUtility::status_name('returns' ,$returns_status_id, $language_id);}
800function tep_get_refund_method_name($refund_method_id, $language_id = ''){return ReturnsUtility::status_name('refund_method' ,$refund_method_id, $language_id) ;}
801
802function tep_mail($to_name, $to_email_address, $email_subject, $email_text, $from_email_name='', $from_email_address='') {  return emailUtility::tep_mail($to_name, $to_email_address, $email_subject, $email_text, $from_email_name, $from_email_address);}
803function tep_replace_for_mail($txt_mail,$subject,$html_reg,$text_reg,$mode='HTML') {  return emailUtility::replace_for_mail($txt_mail,$subject,$html_reg,$text_reg,$mode);}
804function tep_post_prepare_email($template,$language,$myarray,$print=false) {  return emailUtility::post_prepare_email($template,$language,$myarray,$print);}
805function tep_recup_template_mail() {  return emailUtility::recup_template_mail();}
806
807function quote_oanda_currency($code, $base = DEFAULT_CURRENCY) {return localizationUtility::oanda_currency($code, $base);}
808function quote_xe_currency($to, $from = DEFAULT_CURRENCY){return localizationUtility::xe_currency($to, $from);}
809
810
811/**
812  @fn alias oscss_cstr::test_gab_theme($element,$ext='php')
813  @brief load Template Environement
814  @return (bool)false OR string path file
815*/
816function tep_test_gab_ele($element,$ext='php'){ return oscss_cstr::test_gab_theme($element,$ext); }
817
818/** @fn alias MGabCont::CallGab($filename); */
819function tep_get_include_contents($filename) { return MGabCont::CallGab($filename); }
820?>
Note: See TracBrowser for help on using the browser.