public function actionGenerarprivilegios(){
 	echo "Generar Privilegios<br>";
 	$tablas = new tablasModel();
 	$tablas->ValidaExistenciaTablas();
 	$localdatos = $tablas->Todas();
 	echo "Limpiando Modulos Privilegios<br>";
 	$tablas->LimpiarModulosPrivilegios();
 	echo "Ingresando Modulos<br>";
 	foreach ($localdatos as $fila){
 		$tabla = $fila["table_name"];
 		$nombrecontrol = quitartokens(strtolower($tabla));
 		$tablas->InsertarModulo($nombrecontrol);
 	}
 	echo "Seleccionando Tipos de usuario<br>";
 	$localmodulos = $tablas->getModulos();
 	$localtipousuario = $tablas->getTipoUsuario();
 	foreach ($localtipousuario as $tipousuario) {
 		echo "Ingresando modulos de:{$tipousuario["nombre_tipousuario"]}<br>";
 		foreach ($localmodulos as $modulo){
 			$id_modulo = $modulo["id_modulo"];
 			$id_rolusuario = $tipousuario["id_rolusuario"];
 			if($tipousuario["id_rolusuario"]==1){
 				$tablas->InsertarPrivilegio($id_modulo, $id_rolusuario,1,1,1,1);
 			}
 			else{
 				$tablas->InsertarPrivilegio($id_modulo, $id_rolusuario);
 			}
 		}
 	}
 	echo "Finalizado<br>";
 }     
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;
}