public function init()
 {
     $this->_table = getTableFromObjectString($this->_modelname);
     $this->view->ControllerName = $this->_getParam('controller', '');
     $this->_fields = $this->_table->getStructure();
     foreach ($this->_fields as $name => $value) {
         if ($value[1] == "Subtable") {
             $this->_fields[$name][3] = getTableFromObjectString($value[3])->getStructure();
         }
     }
     $this->view->fields = $this->_fields;
 }
 public function init()
 {
     Zend_Controller_Front::getInstance()->getParam('log')->debug("CrudController_Abstract::init()");
     $this->_table = getTableFromObjectString($this->_modelname);
     $this->view->ControllerName = $this->_getParam('controller', '');
     $this->_fields = $this->_table->getStructure();
     foreach ($this->_fields as $name => $value) {
         if ($value[1] == "Subtable") {
             $this->_fields[$name][3] = getTableFromObjectString($value[3])->getStructure();
         }
     }
     $this->view->fields = $this->_fields;
 }
 public function ConvertToArray($main_row, $depth = 0)
 {
     //		$this->log->debug("ConvertToArray(" . $main_row->getTableClass() . ") ".
     //			$this->_name . "\n");
     ++$depth;
     $data = $main_row->toArray();
     if ($depth <= 2) {
         foreach ($this->_structure as $name => $value) {
             //				$this->log->debug("ConvertToArray: " . $name );
             switch (strtolower($value[1])) {
                 case "subtable":
                     $sub_table = getTableFromObjectString($value[3]);
                     //						$select = new Zend_Db_Table_Select();
                     //						$select->from( $sub_table, $value[0] );
                     //						$sub_rows = $main_row->findDependentRowset( $sub_table, $select );
                     $sub_rows = $main_row->findDependentRowset($sub_table);
                     foreach ($sub_rows as $sub_row) {
                         $data[$name][] = $sub_table->ConvertToArray($sub_row, $depth);
                     }
                     //						$sub_ReferenceMap = $sub_table->getReferenceMap();
                     //
                     //						$data[$name] = $sub_table->GetArrayAll( array($sub_ReferenceMap['Texts'] => $data['ID']), null, null, null, $depth );
                     break;
                 case "subattribute":
                     //						echo $value[3] ."\n";
                     $sub_table = getTableFromObjectString($value[3]);
                     $sub_rows = $main_row->findDependentRowset($sub_table);
                     $tmp = array();
                     foreach ($sub_rows as $sub_row) {
                         $sub_row = $sub_table->ConvertToArray($sub_row, $depth);
                         $tmp[] = $sub_row[$value[4]];
                     }
                     $data[$name] = join($value[5], $tmp);
                     //						$select = new Zend_Db_Table_Select($sub_table);
                     //						$select->from( $sub_table, array($value[4]) );
                     //						$sub_rows = $main_row->findDependentRowset( $sub_table, $select );
                     //						$tmp = array();
                     //						foreach ($sub_rows as $sub_row) {
                     //							$sub_row = $sub_table->ConvertToArray($sub_row, $depth);
                     //							$tmp[] = $sub_row[$value[4]];
                     //						}
                     $data[$name] = join($value[5], $tmp);
                     break;
                 case "parent":
                     $tmp = $main_row->findParentRow(getTableFromObjectString($value[3]))->toArray();
                     //						echo $this->getTableName() . ": {$value[3]}: $name = {$value[0]}\n";
                     $data[$name] = $tmp[$value[0]];
                     break;
             }
         }
     }
     return $data;
 }