diff --git a/www/configs/config.inc b/www/configs/config.inc
index 4e862b9b..a61ab562 100644
--- a/www/configs/config.inc
+++ b/www/configs/config.inc
@@ -264,6 +264,7 @@
'',
LIBS,
SMARTY,
+ TABLE_ARRAYS,
__DIR__.'/'.LIBS,
__DIR__.'/'.SMARTY
);
@@ -273,9 +274,10 @@
if (file_exists($folder.$include_file))
{
require_once($folder.$include_file);
- return;
+ return true;
}
}
+ return false;
}
?>
diff --git a/www/libs/Class.Form.Generate.inc b/www/libs/Class.Form.Generate.inc
index d68037d9..ec134200 100644
--- a/www/libs/Class.Form.Generate.inc
+++ b/www/libs/Class.Form.Generate.inc
@@ -259,7 +259,9 @@
$this->l = new l10n($lang);
// load config array
// get table array definitions for current page name
- _spl_autoload('array_'.$this->my_page_name.'.inc');
+ // WARNING: auto spl load does not work with this as it is an array and not a function/object
+// $flag = _spl_autoload('array_'.$this->my_page_name.'.inc');
+ include(TABLE_ARRAYS."array_".$this->my_page_name.".inc");
$config_array = ${$this->my_page_name};
@@ -321,6 +323,8 @@
// dumps all values into output (for error msg)
public function form_dump_table_array()
{
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
$string .= "TABLE ARRAY DUMP: ".$this->table_name."
";
while (list($key, $value) = each($this->table_array))
@@ -383,6 +387,8 @@
// if multiple gets only FIRST
public function form_get_col_name_from_key($want_key, $key_value = "")
{
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -400,6 +406,8 @@
public function form_get_col_name_array_from_key($want_key, $key_value = "")
{
$key_array = array();
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -680,7 +688,7 @@
// for drop down, as data comes from a reference table
// for drop_down_text it has to be an array with $key->$value
// RETURN element in HTML
- public function form_create_element ($element_name, $query = "")
+ public function form_create_element($element_name, $query = "")
{
// special 2nd color for "binary" attribut
if ($this->table_array[$element_name]["type"] == "binary" && !$this->table_array[$element_name]["value"])
@@ -867,6 +875,8 @@
// $error=1;
public function form_error_check()
{
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -972,6 +982,8 @@
if (is_array($this->reference_array))
{
// do check for reference tables
+ if (!is_array($this->reference_array))
+ $this->reference_array = array ();
reset($this->reference_array);
while (list($key, $value) = each($this->reference_array))
{
@@ -1106,6 +1118,8 @@
public function form_unset_table_array()
{
unset($this->pk_id);
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -1117,6 +1131,8 @@
}
if (is_array($this->reference_array))
{
+ if (!is_array($this->reference_array))
+ $this->reference_array = array ();
reset($this->reference_array);
while (list($key, $value) = each($this->reference_array))
{
@@ -1138,6 +1154,8 @@
$this->table_array = $this->db_read(1);
// reset all temp fields
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
unset($this->table_array[$key]["input_value"]);
@@ -1145,6 +1163,8 @@
if (is_array($this->reference_array))
{
// load each reference_table
+ if (!is_array($this->reference_array))
+ $this->reference_array = array ();
reset($this->reference_array);
while (list($key, $value) = each($this->reference_array))
{
@@ -1167,6 +1187,8 @@
// global $_FILES;
// for drop_down_db_input check if text field is filled and if, if not yet in db ...
// and upload files
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -1292,6 +1314,8 @@
// write reference array(s) if necessary
if (is_array($this->reference_array))
{
+ if (!is_array($this->reference_array))
+ $this->reference_array = array ();
reset($this->reference_array);
foreach ($this->reference_array AS $reference_array)
{
@@ -1308,8 +1332,9 @@
// write element list
if (is_array($this->element_list))
{
+ if (!is_array($this->element_list))
+ $this->element_list = array ();
reset($this->element_list);
-
while (list($table_name, $reference_array) = each($this->element_list))
{
// get the number of keys from the elements array
@@ -1431,6 +1456,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// remove any reference arrays
if (is_array($this->reference_array))
{
+ if (!is_array($this->reference_array))
+ $this->reference_array = array ();
reset($this->reference_array);
foreach ($this->reference_array AS $reference_array)
{
@@ -1441,6 +1468,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// remove any element list references
if (is_array($this->element_list))
{
+ if (!is_array($this->element_list))
+ $this->element_list = array ();
reset($this->element_list);
while (list($table_name, $data_array) = each($this->element_list))
{
@@ -1449,6 +1478,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
}
}
// unlink ALL files
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -1466,7 +1497,10 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// creates HTML hidden input fields out of an hash array
public function form_create_hidden_fields($hidden_array = "")
{
- reset ($this->table_array);
+ $hidden = array ();
+ if (!is_array($this->table_array))
+ $this->table_array = array ();
+ reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
if ($this->table_array[$key]["type"] == "hidden")
@@ -1474,9 +1508,9 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
$hidden_array[$key] = $this->table_array[$key]["value"];
}
}
- if ($hidden_array)
+ if (is_array($hidden_array))
{
- reset ($hidden_array);
+ reset($hidden_array);
while (list($key, $value) = each($hidden_array))
{
$hidden[] = array('key' => $key, 'value' => $value);
@@ -1530,6 +1564,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
$data['table_name'] = $table_name;
$pos = 0; // position in while for overwrite if needed
// build the select part
+ if (!is_array($this->element_list[$table_name]["elements"]))
+ $this->element_list[$table_name]["elements"] = array ();
reset($this->element_list[$table_name]["elements"]);
// generic data read in (counts for all rows)
while (list($el_name, $data_array) = each($this->element_list[$table_name]["elements"]))