}
- function autoJoinExtra()
- {
- //$ret = parent::autoJoin();
- // DB_DataObject::debugLevel(1);
-
- // now try and magically join person_table to the right table..
- return;
- // this does not work on postgres..
- $tn = $this->tableName();
- $pt = DB_DataObject::Factory($this->tableName());
- $pt->selectAdD();
- $pt->selectAdD('distinct(person_table) as person_table');
- $pt->whereAdd('person_table IS NOT NULL AND LENGTH(person_table) > 0');
- $tbls = $pt->fetchAll('person_table');
- $pers = DB_DataObject::Factory('Person');
- $ptbl = $pers->tableName();
- if (!in_array($ptbl,$tbls)) {
- $tbls[] = $ptbl;
-
- }
- foreach($tbls as $tbl) {
-
- // find all the columns from the joined table..
- $st = DB_DataObject::Factory($tbl);
- $tcols = array_keys($st->table());
-
- $cond = "{$tn}.person_table = '{$tbl}'";
- if ($tbl == $ptbl) {
- $cond = "( $cond OR {$tn}.person_table = '')";
- }
-
- foreach($tcols as $col) {
- if ($col == 'passwd') {
- continue;
- }
- $cols[$col] = isset($cols[$col] ) ? $cols[$col] : array();
- $cols[$col][] = "WHEN $cond THEN join_person_table_{$tbl}.{$col}";
- }
- // id's are hard coded...
-
- $this->_join .= "
- LEFT JOIN {$tbl} AS join_person_table_{$tbl}
- ON {$tn}.person_id = join_person_table_{$tbl}.id
- AND $cond
- ";
- }
- foreach($cols as $col=>$whens) {
-
- $this->selectAdd("
- CASE
- ". implode("\n", $whens) ."
- ELSE ''
- END
- as person_table_{$col}"
- );
- }
- //return $ret;
-
- }
+// function autoJoinExtra()
+// {
+// //$ret = parent::autoJoin();
+// // DB_DataObject::debugLevel(1);
+//
+// // now try and magically join person_table to the right table..
+// return;
+// // this does not work on postgres..
+// $tn = $this->tableName();
+// $pt = DB_DataObject::Factory($this->tableName());
+// $pt->selectAdD();
+// $pt->selectAdD('distinct(person_table) as person_table');
+// $pt->whereAdd('person_table IS NOT NULL AND LENGTH(person_table) > 0');
+// $tbls = $pt->fetchAll('person_table');
+// $pers = DB_DataObject::Factory('Person');
+// $ptbl = $pers->tableName();
+// if (!in_array($ptbl,$tbls)) {
+// $tbls[] = $ptbl;
+//
+// }
+// foreach($tbls as $tbl) {
+//
+// // find all the columns from the joined table..
+// $st = DB_DataObject::Factory($tbl);
+// $tcols = array_keys($st->table());
+//
+// $cond = "{$tn}.person_table = '{$tbl}'";
+// if ($tbl == $ptbl) {
+// $cond = "( $cond OR {$tn}.person_table = '')";
+// }
+//
+// foreach($tcols as $col) {
+// if ($col == 'passwd') {
+// continue;
+// }
+// $cols[$col] = isset($cols[$col] ) ? $cols[$col] : array();
+// $cols[$col][] = "WHEN $cond THEN join_person_table_{$tbl}.{$col}";
+// }
+// // id's are hard coded...
+//
+// $this->_join .= "
+// LEFT JOIN {$tbl} AS join_person_table_{$tbl}
+// ON {$tn}.person_id = join_person_table_{$tbl}.id
+// AND $cond
+// ";
+// }
+// foreach($cols as $col=>$whens) {
+//
+// $this->selectAdd("
+// CASE
+// ". implode("\n", $whens) ."
+// ELSE ''
+// END
+// as person_table_{$col}"
+// );
+// }
+// //return $ret;
+//
+// }
/**