コード例 #1
0
function CrearFormulario($tablename, $nombrecontrol)
{
    $modelname = $tablename;
    $tablename = strtolower($tablename);
    $db = new tablasModel();
    $campos = $db->InformacionTabla($tablename);
    $existe_text = false;
    foreach ($campos as $localfila) {
        if ($localfila[data_type] == "text") {
            $existe_text = true;
            break;
        }
    }
    for ($i = 0; $i < count($campos); $i++) {
        if ($campos[$i]["column_key"] == "PRI") {
            $nombrecampo = $campos[$i]["column_name"];
            //$salida .= "¿barra->AgregarBoton(\"Eliminar\",\"javascript: XT_Eliminar({¿var_{$nombrecampo}});  \",\"delete\");\n";
        }
    }
    $salida .= "XTControles::InitForm(\"{$nombrecontrol}Form\");\n";
    for ($i = 0; $i < count($campos); $i++) {
        if ($campos[$i]["column_key"] == "PRI") {
            $nombrecampo = $campos[$i]["column_name"];
            $salida .= "XTControles::Hidden(\"{$nombrecampo}\",¿var_{$nombrecampo});" . "\n";
        }
    }
    $salida .= "?>\n";
    for ($i = 0; $i < count($campos); $i++) {
        if ($campos[$i]["column_key"] != "PRI") {
            $references_keys = $db->ReferenciaTablaColumn($tablename, $campos[$i]["column_name"]);
            if (count($references_keys) == 0) {
                $salida .= CrearCampoEditar($campos[$i]["column_name"], $campos[$i]["data_type"], $nombrecontrol);
            } else {
                $ref_table = $references_keys[0][referenced_table_name];
                /*buscar campo de visualizar*/
                $ref_table_datos = $db->InformacionTabla($ref_table);
                $ref_table_display = "";
                foreach ($ref_table_datos as $locallocalfilatmp) {
                    if ($locallocalfilatmp[data_type] == "varchar") {
                        $ref_table_display = $locallocalfilatmp[column_name];
                        break;
                    }
                }
                /*----*/
                $ref_table = quitartokens($ref_table);
                $salida .= CrearComboBox($campos[$i]["column_name"], "listado_{$ref_table}", $ref_table_display, $references_keys[0][referenced_column_name], true);
            }
        }
    }
    $salida .= "<?php XTControles::EndForm() ?>\n";
    $salida = str_replace('¿', '$', $salida);
    $salida_js = "";
    $cabecera = "defined(\"_XTEXEC\") or die(\"Area restingida\");\n\n";
    $data[0] = $cabecera . $salida;
    $data[1] = $salida_js;
    return $data;
}