/**
 * 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();
}
 $alkiu = $_SESSION["partoprenanto"]->tuta_nomo();
 $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);
/**
 * Analizas la POST-datumojn kaj el tio kreas
 * Partopreno- kaj partoprenanto-objektojn.
 *
 * (Ne metas ilin en la datumbazon.)
 *
 * @return &array
 *     array({@link Partoprenanto}, {$link Partopreno}, {$link Invitpeto})
 */
function &mangxu_Aligxilajn_datumojn($renkontigxo = null)
{
    $renkontigxo = kreuRenkontigxon($renkontigxo);
    $partoprenanto = new Partoprenanto();
    $partoprenanto->kopiu();
    $partopreno = new Partopreno();
    debug_echo("<!-- kreita partopreno: " . var_export($partopreno, true) . "\n -->");
    $partopreno->kopiu();
    debug_echo("<!-- kopiita partopreno: " . var_export($partopreno, true) . "\n -->");
    if ($partopreno->datoj['de'] == $renkontigxo->datoj['de'] and $partopreno->datoj['gxis'] == $renkontigxo->datoj['gxis']) {
        $partopreno->datoj['partoprentipo'] = "t";
    } else {
        $partopreno->datoj['partoprentipo'] = "p";
    }
    if (mangxotraktado == 'ligita') {
        if ($domotipo[0] == "J") {
            $partopreno->datoj['kunmangxas'] = "J";
        } else {
            $partopreno->datoj['kunmangxas'] = "N";
        }
    } else {
        if (mangxotraktado == 'libera') {
            //// TODO: kiel eblas trakti la mangxomendojn sen meti ilin
            //// jam nun en la datumbazon?
            //
            // traktu_mangxomendojn($partopreno, $_POST['mangxmendo']);
        } else {
            darf_nicht_sein(mangxotraktado);
        }
    }
    $partopreno->datoj['aligxdato'] = date("Y-m-d");
    // 	if($_POST['cxambrotipo'] == 'd') // dulita
    // 	{
    // 		// gea cxambro
    // 		$partopreno->datoj['cxambrotipo'] = 'g';
    // 		$partopreno->datoj['dulita'] = 'J';
    // 	}
    if (KAMPOELEKTO_IJK) {
        if ($_POST['domotipo'] == 'J1') {
            // unulita
            $partopreno->datoj['domotipo'] = 'J';
            $partopreno->datoj['dulita'] = 'U';
        } else {
            if ($_POST['domotipo'] == 'J') {
                // dulita
                $partopreno->datoj['dulita'] = 'J';
            } else {
                // plurlita
                $partopreno->datoj['dulita'] = 'N';
            }
        }
    }
    $partopreno->datoj['renkontigxoID'] = $renkontigxo->datoj["ID"];
    $partopreno->datoj['partoprenantoID'] = $partoprenanto->datoj['ID'];
    $partopreno->datoj['alvenstato'] = 'v';
    //    $partopreno->datoj['traktstato']='N';
    $partopreno->datoj['havasNomsxildon'] = 'N';
    $partopreno->datoj['havasMangxkuponon'] = 'N';
    $partopreno->datoj['KKRen'] = 'n';
    //    $partopreno->datoj['surloka_membrokotizo'] = '?';
    $partopreno->datoj['tejo_membro_kontrolita'] = '?';
    if ($partopreno->datoj['tejo_membro_laudire'][0] != 'j') {
        // TODO: igxos?
        $partopreno->datoj['tejo_membro_laudire'] = 'n';
    }
    if ($_POST['invitletero'] == 'J') {
        $partopreno->mia_invitpeto =& new Invitpeto();
        $partopreno->mia_invitpeto->kopiu();
        //             $partopreno->mia_invitpeto->datoj['ID'] = $partopreno->datoj['ID'];
        $partopreno->mia_invitpeto->datoj['invitletero_sendenda'] = '?';
        $partopreno->mia_invitpeto->datoj['invitletero_sendodato'] = '0000-00-00';
    }
    debug_echo("<!-- fin-kreita partopreno: " . var_export($partopreno, true) . "\n -->");
    return array(&$partoprenanto, &$partopreno, &$partopreno->mia_invitpeto);
}
 switch ($sendu) {
     case "transferuAl":
         $de = $_SESSION["partoprenanto"];
         $al = new Partoprenanto($fonto);
         break;
     case "transferuDe":
         $al = $_SESSION["partoprenanto"];
         $de = new Partoprenanto($fonto);
         break;
     case "transferuDeMenuo":
         $al = $_SESSION["partoprenanto"];
         $de = new Partoprenanto($kune);
         break;
     case "transferuAlMenuo":
         $de = $_SESSION["partoprenanto"];
         $al = new Partoprenanto($kune);
         break;
     default:
         darf_nicht_sein();
 }
 $sql = datumbazdemando(array("ID", "renkontigxoID"), "partoprenoj", "partoprenantoID = '" . $de->datoj["ID"] . "'");
 $result = sql_faru($sql);
 $pprenoj = array();
 eoecho("<h1>Transfero de partoprenoj</h1>");
 eoecho("<p>Vi nun transferos la subajn partoprenojn kaj notojn:");
 echo "<table valign=top border=2>\n";
 echo "<TR><TD valign=top>\n";
 eoecho(" <em>De:</em><br/>");
 $de->montru_aligxinto(true);
 eoecho("</td><td> <em>Al:</em><br/>");
 $al->montru_aligxinto(true);
session_start();
malfermu_datumaro();
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);
 function kreu_akceptofolio($partoprenantoID, $partoprenoID)
 {
     if ($partoprenoID != 0) {
         $partopreno = new Partopreno($partoprenoID);
         $partoprenanto = new Partoprenanto($partoprenantoID);
         $ko = new Kotizo($partopreno, $partoprenanto, $_SESSION["renkontigxo"]);
     }
     $this->pdf->setFontSize(10);
     $this->pdf->text(27, 20, 'Persona nomo:');
     $this->pdf->text(27, 25, 'Familia nomo:');
     if ($partoprenoID != 0) {
         $this->pdf->setFontSize(15);
         if ($partoprenanto->datoj[sxildnomo] != '') {
             $kajo = " (sur noms^ildo: " . $partoprenanto->datoj[sxildnomo] . ")";
         } else {
             $kajo = "";
         }
         $this->pdf->text(53, 20, uni($this->esso($partoprenanto->datoj[personanomo] . $kajo)));
         $this->pdf->text(53, 25, uni($this->esso($partoprenanto->datoj[nomo])));
         $this->pdf->text(105, 20, $partoprenoID);
     }
     $this->pdf->SetFont($this->font, '', 15);
     $this->pdf->setFontSize(12);
     $this->pdf->setY(50);
     $this->pdf->MultiCell(160, 5, uni("1. Bonvolu tralegi c^i tiun folion kaj kontrolu, c^u la datumoj (nomo, adreso, telefonnumero ktp.) g^ustas."), 0, 'L');
     $this->pdf->MultiCell(160, 5, uni("2. Se vi trovas eraron au^ se mankas informoj (ekz. naskig^dato) skribu la g^ustan informon dekstre apud la malg^usta (au^ mankanta)."), 0, 'L');
     $this->pdf->MultiCell(160, 5, uni("3. Notu sur tiu c^i folio, je kioma horo estas noktomezo en via hejmurbo lau^ la c^i-loka tempo."), 0, 'L');
     $this->pdf->MultiCell(160, 5, uni("4. Atendu en la antau^halo g^is ni alvokos vin au^ vian atendnumeron."), 0, 'L');
     $this->pdf->SetFont($this->font . 'D', '', 20);
     $this->pdf->text(85, 40, 'Akcepto-Folio');
     $this->pdf->setFontSize(13);
     $this->pdf->ln(5);
     $this->pdf->write(5, uni('Vi alig^is kiel:'));
     $this->pdf->SetFont($this->font, '', 12);
     /* $this->pdf->text(80,20,"Celo:");
      $this->pdf->setFontSize(30);
      $this->pdf->text(90,20,$partopreno->datoj[traktstato]);*/
     // aufgrund der mengenmäßigen Verteilung nicht benötigt.
     $this->pdf->setFontSize(13);
     $this->pdf->ln(5);
     $X = 50;
     $Y = 6;
     if ($partoprenoID != 0) {
         if ($partoprenanto->datoj[sxildnomo] != '') {
             $kajo = " (" . $partoprenanto->datoj[sxildnomo] . ")";
         }
     } else {
         $kajo = "";
     }
     $this->pdf->cell($X, $Y, uni("Persona Nomo:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($this->esso($partoprenanto->datoj[personanomo] . $kajo)), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Nomo:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($this->esso($partoprenanto->datoj[nomo])), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->SetFont($this->font, '', 13);
     $this->pdf->cell($X, $Y, uni("Adresaldonaj^o:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($partoprenanto->datoj[adresaldonajxo]), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Strato:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($partoprenanto->datoj[strato]), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Pos^tkodo kaj urbo:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($partoprenanto->datoj[posxtkodo] . ', ' . $partoprenanto->datoj[urbo]), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Lando kaj provinco:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         if ($partoprenanto->datoj[sxildlando] != '') {
             $kajo = " (" . $partoprenanto->datoj[sxildlando] . ")";
         } else {
             $kajo = "";
         }
         if ($partoprenanto->datoj[provinco] != '') {
             $kajo2 = " / " . $partoprenanto->datoj[provinco];
         } else {
             $kajo2 = "";
         }
         $this->pdf->cell($X, $Y, uni($partoprenanto->landonomo() . $kajo . $kajo2), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Telefonnumero:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($partoprenanto->datoj[telefono]), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Telefakso:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($partoprenanto->datoj[telefakso]), 0, 0, 'L');
     } else {
         $this->pdf->cell($X, $Y, "", 0, 0, 'L');
     }
     $this->pdf->cell($X, $Y, uni("Partoprentempo:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni(substr($partopreno->datoj[de], 8, 2) . "a g^is " . substr($partopreno->datoj[gxis], 8, 2) . "a"), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Retpos^tadreso:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $i = 23;
         $this->pdf->setFontSize(13);
         $epost = uni($partoprenanto->datoj[retposxto]);
         while ($this->pdf->GetStringWidth($epost) > 60) {
             $i--;
             $this->pdf->setFontSize($i);
         }
         $this->pdf->cell($X, $Y, uni($partoprenanto->datoj[retposxto]), 0, 0, 'L');
     } else {
         $this->pdf->cell($X, $Y, "", 0, 0, 'L');
     }
     $this->pdf->setFontSize(13);
     $this->pdf->cell($X, $Y, uni("Partoprentagoj:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($ko->partoprentagoj), 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Naskig^dato:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($partoprenanto->datoj[naskigxdato]), 0, 0, 'L');
     } else {
         $this->pdf->cell($X, $Y, "", 0, 0, 'L');
     }
     $this->pdf->cell($X, $Y, uni("Memzorganto:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         if ($partopreno->datoj[domotipo] == 'M') {
             $domo = "jes";
             $domotipo = 'memzorgantejo';
         } else {
             $domo = "ne";
             $domotipo = 'junulargastejo';
         }
         $this->pdf->cell($X, $Y, $domo, 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Sekso:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, uni($partoprenanto->sekso), 0, 0, 'L');
     } else {
         $this->pdf->cell($X, $Y, "", 0, 0, 'L');
     }
     $this->pdf->cell($X, $Y, uni("Mang^maniero:"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         if ($partopreno->datoj[vegetare] == 'J') {
             $vegi = "vegetare";
         } else {
             if ($partopreno->datoj[vegetare] == 'A') {
                 $vegi = "vegane";
             } else {
                 if ($partopreno->datoj[vegetare] == 'N') {
                     $vegi = "viande";
                 } else {
                     $vegi = "";
                 }
             }
         }
         $this->pdf->cell($X, $Y, $vegi, 0, 1, 'L');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->ln(3);
     $this->pdf->write(5, uni("Je kioma horo estas noktomezo en via hejmurbo" . " lau^ la c^i-loka tempo?"));
     $this->pdf->ln(10);
     $this->pdf->setFontSize(10);
     $this->pdf->multicell(170, 4.7, uni("Mi konscias, ke fumado estas malpermesata en la tuta" . " junulargastejo.\n" . "Mi promesas ke mi ne fumos en la junulargastejo" . "kaj ankau^ ekstere ne fumos \nproksime al la" . " pordoj kaj fenestroj.\n"));
     $this->pdf->setX(50);
     $this->pdf->write(10, "subskribo:");
     $this->pdf->ln(15);
     $this->pdf->setFontSize(12);
     $X = 40;
     $this->pdf->cell($X, $Y, uni("Kotizo"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, number_format($ko->bazakotizo - $ko->landarabato, 2) . uni(" E^"), 0, 1, 'R');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Rabato"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, number_format($ko->rabato, 2) . uni(" E^"), 0, 1, 'R');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Krompago"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, number_format($ko->krompago, 2) . uni(" E^"), 0, 1, 'R');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->ln(4);
     $this->pdf->cell($X, $Y, uni("Pagenda kotizo"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, number_format($ko->kotizo, 2) . uni(" E^"), 0, 1, 'R');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Antau^pago"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, number_format($ko->antauxpago, 2) . uni(" E^"), 0, 0, 'R');
         $this->pdf->cell(30, $Y, uni("alvenis je la:"), 0, 0, 'R');
         $this->pdf->cell(30, $Y, $ko->antauxpagdato, 0, 1, 'R');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->cell($X, $Y, uni("Membrokotizo"), 0, 0, 'R');
     // TODO: Überlegen, was tun
     // $this->pdf->cell($X,$Y,number_format(0.00,2)." EUR",0,1,'R');
     $this->pdf->ln(10);
     $this->pdf->cell($X, $Y, uni("Pagenda"), 0, 0, 'R');
     if ($partoprenoID != 0) {
         $this->pdf->cell($X, $Y, number_format($ko->pagenda, 2) . uni(" E^"), 0, 1, 'R');
     } else {
         $this->pdf->ln();
     }
     $this->pdf->rect(160, 15, 30, 15);
     $this->pdf->rect(20, 265, 30, 15);
     $this->pdf->rect(90, 265, 30, 15);
     $this->pdf->rect(160, 265, 30, 15);
     $this->pdf->setFontSize(8);
     $this->pdf->text(31, 268, "pagis");
     $this->pdf->text(97, 268, "enkomputiligita");
     $this->pdf->text(170, 268, uni("C^ambro"));
     $this->pdf->text(168, 18, "Atendnumero");
     $this->pdf->SetLineWidth(0.6);
     // linio antaux "vi aligxis kiel:"
     $this->pdf->line(20, 87, 190, 87);
     // linioj antaux kaj post "kiam noktomezo":
     $this->pdf->line(20, 163, 190, 163);
     $this->pdf->line(20, 170, 190, 170);
     // linio por la subskribo
     $this->pdf->line(70, 197, 140, 197);
     // linio antaux "Pagenda kotizo"
     $this->pdf->line(30, 223, 100, 223);
     // linio antaux "Pagenda"
     $this->pdf->line(30, 244, 100, 244);
     if (0 == $partoprenantoID) {
         echo " faris malplenan akzeptfolion<br/>\n";
     }
 }
session_start();
malfermu_datumaro();
kontrolu_rajton("retumi");
HtmlKapo('speciala');
die("Vi ne rajtas uzi tiun dosieron. Se vi ne scias, kial, demandu Paŭlon.");
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 <> ''", "pn.alvenstato" => 'a'), "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_assoc($rezulto)) {
        $anto = new Partoprenanto($row['antoID']);
        $eno = new Partopreno($row['enoID']);
        eoecho($i . " " . $anto->tuta_nomo() . "<br/>\n");
        $i++;
        sendu_adresaro_demandon($anto, $eno, $_SESSION['renkontigxo'], "seria sendilo (" . $kkren['entajpantonomo'] . ")", $_POST['vere'] == "jes");
        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='" . $_SERVER['PHP_SELF'] . "' 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");
kontrolu_rajton("retumi");
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)");
                        }
}
depend_malsxargxi_kaj_korekti($invitletero, $pasportnumero);
depend_malsxargxi_kaj_korekti($kunekun, $kunkiu);
depend_malsxargxi_kaj_korekti($vesperabokso, $vespera);
depend_malsxargxi_kaj_korekti($distrabokso, $distra);
depend_malsxargxi_kaj_korekti($temabokso, $tema);
depend_malsxargxi_kaj_korekti($muzikabokso, $muzika);
// // eble ( ne, ne sencas - foje homoj ne scias sian UEA-kodon)
// depend_malsxargxi_kaj_korekti($tejo_membro_laudire, $ueakodo);
//HTMLsekurigi($rabatkialo);
if ($parto == "korektigi") {
    require "publik.php";
} else {
    protokolu();
    //Enmeti la datumojn en la datumaro
    $partoprenanto = new Partoprenanto();
    $partoprenanto->kreu();
    $partoprenanto->kopiu();
    //	  echo "<!-- partoprenanto: \n";
    //	  var_export($partoprenanto->datoj);
    //	  echo "-->\n";
    $partopreno = new Partopreno();
    $partopreno->kreu();
    $partopreno->kopiu();
    //	  echo "<!-- partopreno: \n";
    //	  var_export($partopreno->datoj);
    //	  echo "-->\n";
    //$partopreno->montru();
    if ($partoprentipo[0] == "t") {
        $partopreno->datoj[de] = $renkontigxo->datoj[de];
        $partopreno->datoj[gxis] = $renkontigxo->datoj[gxis];
session_start();
malfermu_datumaro();
kontrolu_rajton("retumi");
HtmlKapo('speciala');
die("Vi ne rajtas uzi tiun dosieron. Se vi ne scias, kial, demandu Paŭlon.");
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 <> ''", "p.alvenstato" => 'v'), "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_assoc($rezulto)) {
        $anto = new Partoprenanto($row['antoID']);
        $eno = new Partopreno($row['enoID']);
        eoecho($i . " " . $anto->tuta_nomo() . "<br/>\n");
        $i++;
        sendu_lastan_informmesagxon_al_partoprenanto($anto, $eno, $_SESSION['renkontigxo'], "seria sendilo (" . $kkren['entajpantonomo'] . ")", $_POST['vere'] == "jes");
        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='" . $_SERVER['PHP_SELF'] . "' 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");
     $sql = datumbazdemando(array("SUM(kvanto)" => "kvantsumo", "kauzo", "renkontigxoID", "r.partoprenoID", "pn.ID"), array("rabatoj" => "r", "partoprenoj" => "pn"), "r.partoprenoID = pn.ID", "renkontigxoID", array("group" => "kauzo"));
     sercxu($sql, array("kauzo", "asc"), array(array('kauzo', 'kau^zo', 'XXXXX', 'l', '', ''), array('kvantsumo', 'kvanto', 'XXXXX', 'l', '', '')), array(array(array('# XX', 'A', 'z'), array('&sum; XX', 'N', 'z'))), "rabatoj-laux-kauxzo", 0, 0, "Sumoj lau^ la unuopaj rabatkau^zoj", '');
 } else {
     if ($elekto == "rimarkoj") {
         // "select pp.ID,pp.partoprenantoID,pt.ID,pp.rimarkoj,nomo,personanomo from partoprenoj as pp, partoprenantoj as pt where pp.partoprenantoID=pt.ID and pp.rimarkoj!='' and renkontigxoID='".$_SESSION["renkontigxo"]->datoj[ID]."'",
         $sql = datumbazdemando(array("pp.ID", "pp.partoprenantoID", "pt.ID", "pp.rimarkoj", "nomo", "personanomo"), array("partoprenoj" => "pp", "partoprenantoj" => "pt"), array("pp.partoprenantoID = pt.ID", "pp.rimarkoj != ''"), "renkontigxoID");
         sercxu($sql, array("personanomo", "asc"), array(array('1', '', '->', 'z', '"partrezultoj.php?partoprenantoidento=XXXXX"', '1'), array('personanomo', 'personanomo', 'XXXXX', 'l', '', ''), array('nomo', 'nomo', 'XXXXX', 'l', '', '-1'), array('3', 'rimarkoj', 'XXXXX', 'l', '', '')), 0, "rimarko-listo", 0, 0, "C^iuj rimarkoj de la partoprenantoj.", 'rimarkintoj');
     } else {
         if ("kotizokomparo" == $elekto) {
             $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();
 * @package aligilo
 * @subpackage aligxilo
 * @author Paul Ebermann
 * @version $Id$
 * @copyright 2006-2008 Paul Ebermann.
 *       Uzebla laŭ kondiĉoj de GNU Ĝenerala Publika Permesilo (GNU GPL)
 */
/**
 */
// define('DEBUG', true);
$skripto = "<script type='text/javascript' src='kotizokalkulo2.js'></script>";
simpla_aliĝilo_komenco(4, CH('aligxilo#titolo'), null, $skripto);
require_once $prafix . '/iloj/iloj.php';
$renkontigxo = new Renkontigxo(DEFAUXLTA_RENKONTIGXO);
$kotizosistemo = $renkontigxo->donu_kotizosistemon();
$partoprenanto = new Partoprenanto();
$partopreno = new Partopreno();
// legu la formular-datojn:
$partoprenanto->kopiu();
$partopreno->kopiu();
function parse_JMTdato_al_tagoj($teksto)
{
    $timestamp = strtotime($teksto);
    // al tagoj
    return $timestamp / (60 * 60 * 24);
}
$tagoj_ren = parse_JMTdato_al_tagoj($renkontigxo->datoj['de']);
$tagoj_nask = parse_JMTdato_al_tagoj($partoprenanto->datoj['naskigxdato']);
$partopreno->datoj['agxo'] = floor(($tagoj_ren - $tagoj_nask) / 365.25);
$partopreno->datoj['alvenstato'] = 'v';
$kotizobj_surloke = new Kotizokalkulilo($partoprenanto, $partopreno, $renkontigxo, $kotizosistemo);
/**
 * 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;
}