/**
 * Tradukas abstraktan tabelnomon al konkreta tabelnomo.
 *
 * Ekzistas pluraj eblecoj, kiel traduki la nomon.
 * Dependas de la enhavo de {@link konfiguro/datumaro.php}.
 *
 * - (1) Se tie troviĝas funkcio
 *      tabelnomtradukilo(...),
 *     ĝi estas vokita per la abstrakta tabelnomo.
 *     Se la rezulto ne estas malplena (0, null, nedefinita),
 *     ĝi estos la konkreta tabelnomo.
 * - (2) Se ekzistas globala variablo $tabelnomtradukilo (kiu estu
 *     array), tiam ni serĉas la valoron de la tabelnomo
 *     (do, $tabelnomtradukilo[$tabelnomo]). Se la rezulto
 *     ne estas malplena, ĝi estos la konkreta tabelnomo.
 * - (3) Se ekzistas globalaj variabloj $tabelnomprefikso kaj/aŭ
 *     $tabelnompostfikso, ili estas kunmetitaj kun la
 *     abstrakta tabelnomo por ricevi la konkretan
 *     tabelnomon.
 * - (4) Se neniu el tiuj eblecoj taŭgas, la konkreta
 *     tabelnomo estos la abstrakta tabelnomo.
 *
 * @global array $tabelnomtradukilo
 * @global string $tabelnomprefikso
 * @global string $tabelnompostfikso
 * @uses tabelnomtradukilo (se ekzistas)
 *
 * @param string $tabelnomo la abstrakta tabelonomo
 * @return string la konkreta tabelnomo
 */
function traduku_tabelnomon($tabelnomo)
{
    // (1)
    if (function_exists("tabelnomtradukilo")) {
        $traduko = tabelnomtradukilo($tabelnomo);
        if (!empty($traduko)) {
            return $traduko;
        }
    }
    // (2)
    if (isset($GLOBALS["tabelnomtradukilo"]) && is_array($GLOBALS["tabelnomtradukilo"])) {
        $traduko = $GLOBALS["tabelnomtradukilo"][$tabelnomo];
        if (!empty($traduko)) {
            return $traduko;
        }
    }
    // (3) + (4)
    $tabelnomprefikso = valoro($GLOBALS["tabelnomprefikso"], "");
    $tabelnompostfikso = valoro($GLOBALS["tabelnompostfikso"], "");
    return $tabelnomprefikso . $tabelnomo . $tabelnompostfikso;
}
 /**
  * Montras la aliĝdatojn en HTML-tabelo
  */
 function montru_aligxo($sen_bla = false)
 {
     // TODO: tiu funkcio ankaŭ ŝajnas multe tro longa kaj
     // nesuperrigardebla por mi ...
     $renkontigxo = new renkontigxo($this->datoj['renkontigxoID']);
     $partoprenanto = new partoprenanto($this->datoj['partoprenantoID']);
     if (!$sen_bla) {
         eoecho("partoprendatumoj por la <strong>" . $renkontigxo->datoj['nomo'] . "</strong> en " . $renkontigxo->datoj['loko'] . ":");
     }
     echo "<table  valign='top'>\n";
     kampo("ID:", $this->datoj['ID']);
     if ($this->datoj['ordigoID'] != '0.000') {
         kampo("ordigo-ID:", $this->datoj['ordigoID']);
     }
     kampo("Lingva nivelo:", $this->nivelo());
     $this->simpla_kampo("studento", array(array('j', '[X]', "estas studento"), array('n', '[_]', "ne estas studento"), array('?', '?', "ne klaras, c^u studento.")));
     $this->simpla_kampo1('havas_asekuron', "N", "[X]", "bezonas asekuron pri malsano");
     /*
      TODO: indiko pri invitpeto-datoj
     */
     $this->simpla_kampo1('retakonfirmilo', 'J', "[X]", "deziras retan konfirmilon");
     $this->simpla_kampo1("germanakonfirmilo", "J", "[X]", "deziras germanlingvan konfirmilon");
     $this->simpla_kampo1("litolajxo", "J", "[X]", "mendas litolaj^on");
     $this->simpla_kampo("partoprentipo", array(array("t", "t", "partoprenos tuttempe (de: " . $this->datoj['de'] . " g^is: " . $this->datoj['gxis'] . ")"), array("p", "", "partoprenos partatempe (de: " . $this->datoj['de'] . " g^is: " . $this->datoj['gxis'] . ")")), array('?', "", "partoprenos tute ne?? io eraro okazis - bonvolu kontaktu nin"));
     $this->simpla_kampo("listo", array(array('J', "[X]", "volas aperi en la interreta listo."), array('N', "[_]", "ne volas aperi en la interreta listo.")), array('?', "?", 'interreta listo: "' . $this->datoj['listo'] . '"'));
     $this->simpla_kampo("intolisto", array(array('J', "[X]", "volas aperi en la adresaro."), array('N', "[_]", "ne volas aperi en la adresaro.")), array("?", "?", 'adresaro: "' . $this->datoj['listo'] . '"'));
     $this->simpla_kampo("vegetare", array(array("J", "[X]", "estas <em>vegetarano</em>"), array("A", "[X]", "estas <em>vegano</em>"), array("N", "[X]", "estas <em>viandmang^anto</em>")), array("", "?", "<em>nekonata mang^otipo</em>!"));
     if (deviga_membreco_tipo != 'nenia') {
         $this->simpla_kampo("GEJmembro", array(array('J', "[X]", "estas membro de " . deviga_membreco_nomo)), array('N', "[_]", "ne estas membro de " . deviga_membreco_nomo));
         kampo($this->datoj['surloka_membrokotizo'], $this->membrokotizo());
     }
     // TODO: pripensi, ĉu ankaŭ eblas fari simile kiel la antaŭaj.
     switch ($this->datoj['tejo_membro_laudire'] . $this->datoj['tejo_membro_kontrolita']) {
         case 'jj':
         case 'nj':
             kampo("[X]", "estas membro de TEJO (kontrolita)");
             break;
         case 'jn':
             kampo("-", "ne estas membro de TEJO (kvankam " . $partoprenanto->personapronomo . " asertis, ke jes)");
             break;
         case 'j?':
             kampo("[?]", "asertis esti membro de TEJO (ankorau^ ne kontrolita)");
             break;
         case 'nn':
         case 'n?':
             kampo("-", "ne estas membro de TEJO");
             break;
         case 'np':
         case 'jp':
             kampo("-", "ne estas membro de TEJO, sed tamen pagas ioman monon al TEJO/UEA");
             break;
         case 'ni':
         case 'ji':
             kampo("[I]", "ig^as nova membro de TEJO surloke");
             break;
         default:
             kampo("?", "eraro okazis pri la TEJO-membreco: " . "laudire=" . $this->datoj['tejo_membro_laudire'] . ", kontrolita=" . $this->datoj['tejo_membro_kontrolita']);
     }
     $this->simpla_kampo1("KKRen", "J", "[X]", "estas " . organizantoj_nomo . "-ano");
     if (mangxotraktado == 'ligita') {
         $vosto = "";
         $vosto .= "kaj ";
         $komenco = "";
         if ($this->datoj['domotipo'] == "M") {
             $komenco .= "M";
             $vosto .= "memzorgas";
             if ($this->datoj['kunmangxas'] == "J") {
                 $vosto .= ", sed kunmang^as (senpage)";
                 $komenco .= "J";
             } else {
                 if ($this->datoj['kunmangxas'] == 'K') {
                     $vosto .= ", sed krompagas por kunmang^i";
                     $komenco .= "K";
                 }
             }
         } else {
             if ($this->datoj['domotipo'] == "J") {
                 $vosto .= "junulargastejumas en ";
                 $komenco .= "J";
                 if ($this->datoj['dulita'] == "J") {
                     $komenco .= "2";
                     $vosto .= "(eble) dulita ";
                 } else {
                     if ($this->datoj['dulita'] == 'U') {
                         $vosto .= "(eble) unulita ";
                         $komenco .= "1";
                     }
                 }
                 if ($this->datoj['cxambrotipo'] == "u") {
                     $vosto .= "unuseksa ";
                     $komenco .= "u";
                 }
                 if ($this->datoj['cxambrotipo'] == "g") {
                     $vosto .= "gea ";
                     $komenco .= "g";
                 }
                 if ($this->datoj['cxambrotipo'] == "n") {
                     $vosto .= "negrava ";
                 }
                 $vosto .= "c^ambro ";
                 if (valoro($this->datoj['kunkiuID'])) {
                     //$vosto .= "(".$this->datoj[kunkiuID].")";// Verlinken mit anderem Teilnehmer
                     $kunlogxanto = new Partoprenanto($this->datoj['kunkiuID']);
                     $komenco .= "+";
                     $vosto .= " (eble) kun <A href=partrezultoj.php?partoprenantoidento=" . $this->datoj['kunkiuID'] . " onClick=\"doSelect(" . $kunlogxanto->datoj['ID'] . ");\">" . $kunlogxanto->datoj['personanomo'] . " " . $kunlogxanto->datoj['nomo'] . "</A>";
                 }
                 if (valoro($this->datoj['kunkiu'])) {
                     $vosto .= " (" . $this->datoj['kunkiu'] . ")";
                 }
                 if ($this->datoj['kunmangxas'] == "N") {
                     $vosto .= ", sed ne kunmang^as";
                     $komenco .= "N";
                 } else {
                     if ($this->datoj['kunmangxas'] == 'K') {
                         $vosto .= ", sed ial tamen krompagas por kunmang^i";
                         $komenco .= "K";
                     }
                 }
             }
         }
         kampo($komenco, $vosto);
     } else {
         if (mangxotraktado == 'libera') {
             $this->simpla_kampo("domotipo", array(array('J', "J", "log^as en junulargastejo"), array('M', 'M', "log^as memzorge (ekster niaj ejoj)"), array('A', "A", "log^as en amaslog^ejo"), array('T', "T", "log^as tendo")), array($this->datoj['domotipo'], "<em>nekonata domotipo</em>"));
             if ($this->datoj['kunKiuID'] != 0) {
                 $kunlogxanto = new Partoprenanto($this->datoj['kunkiuID']);
                 kampo("+", "volas log^i kun " . donu_ligon("partrezultoj.php?partoprenantoidento=" . $this->datoj['kunKiuID'], $kunlogxanto->tuta_nomo()) . " (" . $this->datoj['kunKiu'] . ')');
             } else {
                 if ($this->datoj['kunKiu']) {
                     kampo("+", "volas log^i kun " . " (" . $this->datoj['kunKiu'] . ")");
                 }
             }
             $this->simpla_kampo("cxambrotipo", array(array('g', "g", "en ajna c^ambro"), array('u', "u", "en unuseksa c^ambro")), array($this->datoj['cxambrotipo'], "<em>nekonata cxambrotipo</em>"));
             // TODO: manĝo-mendo-listo
             // TODO: dulita
             $this->simpla_kampo('dulita', array(array('N', '3+', "en plurlita c^ambro"), array('J', '2', "en dulita c^ambro"), array('U', "1", "en unulita c^ambro")), array($this->datoj['dulita'], "<em>nekonata 'dulita'-tipo</em>"));
         } else {
             kampo("????", "nekonata mangxotraktado-konfiguro: " . mangxotraktado);
         }
     }
     $this->simpla_kampo1("ekskursbileto", "J", "[X]", "mendis bileton por la tutaga ekskurso");
     foreach (array('tema', 'distra', 'vespera', 'muzika', 'nokta') as $tipo) {
         if ($this->datoj[$tipo]) {
             kampo("[X]", "kontribuos al la " . $tipo . " programo per: " . $this->datoj[$tipo]);
         }
     }
     if ($this->datoj['rimarkoj']) {
         kampo("rimarkoj:", $this->datoj['rimarkoj']);
     }
     if ($this->datoj['aligxdato']) {
         kampo("alveno de la alig^o:", $this->datoj['aligxdato']);
     }
     if ($this->datoj['malaligxdato'] != "0000-00-00") {
         kampo("alveno de la malalig^o:", $this->datoj['malaligxdato']);
     }
     kampo("1a konf.:", $this->datoj['1akonfirmilosendata']);
     kampo("2a konf.:", $this->datoj['2akonfirmilosendata']);
     echo "</table>\n";
 }
/**
 * Transformas tekston el nia esperanta c^-kodigo al
 * la defaŭlta kodigo.
 *
 * @param eostring $io transforminda teksto
 * @global string _SESSION['enkodo'] kodigo uzenda
 * @global string GLOBALS['enkodo']   kodigo uzenda, se $_SESSION["enkodo"] ne ekzistas. (Se ankaŭ tiu ne ekzistas, uzu "unikodo".
 * @return string la transformita teksto.
 * @uses eotransformado
 */
function eotransform($io)
{
    $enkodo = valoro($_SESSION['enkodo']) or $enkodo = valoro($GLOBALS['enkodo'], "unikodo");
    return eotransformado($io, $enkodo);
}
/**
 * Kreas simplan elektilon.
 *
 *<pre>
 *   __________
 *  [_________]   aldonaĵo
 *  |         |
 *  |         |
 *  |         |
 *  '---------'
 *</pre>
 * funkcias kiel {@link elektilo_simpla()}, sed prenas la tekstojn
 * el iu datumbaztabelo.
 *
 * @param string       $nomo           la nomo de la elektilo (= sub kiu
 *                                      nomo sendi al la servilo)
 * @param string       $tabelo         la abstrakta nomo de la datumbaztabelo.
 * @param string       $kampo_teksto   la kampo por la tekstoj
 * @param string       $kampo_interna  la kampo por la valoroj sendotaj
 * @param string       $defauxlto      kio estos antaŭelektata, se
 *                                     $_POST['nomo'] ne ekzistas.
 * @param array|string $restriktoj     pliaj restriktoj por la elekto
 *                                     (vidu {@link datumbazdemando}
 * @param eostring     $aldonajxoj     teksto aperanta post la elektilo.
 * @param int          $alteco         la nombro de linioj videblaj.
 */
function elektilo_simpla_db($nomo, $tabelo, $kampo_teksto = "nomo", $kampo_interna = "ID", $defauxlto = "", $restriktoj = "", $aldonajxoj = "", $alteco = 1)
{
    if (valoro($_POST[$nomo], false)) {
        $defauxlto = $_POST[$nomo];
    }
    $rez = sql_faru(datumbazdemando(array($kampo_teksto => 'teksto', $kampo_interna => 'ID'), $tabelo, $restriktoj));
    echo "  <select name='{$nomo}'  size='{$alteco}' id='{$nomo}'>\n";
    while ($linio = mysql_fetch_assoc($rez)) {
        echo "    <option value='" . $linio['ID'] . "' ";
        if ($linio['ID'] == $defauxlto) {
            echo " selected='selected'";
        }
        eoecho(">" . $linio['teksto'] . "</option>\n");
    }
    echo "  </select>\n";
    if ($aldonajxoj) {
        eoecho($aldonajxoj);
    }
}
 //     eoecho("rabatoj:");
 //     sercxu($sql,
 //            array("tipo","desc"),
 //            $kolumnoj,
 //            array(array('',array('&sum; XX','N','z'))),
 //            "rabatoj-partrezultoj",
 //            0, 0, "",'','ne');
 //     // TODO: krompago-listo
 //     echo "</td></tr></table>\n";
 if (DEBUG) {
     eoecho(" [lau^ malnova kalkulo: " . $kotkal->restas_pagenda() . "]");
 }
 echo " </td></tr>\n";
 echo "<tr><td class='kalkulilo' colspan=1>";
 //	<A href=partrezultoj.php?montrukotizo=";
 if (valoro($_REQUEST['montrukotizo']) != "montru") {
     ligu("partrezultoj.php?montrukotizo=montru", "montru kotizkalkuladon....");
 } else {
     ligu("partrezultoj.php?montrukotizo=kasxu", "kas^u kotizkalkuladon....");
     if (DEBUG) {
         echo "<pre>";
         var_export($kotkal);
         echo "</pre>";
     }
     $kotkal->tabelu_kotizon(new HTMLKotizoFormatilo());
     if (DEBUG) {
         echo "<hr/>\n";
         eoecho("malnova tabelo: ");
         $form = new HTMLKotizoFormatilo();
         $tab = $kotkal->kreu_kotizotabelon_malnova();
         $form->formatu_tabelon($tab);
 function adiciu_gruperon(&$ero)
 {
     $val =& $ero['valoro'];
     $dato = valoro($val['dato'], false) or $dato = $val['dato'] = date('Y-m-d');
     list($kurzo, $kdato) = eltrovu_kurzon($val['valuto'], $dato);
     if (!$kurzo) {
         darf_nicht_sein("mankas kurzo por " . $val['valuto'] . " je " . $dato);
     }
     $val['kurzo'] = $kurzo;
     if ($kdato) {
         $val['kdato'] = $kdato;
     }
     $ero['valoro_oficiala'] = $val['kvanto'] * $kurzo;
     return $ero['valoro_oficiala'];
 }
/**
 * Montras la formularon kun diversaj opcioj gravaj
 * por administrantoj.
 */
function montru_administradan_formularon()
{
    eoecho("<h2>Grava Administrado</h2>");
    eoecho("<form action='administrado.php' method='post'>\n");
    eoecho("<p>Printu:<BR>");
    entajpbutono("", 'kio', valoro($_POST['kio']), "n", 'n', "noms^ildojn", "kutima");
    entajpbutono("(", "nkkren", valoro($_POST['nkkren']), "cxiuj", "cxiuj", "c^iuj", "kutima");
    entajpbutono("|", "nkkren", valoro($_POST['nkkren']), "nur", "nur", "nur " . organizantoj_nomo);
    entajpbutono("|", "nkkren", valoro($_POST['nkkren']), "sen", "sen", "sen " . organizantoj_nomo . " )");
    //  entajpejo("(Nur por: ", "kiuj", $_POST['kiuj'], "", "", "", ")");
    echo "<br/>";
    entajpbutono("", 'kio', valoro($_POST['kio']), 's', 's', "specialajn noms^ildojn");
    entajpbutono("<br/>", 'kio', valoro($_POST['kio']), "m", 'm', "mang^kuponojn");
    entajpbutono("(", 'tipo', valoro($_POST['tipo']), "N", 'N', 'viande', "kutima");
    entajpbutono("", 'tipo', valoro($_POST['tipo']), "A", 'A', 'vegane');
    entajpbutono("", 'tipo', valoro($_POST['tipo']), "J", 'J', "vegetare)");
    entajpbutono("<br/>", 'kio', valoro($_POST['kio']), "k", 'k', 'konfirmilojn');
    entajpbutono("<br/>", 'kio', valoro($_POST['kio']), "a", 'a', 'akceptofoliojn');
    entajpbutono("</p><p>Por ", 'nombro', valoro($_POST['nombro']), 1, 1, " 1 pag^o", "kutima");
    entajpbutono(" ", 'nombro', valoro($_POST['nombro']), 5, 5, " 5 pag^oj");
    entajpbutono(" ", 'nombro', valoro($_POST['nombro']), 20, 20, " 20 pag^oj");
    entajpbutono(" ", 'nombro', valoro($_POST['nombro']), 999, 999, " c^iuj");
    entajpbutono(" ", 'nombro', valoro($_POST['nombro']), 'speciale', 'speciale', "tiom: ");
    simpla_entajpejo("", 'nombro_speciale', valoro($_POST['nombro_speciale']), 4, "", "(nur por akceptofolioj)");
    simpla_entajpejo(", ekde ", 'ekde', valoro($_POST['ekde']) + valoro($_POST['nombro_speciale'], 0), 4);
    entajpbokso("<p>", 'savu', valoro($_POST['savu'], "N"), "J", "J", "Savu ke vi premis/sendis en la partoprendatumoj");
    entajpbokso("<BR>", 'sen', valoro($_POST['sen']), "s", "s", "malplenaj folioj</p>");
    entajpbutono("<p>", 'kio', valoro($_POST['kio']), "adres", 'adres', "elprintu adresaron ");
    entajpbokso("(", 'bunta', valoro($_POST['bunta']), 'JES', 'JES', "buntan,", "kutima");
    entajpbokso(" ", 'granda', valoro($_POST['granda']), 'JES', 'JES', "grandan (por korekti))");
    entajpbutono("<p>", 'kio', valoro($_POST['kio']), "gepatra_permeso", "gepatra_permeso", "kreu malplenajn gepatrajn permesilojn<br/>");
    /*
    
    $dosiernomo = '../../../phplibraro/tmp/' .traduku_tabelnomon('partoprenantoj') . '.sql.gz';
    if (file_exists($dosiernomo))
    	{
    	  $dato = "de " . date("Y-m-d H:i", filemtime($dosiernomo) .".");
    	}
    else
    	{
    	  $dato = "ne trovebla ($dosiernomo)!";
    	}
    
    entajpbutono ("<p>","kio",$kio, "backup","backup",
    				"Kreu sekurkopion de la datumbazo. (La lasta estas $dato)</p>");
    
    $dosiernomo = '../../../phplibraro/tmp/projekto-'. $tabelnomprefikso . '.sql.gz';
    if (file_exists($dosiernomo))
    	{
    	  $dato = "de " . date("Y-m-d H:i", filemtime($dosiernomo) .".");
    	}
    else
    	{
    	  $dato = "ne trovebla ($dosiernomo)!";
    	}
    
    
    entajpbutono ("<p>","kio",$kio, "backup_is","backup_is",
    				"Kreu sekurkopion de la datumbazo (nur IS). (La lasta estas $dato)</p>");
    
    if (rajtas('teknikumi'))
    	{
    	  entajpbutono("<p>", "kio", $kio, "backup_programo", "backup_programo",
    				   "Kreu sekurkopion de la programo.</p>");
    	}
    */
    send_butono('Faru!');
    echo "</p></form>\n";
}
 * kodigon.
 *
 * Kiam oni entajpis, la retumilo sendas la informojn
 * al index.php, kiu siavice kontrolas la kodvortojn
 * kaj komencas la PHP-sesion.
 */
require_once 'iloj/iloj.php';
session_start();
malfermu_datumaro();
HtmlKapo();
echo "<div style='text-align:center'>";
echo "<P class='granda'>\n";
if (isset($_GET['malgxusta'])) {
    erareldono("Bedau^rinde via kombino de uzantnomo kaj pasvorto ne tau^gas por la datumbazo");
    eoecho("Se vi supozas, ke estu tiel, plendu c^e " . teknika_administranto . " (" . teknika_administranto_retadreso . "). <br />");
}
eoecho("Vi j^us atingis la pag^on por la " . renkontigxo_nomo . "-administrado. \n<BR>\n");
echo "La uzado estas permesata nur al " . organizantoj_nomo . "anoj, do bonvolu identigi vin. (Jen la persona uzantonomo kaj pasvorto.) \n<BR>\n<BR>\n";
echo "<form action='index.php' target='_top' method='POST'>\n";
entajpejo("Via alig^nomo: ", "lakodnomo", valoro($_SESSION["kodnomo"]), 10);
entajpejo("Via kodvorto: ", "lakodvorto", "", 10, "", "", "", "j");
echo "<BR>\n";
entajpbutono("Enkodo: ", "laenkodo", $_SESSION["enkodo"], "utf-8", "utf-8", "unikodo", "");
entajpbutono("", "laenkodo", $_SESSION["enkodo"], "x-metodo", "x-metodo", "x-kodo<BR>", "kutima");
eoecho("Bonvolu elekti la enkodmanieron por a supersignoj. \n<BR>\n");
eoecho("(Se vi povas legi la menuon, elektu unikodo, se mankas leteroj prenu la x-kodon.)\n<BR>\n<BR>\n");
// Elektilo por la renkontigxo
montru_renkontigxoelektilon(DEFAUXLTA_RENKONTIGXO);
send_butono("Preta");
echo "<div>";
HtmlFino();
Htmlkapo();
kontrolu_rajton("teknikumi");
if (valoro($_REQUEST['sendu']) == "kreu") {
    // TODO!: ankaŭ kopiu la tekstojn.
    echo "<pre>";
    var_export($_POST);
    echo "</pre>";
    $ren = new Renkontigxo(0);
    $ren->kopiu();
    $ren->skribu_kreante();
    eoecho("<p>Nun kreig^is nova renkontig^o kun ID '" . $ren->datoj['ID'] . "'</p>");
    $ren->montru();
    HtmlFino();
    return;
} else {
    if (valoro($_REQUEST['sendu']) == 'sxangxu') {
        echo "<pre>";
        var_export($_POST);
        echo "</pre>";
        $_SESSION['renkontigxo']->kopiu();
        $_SESSION['renkontigxo']->skribu();
        $_SESSION['renkontigxo'] = new Renkontigxo($_SESSION['renkontigxo']->datoj['ID']);
        eoecho("<p>Nun s^ang^ig^is renkontig^o.</p><p>");
        ligu("administrado.php", "Reen al la Administrado.");
        echo "</p>";
        HtmlFino();
        return;
    }
}
$renk = $_SESSION['renkontigxo']->datoj;
echo "<!-- \$_SESSION = ";
/**
 * redonas la tradukilo-objekton.
 *
 * Se tia ankoraux ne ekzistas, kreas novan.
 * @return Tradukilo
 */
function &kreuTradukilon()
{
    if (!is_object(valoro($GLOBALS['kutima_tradukilo']))) {
        $GLOBALS['kutima_tradukilo'] =& new Tradukilo();
    }
    return $GLOBALS['kutima_tradukilo'];
}
 /**
  * Montras la partoprenanton kiel HTML-tabelo.
  */
 function montru_aligxinto($sen_bla = FALSE)
 {
     if (!$sen_bla) {
         eoecho("Informado pri partoprenantoj....");
         // TODO: senĥaosigi ...
         rajtligu("partoprenforigo.php?partoprenantoidento=" . $this->datoj['ID'], "estingi", "anzeige", "estingi", 'n');
     }
     echo "<table>\n";
     kampo("ID:", $this->datoj['ID']);
     kampo("nomo:", $this->tuta_nomo() . " (" . $this->datoj['sekso'] . ")");
     //        if ($this->datoj[sxildnomo]!='')
     //          {
     //                kampo("nomo:",$this->datoj[personanomo]." (".$this->datoj[sxildnomo].") ".$this->datoj[nomo]." (".$this->datoj[sekso].")");
     //          }
     //        else
     //          kampo("nomo:",$this->datoj[personanomo]." ".$this->datoj[nomo]." (".$this->datoj[sekso].")");
     if (KAMPOELEKTO_IJK) {
         kampo("adreso", nl2br($this->datoj['adreso']));
     } else {
         if ($this->datoj['adresaldonajxo']) {
             kampo("", $this->datoj['adresaldonajxo']);
         }
         kampo("strato:", $this->datoj['strato']);
     }
     kampo("loko:", $this->datoj['posxtkodo'] . ", " . $this->datoj['urbo']);
     if ($this->datoj['provinco']) {
         kampo("provinco:", $this->datoj['provinco']);
     }
     kampo("lando:", $this->landonomo() . ' (' . $this->landokategorio() . ')');
     if ($this->datoj['sxildlando'] != '') {
         kampo("s^ildlando:", $this->datoj['sxildlando']);
     }
     if (okupigxo_eblas == 'jes') {
         // TODO: kontrolu, kiuj aliaj partoj de la programo dependas
         // de tiu opcio (ekzemple
         // datumbaz-kreilo, aligxilo, p-anto-redaktilo, ktp.)
         // Eble indas tute forigi gxin.
         kampo($this->personapronomo . " " . okupigxtipo($this->datoj['okupigxo']), $this->datoj['okupigxteksto']);
     }
     kampo("naskita:", $this->datoj['naskigxdato']);
     if ($this->datoj['telefono']) {
         kampo("telefono:", $this->datoj['telefono']);
     }
     if ($this->datoj['telefakso']) {
         kampo("telefakso:", $this->datoj['telefakso']);
     }
     if ($this->datoj['retposxto']) {
         kampo("retpos^to:", $this->datoj['retposxto']);
         switch ($this->datoj['retposxta_varbado']) {
             case 'n':
                 kampo("-", "ne volas retpos^tajn informojn");
                 break;
             case 'j':
                 kampo('x', "volas retpos^tajn informojn x-kode");
                 break;
             case 'u':
                 kampo('u', "volas retpos^tajn informojn unikode");
                 break;
         }
     }
     if (valoro($this->datoj['tujmesagxiloj'])) {
         kampo("tujmesag^iloj", $this->datoj['tujmesagxiloj']);
     }
     if ($this->datoj['ueakodo']) {
         kampo("UEA-kodo:", $this->datoj['ueakodo']);
     }
     echo "</table>\n";
 }
                // aliaj ne.      TODO: faru konfigurebla
                $_SESSION["partopreno"]->datoj['kunmangxas'] = $_REQUEST['domotipo'] == 'J' ? 'J' : 'N';
            }
        }
    }
    if ($_SESSION["partopreno"]->datoj['alvenstato'] == '') {
        $_SESSION["partopreno"]->datoj['alvenstato'] = 'v';
    }
    //        if ($_SESSION["partopreno"]->datoj['traktstato']=='')
    //            $_SESSION["partopreno"]->datoj['traktstato']='N';
    if ($_SESSION["partopreno"]->datoj['havasNomsxildon'] == '') {
        $_SESSION["partopreno"]->datoj['havasNomsxildon'] = 'N';
    }
    if ($_SESSION["partopreno"]->datoj['havasMangxkuponon'] == '') {
        $_SESSION["partopreno"]->datoj['havasMangxkuponon'] = 'N';
    }
    if (!KAMPOELEKTO_IJK) {
        if ($_SESSION['partopreno']->datoj['surloka_membrokotizo'] == '') {
            $_SESSION['partopreno']->datoj['surloka_membrokotizo'] = '?';
        }
    }
    if ($_SESSION['partopreno']->datoj['nivelo'] == '') {
        $_SESSION['partopreno']->datoj['nivelo'] = '?';
    }
    $_SESSION["partopreno"]->skribu();
    rekalkulu_agxojn($_SESSION["partopreno"]->datoj['ID']);
    $_SESSION["partopreno"] = new Partopreno($_SESSION["partopreno"]->datoj['ID']);
    $sekvapagxo = valoro($_SESSION["sekvontapagxo"], 'partrezultoj.php');
    //      echo "HTTP-Redirect: ". $sekvapagxo;
    http_redirect($sekvapagxo, null, false, 303);
}
/**
 * zorgas, ke $_SESSION['partopreno'] kaj
 *            $_SESSION['partoprenanto']
 * kongruu al $_REQUEST['partoprenantoidento'] kaj
 *            $_REQUEST['partoprenidento'].
 *
 * @uses sesio_aktualigu_ppanton()
 * @uses sesio_aktualigu_ppenon()
 */
function sesio_aktualigu_laux_get()
{
    if (isset($_REQUEST['partoprenantoidento'])) {
        sesio_aktualigu_ppanton($_REQUEST['partoprenantoidento'], valoro($_REQUEST['partoprenidento']));
    } else {
        if (isset($_REQUEST['partoprenidento'])) {
            sesio_aktualigu_ppenon($_REQUEST['partoprenidento']);
        }
    }
    globaligu_pprenk();
}
    tabelentajpejo("grupo", 'grupo', $konfiguro->datoj['grupo'], 5);
    tabelentajpejo("teksto", 'teksto', $konfiguro->datoj['teksto'], 50);
    tabelentajpejo("rimarko", 'aldona_komento', $konfiguro->datoj['aldona_komento'], 50);
    echo "</table>\n";
    echo "<p>";
    if ($konfiguro->datoj['ID']) {
        butono('sxangxu', "S^ang^u");
        butono("kreu", "Kreu (kun nova ID)");
    } else {
        butono('kreu', "Kreu");
    }
    ligu("renkontigxaj_konfiguroj.php", "Reen al la listo");
    echo "</p>";
}
unset($konfiguro);
switch (valoro($_POST['sendu'], "-")) {
    case 'sxangxu':
        $konfiguro = sxangxu_konfiguron($_POST['ID']);
        break;
    case 'kreu':
        $konfiguro = aldonu_konfiguron();
        break;
}
if (isset($_REQUEST['id'])) {
    $id = $_REQUEST['id'];
    if (is_numeric($id)) {
        $konfiguro = new Renkontigxa_konfiguro($id);
    } else {
        $konfiguro = new Renkontigxa_konfiguro();
        $konfiguro->datoj['renkontigxoID'] = $_SESSION['renkontigxo']->datoj['ID'];
        $konfiguro->datoj['tipo'] = $_GET['tipo'];
if (kalkulu_tagojn($_SESSION["partopreno"]->datoj["aligxdato"], $_SESSION["partopreno"]->datoj["malaligxdato"]) < 0) {
    erareldono("La malalig^dato estas antau^ la alig^dato.");
}
echo "<BR>";
if (rajtas("administri")) {
    entajpejo("<br> 1a konfirmilo sendata:", '1akonfirmilosendata', $_SESSION["partopreno"]->datoj['1akonfirmilosendata'], 11, "", "", " (jaro-monato-tago)");
    entajpejo("<br> 2a konfirmilo sendata:", '2akonfirmilosendata', $_SESSION["partopreno"]->datoj['2akonfirmilosendata'], 11, "", "", " (jaro-monato-tago)");
}
if ($_SESSION["partopreno"]->datoj['ID']) {
    echo "partopreno-ID: " . $_SESSION["partopreno"]->datoj['ID'] . " <BR>\n";
}
echo "<p align=center>\n";
entajpbokso("", "nekontrolup", valoro($_REQUEST['nekontrolup']), "JES", "JES", "Se vi maldeziras datkontroladon pro problemojn, marku c^i tie.<BR>");
echo "<hr/><p><b>Por A- kaj B-Landanoj: </b>\n";
eoecho("Precipe mi konscias, ke mia alig^o validas nur ekde la " . "alveno de mia antau^pago c^e GEJ.</p>");
entajpbokso("", "konsento", valoro($_REQUEST['konsento']), "J", "J", "Mi legis kaj agnoskas la suprajn kondic^ojn.<br/>", "J");
if ($_SESSION["ago"] == "sxangxi") {
    if ($_SESSION['sekvontapagxo']) {
        ligu($_SESSION['sekvontapagxo'], "ne s^ang^u kaj pluen");
    } else {
        ligu("partrezultoj.php?partoprenantoidento=" . $_SESSION["partoprenanto"]->datoj['ID'] . "&partoprenidento=" . $_SESSION["partopreno"]->datoj['ID'], "ne s^ang^u kaj reen");
    }
    tenukasxe("ago", $_SESSION["ago"]);
    //sqlago=forgesu&
    send_butono("S^ang^u!");
} else {
    send_butono("Aligu!");
}
echo "</p>";
echo "</TD><TD width=20%></TD></TR></TABLE>\n";
echo "</form>\n";