<?php

/**	* @version 1.0.0
	* @package XTFRAMEWORK
	* @author JaVuu	
	* @copyright Copyright (C) 2011 por EcuaLatino. Todos los derechos reservados.
	* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, mire LICENSE.php
*/
defined("_XTEXEC") or die("Area restingida");
set_time_limit(0);
if (is_array($listado)) {
    print "------ Inicio: " . date("Y-m-d h:i:s") . " -------------------------------------------<br>";
    GenerarDirectoriosTodo();
    foreach ($listado as $tabla) {
        $nombrecontrol = quitartokens(strtolower($tabla));
        GenerarDirectorioVistas($nombrecontrol);
        CrearArchivoVistaListar($tabla, $nombrecontrol);
        CrearArchivoVistaNuevo($tabla, $nombrecontrol);
        CrearArchivoVistaEditar($tabla, $nombrecontrol);
    }
    print "------ Finalizado: " . date("Y-m-d h:i:s") . " -------------------------------------------";
}
    echo $estilofila;
    ?>
">
		<td><?echo $i_item_pos?></td>
		<th scope="col" class="rounded-company">
		<input type="checkbox" id="tabla_$i" name="tabla[]" value="<?php 
    echo $fila[table_name];
    ?>
">
		</th>
		<td><b><?php 
    echo $fila[table_name];
    ?>
</b></td>
		<td style="text-align:left"><?php 
    echo quitartokens($fila[table_name]);
    ?>
</td>
		<td style="text-align:left">Listar</td>
	</tr>
<?php 
}
?>
</table>
<?php 
XTControles::EndForm();
?>
<script type="text/javascript">
	function _doPostForm(formname){
		var contador = 0;
		for (i=0;i<document.getElementById(formname).elements.length;i++)
    echo $estilofila;
    ?>
">
		<td><?echo $i_item_pos?></td>
		<th scope="col" class="rounded-company">
		<input type="checkbox" id="tabla_$i" name="tabla[]" value="<?php 
    echo $fila[table_name];
    ?>
">
		</th>
		<td><b><?php 
    echo $fila[table_name];
    ?>
</b></td>
		<td style="text-align:left"><?php 
    echo quitartokens($fila[table_name]) . "Controller";
    ?>
</td>
	</tr>
<?php 
}
?>
</table>
<?php 
XTControles::EndForm();
?>
<script type="text/javascript">
function _doPostForm(formname){
	var contador = 0;
	for (i=0;i<document.getElementById(formname).elements.length;i++)
		if(document.getElementById(formname).elements[i].type == "checkbox"){
    echo $estilofila;
    ?>
">
		<td><?echo $i_item_pos?></td>
		<th scope="col" class="rounded-company">
		<input type="checkbox" id="tabla_$i" name="tabla[]" value="<?php 
    echo $fila[table_name];
    ?>
">
		</th>
		<td><b><?php 
    echo $fila[table_name];
    ?>
</b></td>
		<td style="text-align:left"><?php 
    echo quitartokens($fila[table_name]) . "Model";
    ?>
</td>
	</tr>
<?php 
}
?>
</table>
<?php 
XTControles::EndForm();
?>
<script type="text/javascript">
	function _doPostForm(formname){
		var contador = 0;
		for (i=0;i<document.getElementById(formname).elements.length;i++)
			if(document.getElementById(formname).elements[i].type == "checkbox"){
 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;
}