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

/**
 * Menú de SIVeL.
 *
 * PHP version 5
 *
 * @category  SIVeL
 * @package   SIVeL
 * @author    Vladimir Támara <vtamara@pasosdeJesus.org>
 * @copyright 2004 Dominio público. Sin garantías.
 * @license   http://creativecommons.org/licenses/publicdomain/ Dominio Público. Sin garantías.
 * @version   $Id: index.php,v 1.41 2009/05/03 12:23:21 vtamara Exp $
 * @link      http://sivel.sf.net
 * @link http://pear.php.net/manual/en/package.html.html-menu.intro.php
 */

/**
 * Menú de SIVeL.
 */
require_once 'HTML/Menu.php';
require_once 'misc.php';
require_once 'confv.php';
require_once 'aut/conf.php';
require_once 'aut/aut.php';
require_once 'misc_caso.php';
require_once 'PresentaMenuPrincipal.php';

/**
 * Lee menú de base de datos y construye una estructura apropiada para 
 * HTML/Menu.
 *
 * @param handle  &$db Conexión a base de datos
 * @param integer $id  Identificación de menú por revisar
 *
 * @return array apropiado para HTML_Menu
 */
function bd_a_menu(&$db, $id) 
{
    $q = "SELECT id_opcion, descripcion, nomid FROM opcion  " .
        "WHERE id_mama='$id' ORDER by id_opcion;";
    $result = $db->query($q);
    if (PEAR::isError($result)) {
        echo "Problema leyendo base '" .
            $result->getMessage()."'";
    }
    $row = array();
    $r = array();
    while ($result->fetchInto($row)) {
        if ($row[2] != '') {
            if (strchr($row[2], '?')) {
                $url = str_replace('?', '.php?', $row[2]);
            } else {
                $url = $row[2] . '.php';
            }
        } else {
            $url = '';
        }
        $r[] = array('title' => $row[1],
            'url' => $url,
            'sub' => bd_a_menu($db, $row[0]));
    }
    return $r;
}


/**
 * Presenta menú principal.
 *
 * @param handle &$db Conexión a base de datos
 *
 * @return void
 */
function menu_principal(&$db)
{

    $datMenu = bd_a_menu($db, 0);
    $menu =& new HTML_Menu($datMenu, 'sitemap');

    encabezado_envia('SIVeL ' . $GLOBALS['PRY_VERSION'].
        ': Sistema de Información de Violencia Política');

    echo '<table width = "100%" cellpadding = "0" border = "1" cellspacing = "0">';
    echo '<tr><td align = "left" padding = "0" class = "blanco">
        <img src = "imagen/cabai.jpg"/></td></tr>';
    echo '<tr><td align = "left" padding = "0" class = "blanco">
        <img src = "imagen/cabmi.jpg"/></td></tr>';
    echo '<tr><td align = "right" padding = "0" class = "blanco">
        <img src = "imagen/cabbd.jpg"/></td></tr>';
    echo '</table>';

    $renderer =& new PresentaMenuPrincipal();
    $menu->render($renderer, '');
    $r = $renderer->toHtml();
    echo $r;
    if (isset($GLOBALS['centro_principal']) && 
        file_exists($GLOBALS['centro_principal'])) {
        $fh = fopen($GLOBALS['centro_principal'], 'rb');
        $contents = fread($fh, filesize($GLOBALS['centro_principal']));
        fclose($fh);
        echo $contents;
    }
    echo '<pr>&nbsp;</pr><table border = "0" width = "100%" 
        style = "white-space: nowrap; background-color:#CCCCCC;"><tr>
        <tr><td><a href = "http://sivel.sf.net/" 
        target = "docsivel">Documentación</a><br>' .
    $GLOBALS['REPORTA_FALLAS'].
    '</td></tr></table>';

    pie_envia();

}

/**
 * Inicializa variables cada vez que llega al índice (en particular para 
 * búsquedas).
 *
 * @param handle &$db Conexión a base de datos
 *
 * @return void
 */
function inicializa(&$db) 
{
    $_SESSION['forma_modo'] = 'editar';
    $idbus = $GLOBALS['idbus'];
    if ($idbus <= 0) {
        eliminaCaso($db, $idbus);
    } else {
        die("Variable Global idbus con id. de caso para búsquedas debería " .
            "ser no positiva");
    }
}

$aut_usuario = "";
$db = autenticaUsuario($dsn, $accno, $aut_usuario, 0);

inicializa($db);
menu_principal($db);
unset_var_session();


?>  
