diff --git a/www/libs/Class.Form.Generate.inc b/www/libs/Class.Form.Generate.inc
index a341f670..e0ca0261 100644
--- a/www/libs/Class.Form.Generate.inc
+++ b/www/libs/Class.Form.Generate.inc
@@ -223,6 +223,7 @@
public $error; // the error flag set for printing red error msg
public $warning; // warning flag, for information (saved, loaded, etc)
public $archive_pk_name; // the pk name for the load select form
+ private $int_pk_name; // primary key, only internal usage
public $reference_array = array (); // reference arrays -> stored in $this->reference_array[$table_name]=>array();
public $element_list; // element list for elements next to each other as a special sub group
public $my_page_name; // the name of the page without .php extension
@@ -267,6 +268,7 @@
$this->load_query = $config_array["load_query"];
$this->archive_pk_name = "a_".$this->pk_name;
$this->col_name = str_replace("_id", "", $this->pk_name);
+ $this->int_pk_name = $this->pk_name;
// check if reference_arrays are given and proceed them
if (is_array($config_array["reference_arrays"]))
{
@@ -587,10 +589,10 @@
$this->db_exec($this->load_query);
while ($res = $this->db_fetch_array())
{
- $pk_ids[] = $res[$this->pk_name];
- if ($res[$this->pk_name] == $this->table_array[$this->pk_name]["value"])
+ $pk_ids[] = $res[$this->int_pk_name];
+ if ($res[$this->int_pk_name] == $this->table_array[$this->int_pk_name]["value"])
{
- $pk_selected = $res[$this->pk_name];
+ $pk_selected = $res[$this->int_pk_name];
}
unset($t_string);
for ($i = 0; $i < count($this->field_array); $i ++)
@@ -645,7 +647,7 @@
if ($this->group_level_user <= $this->security_level["save"])
{
$seclevel_okay = 1;
- if (!$this->table_array[$this->pk_name]["value"])
+ if (!$this->table_array[$this->int_pk_name]["value"])
{
$save = $this->l->__("Save");
}
@@ -656,12 +658,12 @@
// print the old_school hidden if requestet
if ($old_school_hidden)
{
- $pk_name = $this->pk_name;
- $pk_value = $this->table_array[$this->pk_name]["value"];
+ $pk_name = $this->int_pk_name;
+ $pk_value = $this->table_array[$this->int_pk_name]["value"];
}
} // show save part
// show delete part only if pk is set && we want to see the delete
- if ($this->table_array[$this->pk_name]["value"] && !$hide_delete && $this->group_level_user <= $this->security_level["delete"])
+ if ($this->table_array[$this->int_pk_name]["value"] && !$hide_delete && $this->group_level_user <= $this->security_level["delete"])
{
$show_delete = 1;
}
@@ -892,8 +894,8 @@
// check unique, check if field in table is not yet exist
case "unique":
$q = "SELECT ".$key." FROM ".$this->table_name." WHERE ".$key." = '".addslashes($this->table_array[$key]["value"])."'";
- if ($this->table_array[$this->pk_name]["value"])
- $q .= " AND ".$this->pk_name." <> ".$this->table_array[$this->pk_name]["value"];
+ if ($this->table_array[$this->int_pk_name]["value"])
+ $q .= " AND ".$this->int_pk_name." <> ".$this->table_array[$this->int_pk_name]["value"];
list($$key) = $this->db_return_row($q);
if ($$key)
$this->msg .= sprintf($this->l->__("The field %s can be used only once!
"), $this->table_array[$key]["output_name"]);
@@ -1071,9 +1073,9 @@
if (!$this->table_array[$order_name]["value"])
$this->table_array[$order_name]["value"] = 1;
}
- else if ($this->table_array[$this->pk_name]["value"])
+ else if ($this->table_array[$this->int_pk_name]["value"])
{
- $q = "SELECT $order_name FROM ".$this->table_name." WHERE ".$this->pk_name." = ".$this->table_array[$this->pk_name]["value"];
+ $q = "SELECT $order_name FROM ".$this->table_name." WHERE ".$this->int_pk_name." = ".$this->table_array[$this->int_pk_name]["value"];
list($this->table_array[$order_name]["value"]) = $this->db_return_row($q);
}
}
@@ -1130,7 +1132,7 @@
while (list($key, $value) = each($this->reference_array))
{
unset($this->reference_array[$key]["selected"]);
- $q = "SELECT ".$this->reference_array[$key]["other_table_pk"]." FROM ".$this->reference_array[$key]["table_name"]." WHERE ".$this->pk_name."=".$this->table_array[$this->pk_name]["value"];
+ $q = "SELECT ".$this->reference_array[$key]["other_table_pk"]." FROM ".$this->reference_array[$key]["table_name"]." WHERE ".$this->int_pk_name."=".$this->table_array[$this->int_pk_name]["value"];
while ($res = $this->db_return($q))
$this->reference_array[$key]["selected"][] = $res[$this->reference_array[$key]["other_table_pk"]];
}
@@ -1276,12 +1278,12 @@
reset($this->reference_array);
foreach ($this->reference_array AS $reference_array)
{
- $q = "DELETE FROM ".$reference_array["table_name"]." WHERE ".$this->pk_name."=".$this->table_array[$this->pk_name]["value"];
+ $q = "DELETE FROM ".$reference_array["table_name"]." WHERE ".$this->int_pk_name."=".$this->table_array[$this->int_pk_name]["value"];
$this->db_exec($q);
- $q = "INSERT INTO ".$reference_array["table_name"]." (".$reference_array["other_table_pk"].", ".$this->pk_name.") VALUES ";
+ $q = "INSERT INTO ".$reference_array["table_name"]." (".$reference_array["other_table_pk"].", ".$this->int_pk_name.") VALUES ";
for ($i = 0; $i < count($reference_array["selected"]); $i ++)
{
- $t_q = "(".$reference_array["selected"][$i].", ".$this->table_array[$this->pk_name]["value"].")";
+ $t_q = "(".$reference_array["selected"][$i].", ".$this->table_array[$this->int_pk_name]["value"].")";
$this->db_exec($q.$t_q);
}
} // foreach reference arrays
@@ -1339,7 +1341,7 @@
}
// write all data (insert/update) because I don't know until all are processed if it is insert or update
// don't write primary key backup for update
-//$this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prfx.$el_name][$i]." {".$_POST[$prfx.$el_name]."} | Type: ".$type[$i]." | PK: ".$data_array["pk_id"]." ");
+$this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prfx.$el_name][$i]." {".$_POST[$prfx.$el_name]."} | Type: ".$type[$i]." | PK: ".$data_array["pk_id"]." ");
if (!$data_array["pk_id"])
{
// update
@@ -1390,7 +1392,7 @@
}
else
{
- $q = $q_begin[$i].$q_names[$i].", ".$this->pk_name.$q_middle[$i].$q_values[$i].", ".$this->table_array[$this->pk_name]["value"].$q_end[$i];
+ $q = $q_begin[$i].$q_names[$i].", ".$this->int_pk_name.$q_middle[$i].$q_values[$i].", ".$this->table_array[$this->int_pk_name]["value"].$q_end[$i];
}
//$this->debug('edit', "Q: ".$q."
");
// write the dataset
@@ -1415,7 +1417,7 @@
reset($this->reference_array);
foreach ($this->reference_array AS $reference_array)
{
- $q = "DELETE FROM ".$reference_array["table_name"]." WHERE ".$this->pk_name." = ".$this->table_array[$this->pk_name]["value"];
+ $q = "DELETE FROM ".$reference_array["table_name"]." WHERE ".$this->int_pk_name." = ".$this->table_array[$this->int_pk_name]["value"];
$this->db_exec($q);
}
}
@@ -1425,7 +1427,7 @@
reset($this->element_list);
while (list($table_name, $data_array) = each($this->element_list))
{
- $q = "DELETE FROM ".$table_name." WHERE ".$this->pk_name." = ".$this->table_array[$this->pk_name]["value"];
+ $q = "DELETE FROM ".$table_name." WHERE ".$this->int_pk_name." = ".$this->table_array[$this->int_pk_name]["value"];
$this->db_exec($q);
}
}
@@ -1555,18 +1557,18 @@
$data['type'][$data["prefix"].$this->element_list[$table_name]["read_data"]["name"]] = 'string';
// build the read query
$q = "SELECT ";
-// if (!$this->table_array[$this->pk_name]["value"])
+// if (!$this->table_array[$this->int_pk_name]["value"])
// $q .= "DISTINCT ";
// prefix join key with table name
$q .= str_replace($this->element_list[$table_name]["read_data"]["pk_id"], $this->element_list[$table_name]["read_data"]["table_name"].".".$this->element_list[$table_name]["read_data"]["pk_id"], implode(", ", $q_select))." ";
-// if (!$this->table_array[$this->pk_name]["value"] && $this->element_list[$table_name]["read_data"]["order"])
+// if (!$this->table_array[$this->int_pk_name]["value"] && $this->element_list[$table_name]["read_data"]["order"])
// $q .= ", ".$this->element_list[$table_name]["read_data"]["order"]." ";
$q .= "FROM ".$this->element_list[$table_name]["read_data"]["table_name"]." ";
$q .= "LEFT JOIN ".$table_name." ";
$q .= "ON (";
$q .= $this->element_list[$table_name]["read_data"]["table_name"].".".$this->element_list[$table_name]["read_data"]["pk_id"]." = ".$table_name.".".$this->element_list[$table_name]["read_data"]["pk_id"]." ";
-// if ($this->table_array[$this->pk_name]["value"])
- $q .= "AND ".$this->pk_name." = ".(($this->table_array[$this->pk_name]["value"]) ? $this->table_array[$this->pk_name]["value"] : 'NULL')." ";
+// if ($this->table_array[$this->int_pk_name]["value"])
+ $q .= "AND ".$this->int_pk_name." = ".(($this->table_array[$this->int_pk_name]["value"]) ? $this->table_array[$this->int_pk_name]["value"] : 'NULL')." ";
$q .= ") ";
if ($this->element_list[$table_name]["read_data"]["order"])
$q .= " ORDER BY ".$this->element_list[$table_name]["read_data"]["order"];
@@ -1574,8 +1576,8 @@
else
{
// only create query if we have a primary key
- if ($this->table_array[$this->pk_name]["value"])
- $q = "SELECT ".implode(", ", $q_select)." FROM ".$table_name." WHERE ".$this->pk_name." = ".$this->table_array[$this->pk_name]["value"];
+ if ($this->table_array[$this->int_pk_name]["value"])
+ $q = "SELECT ".implode(", ", $q_select)." FROM ".$table_name." WHERE ".$this->int_pk_name." = ".$this->table_array[$this->int_pk_name]["value"];
}
// only run if we have query strnig
if ($q)