fix extrafield conf cache

This commit is contained in:
ATM john 2020-02-23 10:09:47 +01:00
parent 281e059487
commit ff6dc735ee

View File

@ -49,6 +49,10 @@ abstract class CommonDocGenerator
*/ */
protected $db; protected $db;
/**
* @var Extrafields object
*/
public $extrafieldsCache;
/** /**
* Constructor * Constructor
@ -1122,14 +1126,9 @@ abstract class CommonDocGenerator
// Load extrafiels if not allready does // Load extrafiels if not allready does
if(!isset($this->extrafieldsCache)){ $this->extrafieldsCache = array(); } if(empty($this->extrafieldsCache)){ $this->extrafieldsCache = new ExtraFields($this->db); }
if(!isset($this->extrafieldsCache[$object->table_element])){ if(empty($this->extrafieldsCache->attributes[$object->table_element])){ $this->extrafieldsCache->fetch_name_optionals_label($object->table_element); }
$extrafields = new ExtraFields($this->db); $extrafields = $this->extrafieldsCache;
$extrafields->fetch_name_optionals_label($object->table_element);
}
else{
$extrafields = $this->extrafieldsCache[$object->table_element];
}
$extrafieldOutputContent = $extrafields->showOutputField($extrafieldKey, $object->array_options[$extrafieldOptionsKey], '', $object->table_element); $extrafieldOutputContent = $extrafields->showOutputField($extrafieldKey, $object->array_options[$extrafieldOptionsKey], '', $object->table_element);
@ -1172,14 +1171,9 @@ abstract class CommonDocGenerator
} }
// Load extrafiels if not allready does // Load extrafiels if not allready does
if(!isset($this->extrafieldsCache)){ $this->extrafieldsCache = array(); } if(empty($this->extrafieldsCache)){ $this->extrafieldsCache = new ExtraFields($this->db); }
if(!isset($this->extrafieldsCache[$object->table_element])){ if(empty($this->extrafieldsCache->attributes[$object->table_element])){ $this->extrafieldsCache->fetch_name_optionals_label($object->table_element); }
$extrafields = new ExtraFields($this->db); $extrafields = $this->extrafieldsCache;
$extrafields->fetch_name_optionals_label($object->table_element);
}
else{
$extrafields = $this->extrafieldsCache[$object->table_element];
}
/** /**
@ -1327,14 +1321,13 @@ abstract class CommonDocGenerator
return; return;
} }
$extrafields = new ExtraFields($this->db); // Load extrafiels if not allready does
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); if(empty($this->extrafieldsCache)){ $this->extrafieldsCache = new ExtraFields($this->db); }
if(empty($this->extrafieldsCache->attributes[$object->table_element])){ $this->extrafieldsCache->fetch_name_optionals_label($object->table_element); }
$extrafields = $this->extrafieldsCache;
if (is_array($extrafields->attributes[$object->table_element]['label'])) { if (!empty($extrafields->attributes[$object->table_element]) && is_array($extrafields->attributes[$object->table_element]['label'])) {
// For cache on lines loop
if(!isset($this->extrafieldsCache)){ $this->extrafieldsCache = array(); }
$this->extrafieldsCache[$object->table_element] = $extrafields;
foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $label) foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $label)
{ {