dolibarr  17.0.4
commonfieldsinexport.inc.php
1 <?php
2 
3 if (empty($keyforclass) || empty($keyforclassfile) || empty($keyforelement)) {
4  //print $keyforclass.' - '.$keyforclassfile.' - '.$keyforelement;
5  dol_print_error('', 'include of file commonfieldsinexport.inc.php was done but var $keyforclass or $keyforclassfile or $keyforelement was not set');
6  exit;
7 }
8 if (empty($keyforalias)) {
9  $keyforalias = 't';
10 }
11 
12 dol_include_once($keyforclassfile);
13 if (class_exists($keyforclass)) {
14  $tmpobject = new $keyforclass($this->db);
15 
16  // Add common fields
17  foreach ($tmpobject->fields as $keyfield => $valuefield) {
18  $fieldname = $keyforalias.'.'.$keyfield;
19  $fieldlabel = ucfirst($valuefield['label']);
20  $typeFilter = "Text";
21  $typefield = preg_replace('/\‍(.*$/', '', $valuefield['type']); // double(24,8) -> double
22  switch ($typefield) {
23  case 'int':
24  case 'integer':
25  case 'double':
26  case 'price':
27  $typeFilter = "Numeric";
28  break;
29  case 'date':
30  case 'datetime':
31  case 'timestamp':
32  $typeFilter = "Date";
33  break;
34  case 'boolean':
35  $typeFilter = "Boolean";
36  break;
37  /*
38  * case 'sellist':
39  * $tmp='';
40  * $tmpparam=jsonOrUnserialize($obj->param); // $tmp ay be array 'options' => array 'c_currencies:code_iso:code_iso' => null
41  * if ($tmpparam['options'] && is_array($tmpparam['options'])) {
42  * $tmpkeys=array_keys($tmpparam['options']);
43  * $tmp=array_shift($tmpkeys);
44  * }
45  * if (preg_match('/[a-z0-9_]+:[a-z0-9_]+:[a-z0-9_]+/', $tmp)) $typeFilter="List:".$tmp;
46  * break;
47  */
48  }
49  $helpfield = '';
50  if (!empty($valuefield['help'])) {
51  $helpfield = preg_replace('/\‍(.*$/', '', $valuefield['help']);
52  }
53  if ($valuefield['enabled']) {
54  $this->export_fields_array[$r][$fieldname] = $fieldlabel;
55  $this->export_TypeFields_array[$r][$fieldname] = $typeFilter;
56  $this->export_entities_array[$r][$fieldname] = $keyforelement;
57  $this->export_help_array[$r][$fieldname] = $helpfield;
58  }
59  }
60 } else {
61  dol_print_error($this->db, 'Failed to find class '.$keyforclass.', even after the include of '.$keyforclassfile);
62 }
63 // End add common fields
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
if(!function_exists('dol_getprefix')) dol_include_once($relpath, $classname='')
Make an include_once using default root and alternate root if it fails.
$conf db
API class for accounts.
Definition: inc.php:41