diff --git a/tableeditor.class.php b/tableeditor.class.php
index a084490..52ea8a8 100644
--- a/tableeditor.class.php
+++ b/tableeditor.class.php
@@ -157,14 +157,14 @@ class TableEditor
if($_GET['DEBUG']) $this->setDebug($_GET['DEBUG']);
- //grab the table
- $this->classname=$classname;
-
- if(is_callable(array($this->classname, 'tableEditorSetup'))) {
+ if(is_callable(array($classname, 'tableEditorSetup'))) {
+ //grab the table
+ $this->classname=$classname;
call_user_func(array($this->classname, 'tableEditorSetup'), &$this);
} else {
//grab the list fields
$this->listfields=$listfields;
+ $this->table=$classname;
//grab the edit fields, if there arent any, then edit==list
if($editfields)
@@ -475,7 +475,7 @@ class TableEditor
$query="UPDATE `{$this->table}` SET ";
}
- foreach($this->editfields AS $f=>$n)
+ foreach($editdata AS $f=>$n)
{
if($insert_mode) $field = '';
else $field = "`$f`=";
@@ -510,7 +510,8 @@ class TableEditor
if($_GET['TableEditorAction']=="delete" && $_GET['delete'])
{
- $data = new $this->classname($_GET['delete']);
+ if($this->classname)
+ $data = new $this->classname($_GET['delete']);
if(method_exists($data, 'tableEditorDelete')) {
$data->tableEditorDelete();
} else {
@@ -527,11 +528,13 @@ class TableEditor
|| ($_POST['TableEditorAction']=="addsave") )
{
if($_POST['TableEditorAction']=="addsave") {
- $data = new $this->classname();
+ if($this->classname)
+ $data = new $this->classname();
$insert_mode = 1;
} else {
// print("Insesrt mode=0\n");
- $data = new $this->classname($_POST['editsave']);
+ if($this->classname)
+ $data = new $this->classname($_POST['editsave']);
$insert_mode = 0;
}
@@ -700,7 +703,8 @@ class TableEditor
echo "";
echo "";
- $data = new $this->classname($_GET['edit']);
+ if($this->classname)
+ $data = new $this->classname($_GET['edit']);
if(method_exists($data, 'tableEditorLoad')) {
$editdata = $data->tableEditorLoad();