/**
 * 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);
}
Example #2
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";
}
 /**
  * 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";
 }
/**
 * Sendas informmesaĝon, se la partoprenanto volas kontribui
 * al iu programpunkto.
 *
 * La mesaĝo estos sendota al la respondeculo pri distra programo.
 * Alikaze (se li ne proponis ion) ni faras nenion.
 *
 * @param Partoprenanto $partoprenanto
 * @param Partopreno    $partopreno
 * @param Renkontigxo   $renkontigxo
 */
function sendu_informmesagxon_pri_programero($partoprenanto, $partopreno, $renkontigxo, $sendanto)
{
    $tipoj = array('tema', 'distra', 'vespera', 'muzika', 'nokta');
    $proponoj = array();
    foreach ($tipoj as $tipo) {
        if ($partopreno->datoj[$tipo]) {
            $proponoj[$tipo] = $partopreno->datoj[$tipo];
        }
    }
    if (count($proponoj) == 0) {
        // neniu propono -> ni faras nenion nun.
        return;
    }
    $mesagxo = kreu_auxtomatan_mesagxon();
    $kodigo = 'x-metodo';
    // Rolf havas problemon pri unikodo, mi kredas.
    $mesagxo->ricevanto_estu($renkontigxo->datoj['distraretadreso'], "Programkunordigantoj");
    $mesagxo->kopion_al($renkontigxo->datoj['temaretadreso']);
    $mesagxo->temo_estu("Programproponoj de " . $partoprenanto->tuta_nomo() . " por " . $renkontigxo->datoj['mallongigo']);
    $teksto = "Saluton karaj Programkunordigantoj," . "\n" . "\nalig^is al IS la partoprenanto " . $partoprenanto->tuta_nomo() . "," . "\nkiu havas la jena" . (count($proponoj) == 1 ? 'n' : 'jn') . " programpropono" . (count($proponoj) == 1 ? 'n' : 'jn') . ":" . "\n";
    foreach ($proponoj as $tipo => $propono) {
        $teksto .= "\n --> Por la " . $tipo . " programo: " . "\n" . $propono . "\n";
    }
    $teksto .= "\n------------" . "\nKiel rimarkoj li donis:" . "\n" . $partopreno->datoj['rimarkoj'] . "\n------------" . "\nJen pliaj detaloj pri " . $partoprenanto->personapronomo . ":" . "\n" . $partoprenanto->gravaj_detaloj_tekste() . "\n" . $partopreno->konfirmilaj_detaloj();
    $mesagxo->auxtomata_teksto_estu($teksto, $kodigo, $sendanto, $renkontigxo);
    $mesagxo->eksendu();
}
 $teksto = transformu_tekston($row['korpo'], array('anto' => $_SESSION['partoprenanto']->datoj, 'eno' => $_SESSION['partopreno']->datoj, 'igxo' => $_SESSION['renkontigxo']->datoj, 'ktp' => array('entajpantonomo' => $_SESSION["kkren"]["entajpantonomo"])));
 echo '<form name="notoj" method="post" action="sendumesagxon.php">';
 eoecho("<p>Kiun mesag^on vi volas sendi al {$alkiu}?</p>");
 if ($_SESSION['partoprenanto']->datoj['retposxta_varbado'] == 'u') {
     $kodigo = "utf-8";
 } else {
     $kodigo = "x-metodo";
 }
 $teksto = eotransformado($teksto, $kodigo);
 $temo = eotransformado($row['subjekto'], $kodigo);
 $alkiu = eotransformado($alkiu, $kodigo);
 // TODO: eble aldonu pliajn retadresojn cxi tie.
 $sendantolisto = array($_SESSION['renkontigxo']->datoj['mallongigo'] . " - Administranto");
 $adresolisto = array($_SESSION['renkontigxo']->datoj['adminretadreso']);
 if ($miaPPID = $_SESSION['kkren']['partoprenanto_id'] and $miaPP = new Partoprenanto($miaPPID)) {
     if (trim($miaPP->tuta_nomo())) {
         $sendantolisto[] = $miaPP->tuta_nomo();
     }
     if ($miaPP->datoj['retposxto']) {
         $adresolisto[] = $miaPP->datoj['retposxto'];
     }
 }
 $linio = eltrovu_laux_id(array("retposxtadreso", "sendanto_nomo"), "entajpantoj", $_SESSION['kkren']['entajpanto']);
 if ($linio['retposxtadreso']) {
     $adresolisto[] = $linio['retposxtadreso'];
 }
 if ($linio['sendanto_nomo']) {
     $sendantolisto[] = $linio['sendanto_nomo'];
 }
 $sendantolisto = array_combine($sendantolisto, $sendantolisto);
 $adresolisto = array_combine($adresolisto, $adresolisto);
kontrolu_rajton("retumi");
HtmlKapo('speciala');
die("Vi ne rajtas uzi tiun dosieron. Se vi ne scias, kial, demandu Pauxlon.");
if ($_POST['sendu'] == 'sendu') {
    $komenco = $_POST['komenco'];
    $nombro = $_POST['nombro'];
    echo "<p>\n";
    $demando = datumbazdemando(array("p.ID" => "antoID", "pn.ID" => "enoID"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("pn.partoprenantoID = p.ID", "p.retposxto <> ''"), "renkontigxoID", array("limit" => "{$komenco}, {$nombro}", "order" => "pn.ID ASC"));
    eoecho("Demando: [<code>" . $demando . "</code>]</p><p>\n");
    eoecho("dato: " . date("Y-m-d H:i:s") . "<br/>\n");
    $rezulto = sql_faru($demando);
    $i = $komenco;
    while ($row = mysql_fetch_array($rezulto, MYSQL_BOTH)) {
        $anto = new Partoprenanto($row['antoID']);
        $eno = new Partopreno($row['enoID']);
        eoecho($i . " " . $anto->tuta_nomo() . "<br/>\n");
        $i++;
        if ($_POST['vere'] == 'jes') {
            sendu_informmesagxon_al_partoprenanto($anto, $eno, $_SESSION['renkontigxo'], "seria sendilo (Pauxlo)");
        }
        flush();
        usleep(200);
    }
    eoecho("Fino.<br/>\n");
    eoecho("dato: " . date("Y-m-d H:i:s") . "</p>\n");
}
eoecho("<h2>Sendado de informmesag^oj</h2>");
echo "<form action='sendu_informmesagxojn.php' method='POST'>\n<table>";
tabelentajpejo("Nombro en unu pas^o:", 'nombro', $_POST['nombro'], 10, "", "", 1);
tabelentajpejo("Komencu c^e:", 'komenco', $i, 10, "", "", 0);
tabel_entajpbutono("", "vere", $_POST['vere'], 'jes', "vere sendu");
die("Vi ne rajtas uzi tiun dosieron. Se vi ne scias, kial, demandu Pauxlon.");
if ($_POST['sendu'] == 'sendu') {
    $komenco = $_POST['komenco'];
    $nombro = $_POST['nombro'];
    $unikodaj = jesne_al_boolean($_POST['unikodaj']);
    echo "<p>\n";
    $sql = datumbazdemando(array("anto.ID" => "partoprenantoID", "eno.ID" => "partoprenoID"), array("partoprenantoj" => "anto", "partoprenoj" => "eno"), array("anto.ID = eno.partoprenantoID"), "renkontigxoID", array("order" => "eno.ID ASC", "limit" => "{$komenco}, {$nombro}"));
    echo "<p>Demando: <code>" . $sql . "</code></p>";
    eoecho("dato: " . date("Y-m-d H:i:s") . "<br/>\n");
    $rezulto = sql_faru($sql);
    $i = $komenco;
    eoecho("<p> sendante " . ($unikodaj ? "unikodajn" : "neunikodajn") . " konfirmilojn.</p><p>");
    while ($linio = mysql_fetch_assoc($rezulto)) {
        $partopreno = new Partopreno($linio['partoprenoID']);
        $partoprenanto = new Partoprenanto($linio['partoprenantoID']);
        eoecho("<br/>" . $i . ": " . $partoprenanto->tuta_nomo() . " (#" . $partoprenanto->datoj['ID'] . "/" . $partopreno->datoj['ID'] . ")\n");
        $i++;
        if ($partopreno->datoj['alvenstato'] != 'v') {
            eoecho($partopreno->alvenstato());
        } else {
            if ($partopreno->datoj['2akonfirmilosendata'] and $partopreno->datoj['2akonfirmilosendata'] != "0000-00-00") {
                eoecho("(jam sendita antau^e)");
            } else {
                if ($partoprenanto->datoj['retposxto']) {
                    if (bezonas_unikodon($partoprenanto, $partopreno) == $unikodaj) {
                        if ($_POST['vere'] == 'jes') {
                            sendu_duan_informilon($partoprenanto, $partopreno, $_SESSION['renkontigxo'], "J");
                        } else {
                            eoecho("(nur elprovo)");
                        }
                        flush();
     $kotizosistemo = new Kotizosistemo($_SESSION['renkontigxo']->datoj['kotizosistemo']);
     $sql = datumbazdemando(array("pn.ID" => "eno", "pt.ID" => "anto"), array("partoprenoj" => "pn", "partoprenantoj" => "pt"), array("pn.partoprenantoID = pt.ID"), "renkontigxoID");
     $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;
/**
 * metas tabelcxelon por lito-uzo de unu partoprenanto.
 *
 * @param array  $rezervinformoj (rezulto de {@link uzata_cxambro})
 * @param int    $nokto         numero de la nokto
 * @param int    $partoprenoID  identigilo de tiu partopreno, por kiu
 *                             ni estas sercxanta liton (aux kiun ni
 *                             rigardas)
 * @param string $grandeco     aux "granda" aux io alia.
 */
function metu_partoprenant_litan_keston($rezervinformoj, $nokto, $partoprenoID, $grandeco)
{
    if ($rezervinformoj['rezervtipo'] == 'd') {
        $klaso = 'disdonita';
    } else {
        if ($rezervinformoj['rezervtipo'] == 'r') {
            $klaso = 'rezervita';
        } else {
            darf_nicht_sein("rezervtipo: '" . $rezervinformoj['rezervtipo'] . "'");
        }
    }
    $diferenco = $rezervinformoj['nokto_gxis'] - $nokto;
    if ($rezervinformoj['ID'] == $partoprenoID) {
        $klaso .= " mialito";
    }
    echo "<td class='" . $klaso . "' colspan='" . ($diferenco + 1) . "'>";
    $loka_partoprenanto = new Partoprenanto($rezervinformoj['partoprenantoID']);
    $loka_partopreno = new Partopreno($rezervinformoj['ID']);
    if ($grandeco == 'granda' or $diferenco > 3) {
        $teksto = $loka_partoprenanto->tuta_nomo() . " (" . $loka_partoprenanto->landonomo() . "/" . $loka_partoprenanto->datoj['sekso'] . "/" . $loka_partopreno->datoj['agxo'] . "/" . $loka_partopreno->datoj['cxambrotipo'] . ")";
        ligu("partrezultoj.php?partoprenidento=" . $rezervinformoj['ID'], $teksto);
        if ($grandeco == 'granda') {
            // ecx pli granda ...
            // ni eluzas, ke nia CSS-klaso samtempe estas
            // la gxusta vorto (:-)
            echo '<br/> (' . $klaso . ')';
            $forgesu_butono = $rezervinformoj['rezervtipo'] == 'r' ? "malrezervu" : "elj^etu";
            $disdonu_butono = "disdonu";
        } else {
            // mezgranda
            $forgesu_butono = "for";
            $disdonu_butono = 'donu';
        }
    } else {
        // malgranda
        ligu("partrezultoj.php?partoprenidento=" . $rezervinformoj['ID'], $rezervinformoj['rezervtipo']);
        $forgesu_butono = 'x';
        $disdonu_butono = 'd';
    }
    echo " ";
    butono($rezervinformoj['litoID'], $forgesu_butono, 'forgesu_liton');
    if ($rezervinformoj['rezervtipo'] == 'r') {
        butono($rezervinformoj['litoID'], $disdonu_butono, 'disdonu_rezervitan_liton');
    }
    echo "</td>";
    return $diferenco;
}