'.$formDef['tabs'][$tab]['title'].''; $lang = array(); foreach($formDef['tabs'][$tab]['fields'] as $key => $field) { switch ($field['formtype']) { case 'TEXT': $html .= "\r\n *
"; } else { $html .= ">"; } $html .= "\r\n
"; break; case 'TEXTAREA': $html .= "\r\n "; if ($field['required'] == true ) { $html .= "*
"; } $html .= "\r\n
"; break; case 'SELECT': $html .= "\r\n "; if ($field['required'] == true ) { $html .= "*
"; } $html .= "\r\n
"; break; case 'MULTIPLE': $html .= "\r\n "; if ($field['required'] == true ) { $html .= "*
"; } $html .= "\r\n
"; break; case 'PASSWORD': $html .= "\r\n *
"; } else { $html .= ">"; } $html .= "\r\n
"; break; case 'CHECKBOX': $html .= "\r\n "; if ($field['required'] == true ) { $html .= " {tmpl_var name='".$key."'} *
"; } else { $html .= " {tmpl_var name='".$key."'} "; } $html .= "\r\n
"; break; case 'CHECKBOXARRAY': $html .= "\r\n {tmpl_var name='".$key."_txt'}"; $html .= "
{tmpl_var name='".$key."'}
"; $html .= "\r\n
"; break; case 'RADIO': $html .= " {tmpl_var name='".$key."_txt'}"; $html .= "
{tmpl_var name='".$key."'}
"; $html .= "\r\n
"; break; } // Language File Eintrag für "Feld-Titel" anlegen $lang[$key."_txt"] = $key; // language File Eintrag, für error-Text anlegen if(isset($field["errmsg"]) && $field["errmsg"] != '') { $errmsg = $field["errmsg"]; $lang[$errmsg] = $errmsg; } } $html .= "
"; // speichere Template if (!$handle = fopen($formDef['tabs'][$tab]['template'], 'w')) { print "Cannot open file ($filename)"; exit; } if (!fwrite($handle, $html)) { print "Cannot write to file ($filename)"; exit; } fclose($handle); // überprüfe, ob es die Tabelle schon gibt, // ansonsten wird sie angelegt $tables = $app->db->getTables(); if(!@in_array($formDef['db_table'],$tables)) { // Datenbank noch nicht vorhanden $columns = array(); // füge ID Feld hinzu $col = array( 'action' => 'add', 'name' => $formDef["db_table_idx"], 'type' => 'int64', 'typeValue' => '', 'defaultValue' => false, 'notNull' => true, 'autoInc' => true, 'option' => 'primary' ); $columns[] = $col; $app->db->show_error_messages = true; if($formDef["auth"] == 'yes') { $col = array( 'action' => 'add', 'name' => 'sys_userid', 'type' => 'int32', 'typeValue' => '', 'defaultValue' => '0', 'notNull' => true ); $columns[] = $col; $col = array( 'action' => 'add', 'name' => 'sys_groupid', 'type' => 'int32', 'typeValue' => '', 'defaultValue' => '0', 'notNull' => true ); $columns[] = $col; $col = array( 'action' => 'add', 'name' => 'sys_perm_user', 'type' => 'varchar', 'typeValue' => '5', 'defaultValue' => 'NULL', 'notNull' => true ); $columns[] = $col; $col = array( 'action' => 'add', 'name' => 'sys_perm_group', 'type' => 'varchar', 'typeValue' => '5', 'defaultValue' => 'NULL', 'notNull' => true ); $columns[] = $col; $col = array( 'action' => 'add', 'name' => 'sys_perm_other', 'type' => 'varchar', 'typeValue' => '5', 'defaultValue' => 'NULL', 'notNull' => true ); $columns[] = $col; } foreach($formDef['tabs'] as $tab) { foreach($tab["fields"] as $name => $field) { /* $columns = array(action => add | alter | drop name => Spaltenname name_new => neuer Spaltenname, nur bei 'alter' belegt type => 42go-Meta-Type: int16, int32, int64, double, char, varchar, text, blob typeValue => Wert z.B. bei Varchar defaultValue => Default Wert notNull => true | false autoInc => true | false option => unique | primary | index) */ switch ($field["datatype"]) { case 'INTEGER': $type = 'int32'; $typevalue = ''; $defaultValue = ($field["default"] != '')?$field["default"]:'0'; break; case 'DOUBLE': $type = 'double'; $typevalue = ''; $defaultValue = ($field["default"] != '')?$field["default"]:'0'; break; case 'CURRENCY': $type = 'double'; $typevalue = ''; $defaultValue = ($field["default"] != '')?$field["default"]:'0'; break; case 'VARCHAR': $type = 'varchar'; $typeValue = ($field["maxlength"] > 0 and $field["maxlength"] <= 256)?$field["maxlength"]:255; // $defaultValue = ($field["default"] != '')?$field["default"]:'NOT NULL'; $defaultValue = ($field["default"] != '')?$field["default"]:'NULL'; break; case 'TEXT': $type = 'text'; $typevalue = ''; $defaultValue = 'NULL'; break; case 'DATE': $type = 'int64'; $typevalue = ''; $defaultValue = ($field["default"] != '')?$field["default"]:'0'; break; } $col = array( 'action' => 'add', 'name' => $name, 'type' => $type, 'typeValue' => $typeValue, 'defaultValue' => $defaultValue, 'notNull' => true ); $columns[] = $col; } } $app->db->createTable($formDef["db_table"],$columns); } } } ?>