/**
  * formatas la nomon de tiu regulo.
  *
  * depende tio, cxu la uzanto havas la rajton 'teknikumi',
  * ni metas ligon por redakti tiun objekton, aux simple nur
  * la nomon.
  * @return eostring
  */
 function formatu_nomon()
 {
     if (rajtas("teknikumi")) {
         return donu_ligon("regulo.php?tipo=" . $this->tipo . "&id=" . $this->datoj['ID'], $this->datoj['nomo']);
     } else {
         return $this->datoj['nomo'];
     }
 }
/**
 * Montras por unu deziro A->B la detalojn
 * de A kaj B, kaj la statuson.
 */
function montru_kunlogxdezirdetalojn($deziro)
{
    $dezirant_eno = new Partopreno($deziro->datoj['partoprenoID']);
    $deziranto = new Partoprenanto($dezirant_eno->datoj['partoprenantoID']);
    $dezirat_eno = new Partopreno($deziro->datoj['kunKiuID']);
    $dezirato = new Partoprenanto($dezirat_eno->datoj['partoprenantoID']);
    eoecho("<h2>Kunlog^deziraj detaloj</h2>");
    eoecho("<table>\n" . "<tr><th /><th>deziranto</th><th>dezirato</th></tr>\n");
    kampoj("ID", array(donu_ligon("partrezultoj.php?partoprenidento=" . $dezirant_eno->datoj['ID'], $dezirant_eno->datoj['ID']), donu_ligon("partrezultoj.php?partoprenidento=" . $dezirat_eno->datoj['ID'], $dezirat_eno->datoj['ID'])));
    kampoj("nomo", array($deziranto->tuta_nomo(), $dezirato->tuta_nomo()));
    kampoj("domotipo", array($dezirant_eno->domotipo(), $dezirat_eno->domotipo()));
    kampoj("ag^o", array($dezirant_eno->datoj['agxo'], $dezirat_eno->datoj['agxo']));
    // testas, cxu seksoj kaj deziritaj cxambrotipoj harmonias.
    if ($deziranto->sekso != $dezirato->sekso and $dezirant_eno->datoj['cxambrotipo'] == 'u' and $dezirat_eno->datoj['cxambrotipo'] == 'u') {
        kampoj("sekso", array($deziranto->sekso => "averto", $dezirato->sekso => "averto"));
        kampoj("c^ambrotipo:", array($dezirant_eno->cxambrotipo() => "averto", $dezirat_eno->cxambrotipo() => "averto"));
    } else {
        if ($deziranto->sekso != $dezirato->sekso and $dezirant_eno->datoj['cxambrotipo'] == 'u') {
            kampoj("sekso", array($deziranto->sekso, $dezirato->sekso => "averto"));
            kampoj("c^ambrotipo:", array($dezirant_eno->cxambrotipo() => "averto", $dezirat_eno->cxambrotipo()));
        } else {
            if ($deziranto->sekso != $dezirato->sekso and $dezirat_eno->datoj['cxambrotipo'] == 'u') {
                kampoj("sekso", array($deziranto->sekso => "averto", $dezirato->sekso));
                kampoj("c^ambrotipo:", array($dezirant_eno->cxambrotipo(), $dezirat_eno->cxambrotipo() => "averto"));
            } else {
                kampoj("sekso", array($deziranto->sekso, $dezirato->sekso));
                kampoj("c^ambrotipo:", array($dezirant_eno->cxambrotipo(), $dezirat_eno->cxambrotipo()));
            }
        }
    }
    // se unu volas dulitan cxambron, tiam la alia ankaux volu.
    if ($dezirant_eno->datoj['dulita'] != $dezirat_eno->datoj['dulita']) {
        kampoj("dulita", array(jes_ne($dezirant_eno->datoj['dulita']) => "averto", jes_ne($dezirat_eno->datoj['dulita']) => "averto"));
    } else {
        kampoj("dulita c^.?", array(jes_ne($dezirant_eno->datoj['dulita']), jes_ne($dezirat_eno->datoj['dulita'])));
    }
    eoecho("</table>\n");
    $sql = datumbazdemando(array("ID"), "kunlogxdeziroj", array("partoprenoID = '" . $deziro->datoj['kunKiuID'] . "'", "kunKiuID = '" . $deziro->datoj['partoprenoID'] . "'"));
    $rez = sql_faru($sql);
    if ($linio = mysql_fetch_assoc($rez)) {
        $alia_deziro = new Kunlogxdeziro($linio['ID']);
        eoecho("<p>Estas ankau^ ");
        ligu("kunlogxado.php?kunlogxID=" . $linio['ID'], "kunlog^deziro en la inversa direkto");
        eoecho(", kies stato nun estas <em>" . $alia_deziro->stato() . "</em>");
    } else {
        eoecho("<p>Sed " . $dezirato->tuta_nomo() . " ne indikis, ke " . $dezirato->personapronomo . " volas log^i kun " . $deziranto->tuta_nomo() . ".</p>\n");
    }
    eoecho("<p>Aktuala stato de la kunlog^deziro: <em>" . $deziro->stato() . "</em>.</p>\n");
    echo "<form action='kunlogxado.php' method='POST'>\n";
    tenukasxe("kunlogxID", $deziro->datoj['ID']);
    butono("forvisxhu", "Forvis^u", "ago");
    butono("ne_eblas", "Ne eblas", "ago");
    butono("eblas", "Eblas", "ago");
    echo "</form>\n";
    eoecho("<p>C^iuj kunlog^deziroj de " . $deziranto->tuta_nomo() . ":</p>");
    montru_kunlogxdezirojn($dezirant_eno);
}
function listu_kondicxojn()
{
    echo "<p>";
    ligu('kondicxo.php', "Nova kondic^o");
    echo "</p>\n";
    eoecho("<table class='kondicxotabelo'>\n" . "<tr><th>ID</th><th>nomo</th><th>priskribo</th></tr>\n");
    $kondlisto = listu_cxiujn_kondicxojn();
    foreach ($kondlisto as $kondicxo) {
        eoecho("<tr><td>" . $kondicxo->datoj['ID'] . "</td><td>" . donu_ligon("kondicxo.php?id=" . $kondicxo->datoj['ID'], $kondicxo->datoj['nomo']) . "</td><td>" . $kondicxo->datoj['priskribo'] . "</td></tr>\n");
    }
    echo "</table>";
}
/**
 * metas liston kun ligoj al alilingvaj versioj de la pagxo.
 * @param array $lingvoj listo de lingvoj.
 */
function aliĝilo_metu_simplan_lingvoliston($lingvoj)
{
    if ($lingvoj) {
        echo "  <ul id='lingvolisto-simpla'>\n";
        if (count($lingvoj) < 2) {
            echo "      <li><!-- dummy--></li>\n";
        }
        foreach ($lingvoj as $li) {
            if ($li == $GLOBALS['lingvo']) {
                //			echo "<li> " . $GLOBALS['lingvonomoj'][$li] . " </li>\n";
            } else {
                echo "      <li>" . donu_ligon($GLOBALS['pagxo_prefikso'] . $li . "/" . $GLOBALS['pagxo'], $GLOBALS['lingvonomoj'][$li]) . "</li>\n";
            }
        }
        echo "</ul>\n";
    }
}
Beispiel #5
0
/**
 * Montras formularon por krei/ŝanĝi noton.
 *
 * @param Partoprenanto $partoprenanto la Partoprenanto, al kiu rilatas
 *                                     la noto.
 * @param Noto          $noto          la noto-objekto ŝanĝenda.
 */
function montru_notoformularon($partoprenanto, $noto)
{
    if ($noto->datoj['ID']) {
        eoecho("<h2>S^ang^o de noto</h2>\n");
    } else {
        eoecho("<h2>Nova noto</h2>\n");
    }
    echo "<form method='post' action='notoj.php'>\n";
    echo "<table>\n";
    tabela_kasxilo("Noto-ID", 'ID', $noto->datoj['ID']);
    tabela_kasxilo("Ppanto-ID", 'partoprenantoID', $partoprenanto->datoj['ID'], $partoprenanto->tuta_nomo() . " (" . donu_ligon("partrezultoj.php?partoprenantoidento=" . $partoprenanto->datoj['ID'], "#" . $partoprenanto->datoj['ID']) . ")");
    tabel_entajpbutono("Tipo", 'tipo', $noto->datoj['tipo'], 'telefon', "telefona kontakto", '', true);
    tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'persone', "persona kontakto", '', true);
    tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'letere', "letera kontakto", '', true);
    tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'rete', "ret(pos^t)a kontakto", '', true);
    tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'rimarko', "alia rimarko", '', true);
    tabelentajpejo("dato/tempo", 'dato', $noto->datoj['dato'], 20);
    tabelentajpejo("noto de ...", 'kiu', $noto->datoj['kiu'], 45);
    tabelentajpejo("pri komunikado kun ...", 'kunKiu', $noto->datoj['kunKiu'], 45);
    eoecho("<tr><th>noto por:</th><td>");
    $entajpantoj = $noto->listu_entajpantojn();
    foreach ($entajpantoj as $id => $inf) {
        echo "<span style='display: inline-block;'>";
        jes_ne_bokso('noto_por[' . $id . ']', $inf[1]);
        eoecho($inf[0] . "</span>\n  ");
    }
    eoecho("</td></tr>");
    tabelentajpejo("temo", 'subjekto', $noto->datoj['subjekto'], 45);
    granda_tabelentajpejo("teksto", 'enhavo', $noto->datoj['enhavo'], 57, 20);
    tabela_elektilo("prilaborita", 'prilaborata', array("j" => 'jes', '' => 'ne'), $noto->datoj['prilaborata'], " (se ne, remontru je ...");
    tabelentajpejo("", 'revidu', $noto->datoj['revidu'], 20, ")");
    echo "</table>\n<p>";
    if ($noto->datoj['ID']) {
        butono("notu", "S^ang^u la noton!");
    } else {
        butono("notu", "Nova noto!");
    }
    ligu("sercxrezultoj.php?elekto=notojn&partoprenantoidento=" . $partoprenanto->datoj['ID'], "C^iuj notoj de " . $partoprenanto->tuta_nomo());
    ligu("partrezultoj.php?partoprenantoidento=" . $partoprenanto->datoj['ID'], "Partoprenanto-detaloj");
    echo "</p>\n</form>\n";
}
function montru_reguloformularon($regulo)
{
    if ($regulo->datoj['ID']) {
        eoecho("<h1>Redakto de " . $regulo->regulovorto . " <em>" . $regulo->datoj['nomo'] . "</em></h1>");
    } else {
        eoecho("<h1>Kreado de nova " . $regulo->regulovorto . "</h1>");
    }
    echo "<form action='regulo.php?tipo=" . $regulo->tipo . "' method='POST'>\n";
    echo "<table>\n";
    tabela_kasxilo("ID", "ID", $regulo->datoj['ID']);
    tabelentajpejo("nomo", "nomo", $regulo->datoj['nomo'], 20);
    tabelentajpejo("Mallongigo", "mallongigo", $regulo->datoj['mallongigo'], 10);
    granda_tabelentajpejo("Priskribo", "priskribo", $regulo->datoj['priskribo'], 40, 4);
    tabela_kondicxoelektilo("Elektu c^i tie la g^ustan kondic^on por tiu " . "krompagotipo. (Se vi bezonas aliajn, aldonu per " . donu_ligon("kondicxo.php", "la kondic^oredaktilo") . ".)", $regulo->datoj['kondicxo']);
    tabela_elektilo("uzebla", "uzebla", array('j' => 'jes', 'n' => 'ne'), $regulo->datoj['uzebla'], "C^u montri en la g^enerala listo?");
    tabela_elektilo("lau^nokte", 'lauxnokte', array('j' => 'lau^ nokto', 'n' => 'nur unufoje'), $regulo->datoj['lauxnokte'], "C^u lau^nokta krompago, c^u unufoja?");
    echo "</table>\n<p>";
    if ($regulo->datoj['ID']) {
        butono('sxangxu', "S^ang^u");
    } else {
        butono('kreu', "Kreu");
    }
    echo "</p>\n</form>";
}
 /**
  * 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";
 }
/**
 * Metos HTML-ligilon.
 *
 * @param urlstring $kien la URI de la paĝo (povas esti relativa).
 * @param eostring $nomo la teksto de la ligilo (en eo-kodigo)
 * @param   string $celo (nenecesa) se en alia ol la defaŭlta
 *          kadro, donu ties nomon.
 * @param string|array  $aldona_skripto aldonaj atributoj por
 *                    la '&lt;a>'-Elemento.
 * @uses donu_ligon()
 */
function ligu($kien, $nomo, $celo = "", $aldona_skripto = "")
{
    echo ' &nbsp;' . donu_ligon($kien, $nomo, $celo, $aldona_skripto);
}
/**
 * Kreas unu tabellinion.
 * @param array $datoj unu datumbaz-respondo-linio.
 */
function metu_tejomembro_tabellinion($datoj)
{
    echo "  <tr>\n";
    $id = $datoj['ID'];
    $antoID = $datoj['partoprenantoID'];
    echo "<td>" . donu_ligon("partrezultoj.php?partoprenidento=" . $id, $id) . "</td><td>";
    if ($GLOBALS['rajtas_sxangxi']) {
        tenukasxe('malnovaUEAkodo[' . $antoID . ']', $datoj['ueakodo']);
        simpla_entajpejo("", 'novaUEAkodo[' . $antoID . ']', $datoj['ueakodo'], 7);
    } else {
        echo $datoj['ueakodo'];
    }
    eoecho("</td><td>" . $datoj['personanomo'] . "</td><td>" . $datoj['nomo'] . "</td><td>" . $datoj['urbo'] . "</td><td>" . $datoj['landonomo'] . "</td><td>");
    // TODO: formatado diversa, alikaze nur jes_ne(...).
    if (jesne_al_boolean($datoj['tejo_membro_laudire'])) {
        echo "jes";
    } else {
        echo "ne";
    }
    echo "</td><td>";
    if ($GLOBALS['rajtas_sxangxi']) {
        tenukasxe("malnovaKontrolita[" . $id . "]", $datoj['tejo_membro_kontrolita']);
        simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], 'j');
        eoecho("<abbr title='estas membro'>jes</abbr>");
        echo "</td><td>";
        simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], '?');
        eoecho("<abbr title='ne kontrolita'>?</abbr>");
        echo "</td><td>";
        simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], 'n');
        eoecho("<abbr title='ne estas membro'>ne</abbr>");
        echo "</td><td>";
        simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], 'i');
        eoecho("<abbr title='ig^as surloke (nur metu tion dum akceptado!'>ig^as</abbr>");
    } else {
        switch ($datoj['tejo_membro_kontrolita']) {
            case 'j':
                echo "jam antau^e";
                break;
            case 'n':
                echo "ne membras";
                break;
            case 'i':
                echo "ig^as surloke";
                break;
            case '?':
                echo "ne kontrolita";
                break;
        }
    }
    echo "</td>\n";
    echo "  </tr>\n";
}
                    eoecho("<p>Finita.</p>");
                    ligu("partrezultoj.php?partoprenantoidento=" . $ppeno->datoj['partoprenantoID'], "Reen");
                    HtmlFino();
                    exit;
                }
            }
        }
        break;
    default:
        // faru nenion.
}
sesio_aktualigu_laux_get();
$panto = $_SESSION['partoprenanto'];
$panto->montru_aligxinto("sen bla");
eoecho("<p>Kion vi volas forigi?</p>");
echo "<form action='partoprenforigo.php?panto=" . $panto->datoj['ID'] . "' method='POST'>\n";
entajpbutono("<ul>\n<li>", 'kion', "", "partoprenanto", "partoprenanto", "La partoprenanton #" . $panto->datoj['ID'] . " (" . $panto->tuta_nomo() . ") kun c^iuj " . $panto->personapronomo . "aj partoprenoj kaj la sekvaj notoj:");
listu_notojn($panto->datoj['ID']);
echo "</li>\n";
$sql = datumbazdemando(array("pp.ID" => "enoID", "r.ID" => "rID", "r.mallongigo", "pp.de", "pp.gxis"), array("partoprenoj" => "pp", "renkontigxo" => "r"), array("pp.renkontigxoID = r.ID", "pp.partoprenantoID = '" . $panto->datoj['ID'] . "'"), "", array("order" => "pp.ID"));
$rez = sql_faru($sql);
while ($linio = mysql_fetch_assoc($rez)) {
    entajpbutono("<li>", 'kion', "", $linio['enoID'], $linio['enoID'], "La partoprenon " . donu_ligon("partrezultoj.php?partoprenidento=" . $linio['enoID'], "#" . $linio['enoID'] . " en " . $linio['mallongigo']) . " (" . $linio['de'] . "&mdash;" . $linio['gxis'] . ") </li>\n");
}
entajpbutono("<li>", 'kion', "", "nenion", "nenion", "Mi nenion volas forigi nun.</li>\n</ul>\n", "kutima");
eoecho("<p>Atentu, ne eblos restarigi iam forigitajn datumojn!</p>\n<p>");
butono('forigu', "Forigu!");
// TODO: eble uzu $_SESSION['sekvontapagxo'] ?
ligu("partrezultoj.php?partoprenantoidento=" . $anto->datoj['ID'], "Reen");
echo "</p>\n</form>\n";
HtmlFino();
    eoecho(" farita.</p>");
}
function formatu_litonokton($linio)
{
    return "c^. " . $linio['cxambronomo'] . "/" . $linio['nokto_de'] . "&ndash;" . $linio['nokto_gxis'] . "/" . $linio['rezervtipo'];
}
eoecho("<h2>Inters^ang^o de la c^ambroj de du partoprenantoj</h2>");
echo "<form action='cxambro_sxangxo.php' method='post'>";
echo "<table>";
$sql = datumbazdemando(array('nokto_de', 'nokto_gxis', 'rezervtipo', 'cx.nomo' => 'cxambronomo'), array('litonoktoj', 'cxambroj' => 'cx'), array("cxambro = cx.id"), array('partopreno'), array('order' => 'nokto_de, nokto_gxis'));
$rez = sql_faru($sql);
$mialisto = array();
while ($linio = mysql_fetch_assoc($rez)) {
    $mialisto[] = formatu_litonokton($linio);
}
tabela_kasxilo("Unua partopreno:", 'ppID', $_SESSION['partopreno']->datoj['ID'], donu_ligon("partrezultoj.php?partoprenidento=" . $_SESSION['partopreno']->datoj['ID'], "#" . $_SESSION['partopreno']->datoj['ID']) . " (" . $_SESSION['partoprenanto']->tuta_nomo() . ", " . implode(", ", $mialisto) . ") ");
$cxam_sql = datumbazdemando(array("pn.ID" => 'partoprenoID', "p.nomo", "personanomo", "nokto_de", "nokto_gxis", "rezervtipo", 'cx.nomo' => 'cxambronomo'), array("litonoktoj" => "l", "partoprenoj" => "pn", "partoprenantoj" => "p", 'cxambroj' => 'cx'), array("l.partopreno = pn.ID", "pn.partoprenantoID = p.ID", "l.cxambro = cx.ID"), "renkontigxoID", array("order" => "personanomo, nomo"));
$rez = sql_faru($cxam_sql);
$templisto = array();
while ($linio = mysql_fetch_assoc($rez)) {
    // ni devas uzi iun prefikson por la sxlosiloj
    // por ke tabela_elektilo ne pensu, ke ili estas
    // nur simplaj array-indeksoj (= forjxetendaj).
    $sx = '#' . $linio['partoprenoID'];
    if (isset($templisto[$sx])) {
        $templisto[$sx]['cxambroj'][] = formatu_litonokton($linio);
    } else {
        $templisto[$sx] = array('bazaj' => $sx . " &ndash; " . $linio['personanomo'] . " " . $linio['nomo'], 'cxambroj' => array(formatu_litonokton($linio)));
    }
}
$listo = array();
 function formatu_personkostotipon($tipo)
 {
     return donu_ligon("personkostotipo.php?id=" . $tipo->datoj['ID'], $tipo->datoj['nomo']);
 }
     $rez = sql_faru($sql);
     HtmlKapo();
     eoecho("<table>\n" . "<tr><th>p-enoID</th><th>nomo</th><th>nova kotizo</th>" . "<th>malnova kotizo</th><th>diferenco</th></tr>\n");
     while ($linio = mysql_fetch_assoc($rez)) {
         $pprenanto = new Partoprenanto($linio['anto']);
         $ppreno = new Partopreno($linio['eno']);
         // malnova kotizosistemo
         $kot = new Kotizo($ppreno, $pprenanto, $_SESSION['renkontigxo']);
         // nova kotizosistemo
         $kotkal = new Kotizokalkulilo($pprenanto, $ppreno, $_SESSION['renkontigxo'], $kotizosistemo);
         $malnova = $kot->restas_pagenda();
         $nova = $kotkal->restas_pagenda();
         if (abs($nova - $malnova) < 1) {
             echo "<!-- " . $pprenanto->tuta_nomo() . "(" . $nova . "/" . $malnova . ") -->";
         } else {
             eoecho("<tr><td>" . donu_ligon("partrezultoj.php?partoprenidento=" . $ppreno->datoj['ID'], $ppreno->datoj['ID']) . "</td><td>" . $pprenanto->tuta_nomo() . "</td><td>" . $nova . "</td><td>" . $malnova . "</td><td>" . ($nova - $malnova) . "</td></tr>");
         }
     }
     echo "</table>";
     HtmlFino();
 } else {
     if ("lasta_sercxo" == $elekto) {
         // nova varianto de memligo (por la nova sercxilo-objekto)
         $sercxilo = $_SESSION['lasta_sercxo'][$_REQUEST['id']];
         if ($_REQUEST['ordigo']) {
             $sercxilo->metu_ordigon($_REQUEST['ordigo'], $_REQUEST['direkto']);
         }
         $sercxilo->montru_rezulton_en_tipo($_REQUEST['tipo']);
         exit;
     } else {
         if ("memligo" == $elekto) {
/**
 * kreas listeron (<li>) pri tiu paŝo por la paŝo-navigilo.
 *
 * @param array $pasxo_dato  array() kun informoj pri unu paŝo, kiel kreita
 *  de necesaj_kaj_eblaj_pasxoj.
 *    'id' => identifigilo
 *    'nomo' => nomo
 *    'ebla' => ĉu eblas atingi tiun paŝon nun
 *    'necesa' => ĉu necesas trairi tiun paŝon
 *    'aktuala' => ĉu tiu estas la aktuala paŝo
 *    'sekva'   => ĉu tiu estas la sekva paŝo
 *    'onta'    => ĉu tiu estas unu el la ontaj paŝoj
 */
function formatu_pasxon($pasxo_datoj)
{
    if (DEBUG) {
        echo "<!-- pasxo-datoj: " . var_export($pasxo_datoj, true) . "-->";
    }
    extract($pasxo_datoj);
    if ($ebla) {
        $ligoteksto = donu_ligon("akceptado-" . $id . ".php", $nomo);
    } else {
        $ligoteksto = eotransform($nomo);
    }
    if ($aktuala) {
        $stilo = 'aktuala';
    } else {
        if ($onta) {
            $stilo = 'onta';
        } else {
            $stilo = 'inta';
        }
    }
    if (!$necesa) {
        $ligoteksto = "(" . $ligoteksto . ")";
    }
    return "<li class='akceptado-pasxo-" . $stilo . "'>" . $ligoteksto . "</li>";
}