<?php
// vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker:

/**
* Inserción de datos en tablas básicas
 *
 * PHP version 5
 *
 * @category  SIVeL
 * @package   SIVeL-pruebas
 * @author    Vladimir Támara <vtamara@pasosdeJesus.org>
 * @copyright 2006 Dominio público. Sin garantías.
 * @license   http://creativecommons.org/licenses/publicdomain/ Dominio Público. Sin garantías.
 * @version   $Id: insbasicas.php,v 1.18 2009/05/02 03:15:45 vtamara Exp $
 * @link      http://sivel.sf.net
*/
    
/**
 * Inserción de datos en tablas básicas
 */
require_once "ambiente.php";

/**
 * Inserta data en tabla básica
 *
 * @param string $tabla     Nombre de la tabla
 * @param string $llave_sec Llave secundaria 
 * @param string $valor     Valor
 * @param string $campos    Campos
 *
 * @return 0 si inserta, 1 si no inserta
 */
function instablabasica($tabla, $llave_sec, $valor, $campos = array()) 
{
    global $db, $dsn, $mreq, $accno;

    echo "++ Inserción en tabla $tabla\n";
    echo "db = $db, dsn = $dsn, mreq = $mreq, accno = $accno\n";

    $na = (int)$db->getOne("SELECT COUNT($llave_sec) FROM $tabla;");

    echo "na = $na\n";

    $_REQUEST = $_POST = $_GET = array();

    $_REQUEST['tabla'] = $_GET['tabla'] = $tabla;
    $_REQUEST["_qf__dataobjects_$tabla"] = $_POST["_qf__dataobjects_$tabla"] = 
        '';
    $_REQUEST['id'] = $_POST['id'] = '';
    $_REQUEST[$llave_sec] = $_POST[$llave_sec] = $valor;

    foreach ($campos as $c => $v) {
        $_REQUEST[$c] = $_POST[$c] = $v;
    }

    $_REQUEST['añadir'] = $_POST['añadir'] = 'Añadir';

    $_SERVER['REQUEST_URI'] = '127.0.0.1';

    $_REQUEST['evita_csrf'] = $_SESSION['sin_csrf'] =
        $_POST['evita_csrf'] = 1234;

    print_r($_REQUEST);
    print_r($_POST);
    print_r($_SERVER);

    include "../detalle.php";

    /* Verificando */
    $db->query("SELECT COUNT($llave_sec) FROM $tabla;");
    $nd = (int)$db->getOne("SELECT COUNT($llave_sec) FROM $tabla;");
    echo "nd = $nd\n";
    if (($nd-$na) != 1) {
        echo "** No insertó en $tabla\n";
        return 1;
    }
    return 0;
}


$na = (int)$db->getOne("SELECT COUNT(nombre) FROM departamento;");

$_REQUEST['tabla'] = $_GET['tabla'] = 'departamento';
$_REQUEST['_qf__dataobjects_departamento'] = '';
$_POST['_qf__dataobjects_departamento'] = '';
$_REQUEST['id'] = $_POST['id'] = '';
$_REQUEST['nombre'] = $_POST['nombre'] = 'x';
$_REQUEST['añadir'] = $_POST['añadir'] = 'Añadir';

$_SERVER['REQUEST_URI'] = 'localhost';

$_REQUEST['evita_csrf'] = $_SESSION['sin_csrf'] = $_POST['evita_csrf'] = 1234;

require "../detalle.php";

/* Verificando */
$db->query("SELECT COUNT(nombre) FROM departamento;");
$nd = (int)$db->getOne("SELECT COUNT(nombre) FROM departamento;");

if (($nd-$na) != 1) {
    echo "No insertó";
    exit(1);
}

$fc = array('d' => date('d'), 'M' => date('m'), 'Y' => date('Y'));
$c = 0;

foreach (array('filiacion', 'frontera', 'organizacion', 'profesion',
    'region', 'resultado_agresion', 'sector_social', 'vinculo_estado') as $t) {
    $c += instablabasica($t, 'nombre', $t . '1');
}

$c += instablabasica('intervalo', 'nombre', 'intervalo1',
    array('rango' => '0 a 100'));
$c += instablabasica('prensa', 'nombre', 'prensa1',
    array('tipo_fuente' => 'Indirecta'));

$c += instablabasica('antecedente', 'nombre', 'antecedente1',
    array('fecha_creacion' => $fc));

$c += instablabasica('contexto', 'nombre', 'contexto1',
    array('fecha_creacion' => $fc));
$c += instablabasica('presuntos_responsables', 'nombre', 'presuntos r1',
    array('polo' => 'OTROS', 'fecha_creacion' => $fc));

$c += instablabasica('rango_edad', 'nombre', 'rango_edad1',
    array('rango' => 'desc1'));

$c += instablabasica('parametros_reporte_consolidado', 'rotulo', 'rotulo1',
    array('tipo_violencia' => 'UNA',
    'clasificacion' => 'OTRA'
    ));

$c += instablabasica('tipo_violencia', 'nombre', 'tipo1',
    array('id' => 'T', 'nomcorto' => 't1', 'fecha_creacion' => $fc));
$c += instablabasica('supracategoria', 'nombre', 'supra1',
    array('id_tipo_violencia' => 'T', 'fecha_creacion' => $fc));
$c += instablabasica('categoria', 'nombre', 'cat1',
    array('id_supracategoria' => 'T:0',
        'col_rep_consolidado' => 1,
        'fecha_creacion' => $fc));
$c += instablabasica('municipio', 'nombre', 'municipio1',
    array('id_departamento' => '1' ));
$c += instablabasica('clase', 'nombre', 'clase1',
    array('id_municipio' => '1-1' ));

if ($c > 0) {
    echo "** Errores: $c\n";
}

exit($c);
?>
