function replaceFront($name, $tabla, $campos)
{
    $componentsite = 'com_' . $name . '/site/';
    $rutas = array();
    // creo un array con las rutas de los archivos
    $rutas[] = $componentsite . 'controllers/';
    $rutas[] = $componentsite . 'controllers/table.php';
    $rutas[] = $componentsite . 'controllers/tables.php';
    $rutas[] = $componentsite . 'helpers/';
    $rutas[] = $componentsite . 'helpers/component.php';
    $rutas[] = $componentsite . 'language/';
    $rutas[] = $componentsite . 'models/';
    $rutas[] = $componentsite . 'models/fields/';
    $rutas[] = $componentsite . 'models/forms/';
    $rutas[] = $componentsite . 'models/table.php';
    $rutas[] = $componentsite . 'models/tables.php';
    $rutas[] = $componentsite . 'views/';
    $rutas[] = $componentsite . 'views/table/';
    $rutas[] = $componentsite . 'views/table/tmpl';
    $rutas[] = $componentsite . 'views/table/tmpl/default.xml';
    $rutas[] = $componentsite . 'views/table/tmpl/default.php';
    $rutas[] = $componentsite . 'views/table/tmpl/index.html';
    // ruta necesaria para limpiar
    $rutas[] = $componentsite . 'views/table/index.html';
    // ruta necesaria para limpiar
    $rutas[] = $componentsite . 'views/table/view.html.php';
    $rutas[] = $componentsite . 'views/tables/';
    $rutas[] = $componentsite . 'views/tables/tmpl/';
    $rutas[] = $componentsite . 'views/tables/tmpl/default.xml';
    $rutas[] = $componentsite . 'views/tables/tmpl/default.php';
    $rutas[] = $componentsite . 'views/tables/tmpl/index.html';
    // ruta necesaria para limpiar
    $rutas[] = $componentsite . 'views/tables/view.html.php';
    $rutas[] = $componentsite . 'views/tables/index.html';
    // ruta necesaria para limpiar
    $rutas[] = $componentsite . 'component.php';
    $rutas[] = $componentsite . 'controller.php';
    $rutas[] = $componentsite . 'router.php';
    $rutaOK = "";
    // recorro las rutas
    foreach ($rutas as $r) {
        // condiciones para copias de archivos
        if (strpos($r, 'tables') !== false) {
            $rutaOK = str_replace('tables', $tabla, $r);
            echo "copiando1 {$r}     -->     {$rutaOK} <br />";
            if (esArchivo($rutaOK)) {
                duplica($r, $rutaOK, $name, $tabla);
                replace($rutaOK, $name, $tabla, $campos);
            } else {
                if (!file_exists($rutaOK)) {
                    full_copy($r, $rutaOK);
                }
            }
        } elseif (strpos($r, 'table') !== false) {
            $rutaOK = str_replace('table', singularize($tabla), $r);
            echo "copiando2 {$r}     -->     {$rutaOK} <br />";
            if (esArchivo($rutaOK)) {
                duplica($r, $rutaOK, $name, $tabla);
                replace($rutaOK, $name, $tabla, $campos);
            } else {
                if (!file_exists($rutaOK)) {
                    full_copy($r, $rutaOK);
                }
            }
        } elseif (strpos($r, 'component') !== false) {
            $rutaOK = str_replace('component', $name, $r);
            echo "copiando {$r}     -->     {$rutaOK} <br />";
            if (esArchivo($rutaOK)) {
                duplica($r, $rutaOK, $name, $tabla);
                replace($rutaOK, $name, $tabla, $campos);
            } else {
                if (!file_exists($rutaOK)) {
                    full_copy($r, $rutaOK);
                }
            }
        } else {
            $rutaOK = $r;
            if (esArchivo($rutaOK)) {
                echo "copiando {$r}  to  {$rutaOK} <br />";
                // duplica($r, $rutaOK, $name, $tabla);
                replace($rutaOK, $name, $tabla, $campos);
            }
        }
    }
    limpiar($rutas);
}
function limpiar($rutas)
{
    $rutas = array_reverse($rutas);
    foreach ($rutas as $r) {
        if (esArchivo($r) || strpos($r, "index.html") !== false) {
            if (eliminar($r)) {
                unlink($r);
            }
        } elseif (strpos($r, '/table/') !== false || strpos($r, '/tables/') !== false || strpos($r, '/tmpl/') !== false) {
            rmdir($r);
        }
    }
}