Example #1
0
			<a href="index.php" class="button">« back</a><br /><br />
			<table id="data" cellpading=0 cellspacing=0>
				<tr><th>Category</th><td><?php 
echo $glifo['categoria'];
?>
</td></tr>
				<tr><th>Subcategory</th><td><?php 
echo $glifo['subcategoria'];
?>
</td></tr>
				<tr><th>Name</th><td><?php 
echo $glifo['nombre'];
?>
</td></tr>
				<tr><th>Character</th><td><?php 
echo uni($glifo['char']);
?>
</td></tr>
				<tr><th>Unicode</th><td><?php 
echo $glifo['char'];
?>
</td></tr>

				<tr><th colspan="2">Description</th></tr>
				<tr><td colspan="2"><?php 
echo $glifo['descripcion'];
?>
</td></tr>
			</table>

 function kreu_mangxkuponon($x, $y, $partoprenantoID, $partoprenoID, $savu, $vego)
 {
     $partopreno = new Partopreno($partoprenoID);
     $partoprenanto = new Partoprenanto($partoprenantoID);
     $this->pdf->setFontSize(15);
     $this->pdf->SetLineWidth(0.6);
     for ($i = 0; $i <= 6; $i++) {
         $this->pdf->rect($x + $i * 10, $y, 10, 24);
         $this->pdf->rect($x + $i * 10, $y + 94, 10, 24);
         $this->pdf->rect($x + 70, $y + 24 + $i * 10, 24, 10);
     }
     $this->pdf->rect($x, $y, 94, 118);
     $this->pdf->SetLineWidth(0.2);
     $this->pdf->rect($x, $y + 40, 53, 38);
     $this->pdf->text($x + 18, $y + 31, uni("Matenmang^o"));
     // TODO: eble prenu la germanajn nomojn el
     // TODO:  datumbazo aŭ konfigurdosiero
     $this->pdf->text($x + 22, $y + 38, "Frühstück");
     $this->pdf->text($x + 18, $y + 84, uni("Vespermang^o"));
     $this->pdf->text($x + 22, $y + 91, uni("Abendessen"));
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/tagmangxo.png", $x + 56, $y + 48, 6);
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/mittagessen.png", $x + 62, $y + 45, 6);
     // TODO: ne uzu bildojn, sed rekte generu la tekston
     //  (kaj ne de 27.12. ĝis 3.1., sed laŭ la renkontiĝo-datoj)
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/27.png", $x + 2, $y + 98, 5);
     for ($i = 28; $i <= 31; $i++) {
         $this->pdf->image($GLOBALS['prafix'] . "/bildoj/{$i}.png", $x + 12 + ($i - 28) * 10, $y + 98, 5);
         $this->pdf->image($GLOBALS['prafix'] . "/bildoj/{$i}.png", $x + 2 + ($i - 28) * 10, $y + 4, 5);
         $this->pdf->text($x + 74, $y + 32 + ($i - 28) * 10, "{$i}.12");
     }
     for ($i = 01; $i <= 02; $i++) {
         $this->pdf->image($GLOBALS['prafix'] . "/bildoj/{$i}.png", $x + 12 + ($i + 3) * 10, $y + 98, 5);
         $this->pdf->image($GLOBALS['prafix'] . "/bildoj/{$i}.png", $x + 2 + ($i + 3) * 10, $y + 4, 5);
         $this->pdf->text($x + 74, $y + 32 + ($i + 3) * 10, "0{$i}.01.");
     }
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/3.png", $x + 62, $y + 4, 5);
     $this->pdf->text($x + 74, $y + 32 + (3 + 3) * 10, "03.01.");
     $this->pdf->setFontSize(20);
     $i = 20;
     if ($partoprenanto->datoj['sxildnomo'] != '') {
         $nomo = uni($partoprenanto->datoj['sxildnomo']);
     } else {
         $nomo = uni($partoprenanto->datoj['personanomo']);
     }
     while ($this->pdf->GetStringWidth($nomo) > 47) {
         $i--;
         $this->pdf->setFontSize($i);
     }
     $this->pdf->text($x + 5, $y + 47, $nomo);
     while ($this->pdf->GetStringWidth($partoprenanto->datoj['nomo']) > 46) {
         $i--;
         $this->pdf->setFontSize($i);
     }
     $this->pdf->text($x + 5, $y + 56, uni($partoprenanto->datoj['nomo']));
     $this->pdf->SetFontSize(15);
     $this->pdf->line($x + 5, $y + 48, $x + 50, $y + 48);
     $this->pdf->line($x + 5, $y + 57, $x + 50, $y + 57);
     $this->pdf->setFontSize(16);
     if ($partopreno->datoj['vegetare'] == 'J' or $vego == 'J') {
         $this->pdf->text($x + 10, $y + 66, uni("Vegetarano"));
         $this->pdf->text($x + 14, $y + 73, uni("Vegetarier"));
     } else {
         if ($partopreno->datoj['vegetare'] == 'A' or $vego == 'A') {
             $this->pdf->text($x + 10, $y + 66, uni("Vegano"));
             $this->pdf->text($x + 14, $y + 73, uni("Veganer"));
         } else {
             $this->pdf->text($x + 10, $y + 66, uni("Viandmang^anto"));
             $this->pdf->text($x + 14, $y + 73, uni("Fleischesser"));
         }
     }
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/eo-echt.png", $x + 72, $y + 8, 20, 12);
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/eo-echt.png", $x + 72, $y + 100, 20, 12);
     if ($partopreno->datoj[partoprentipo] != 't' and $partoprenoID != '0') {
         $dauro = $_SESSION["renkontigxo"]->renkontigxonoktoj();
         $tagoj = $partopreno->partoprennoktoj();
         $ekas = kalkulu_tagojn($_SESSION["renkontigxo"]->datoj['de'], $partopreno->datoj['de']);
         for ($i = 0; $i < $ekas; $i++) {
             $this->pdf->SetLineWidth(0.4);
             //matenmanĝo
             $this->pdf->line($x + $i * 10, $y, $x + 10 + $i * 10, $y + 24);
             $this->pdf->line($x + 10 + $i * 10, $y, $x + 1 + $i * 10, $y + 24);
             //vespermanĝo
             $this->pdf->line($x + $i * 10, $y + 94, $x + 10 + $i * 10, $y + 24 + 94);
             $this->pdf->line($x + 10 + $i * 10, $y + 94, $x + 1 + $i * 10, $y + 24 + 94);
             //tagmanĝo
             $this->pdf->line($x + 70, $y + 24 + $i * 10, $x + 94, $y + 34 + $i * 10);
             $this->pdf->line($x + 94, $y + 24 + $i * 10, $x + 70, $y + 34 + $i * 10);
         }
         //la dekstra parto
         for ($i = $tagoj + $ekas; $i < $dauro; $i++) {
             $this->pdf->SetLineWidth(0.4);
             //matenmanĝo
             $this->pdf->line($x + $i * 10, $y, $x + 10 + $i * 10, $y + 24);
             $this->pdf->line($x + 10 + $i * 10, $y, $x + 1 + $i * 10, $y + 24);
             //vespermanĝo
             $this->pdf->line($x + $i * 10, $y + 94, $x + 10 + $i * 10, $y + 24 + 94);
             $this->pdf->line($x + 10 + $i * 10, $y + 94, $x + 1 + $i * 10, $y + 24 + 94);
             //tagmanĝo
             $this->pdf->line($x + 70, $y + 24 + $i * 10, $x + 94, $y + 34 + $i * 10);
             $this->pdf->line($x + 94, $y + 24 + $i * 10, $x + 70, $y + 34 + $i * 10);
         }
     }
     $this->pdf->setFontSize(13);
     $this->pdf->setXY($x + 71, $y + 2);
     $loko = $this->renkontigxo->datoj['loko'];
     // stranga hakaĵo: se la nomo de la loko estas tro longa
     // kaj finiĝas per "burg", enmetu "- ", por ebligi linirompadon.
     $lokolen = strlen($loko);
     if ($lokolen > 7 and substr($loko, $lokolen - 4) == 'burg') {
         $loko = substr($loko, 0, $lokolen - 4) . "- " . substr($loko, $lokolen - 4);
     }
     $this->pdf->multicell(22, 4, uni($this->renkontigxo->datoj['mallongigo'] . ' en ' . $loko), '', 'C');
     $this->pdf->setFontSize(9);
     $this->pdf->setXY($x + 71, $y + 15);
     $this->pdf->multicell(22, 4, uni($this->renkontigxo->datoj['de'] . " g^is\n" . $this->renkontigxo->datoj['gxis']), '', 'C');
     $this->pdf->setXY($x + 72, $y + 96);
     // TODO: prenu el konfiguro
     $this->pdf->multicell(20, 4, uni("Germana\n\nEsperanto-\n\nJunularo"), '', 'C');
     // TODO: text wirklich hochkant drucken (anstatt Bild)
     /*$pdf->text(10,20,uni("Tagmang^o"));
       $pdf->text(10,200,uni("Mittagessen"));
       $pdf->text(10,40,"27.12.");
         $pdf->text(10,60,"28.12.");
           $pdf->text(10,80,"29.12.");
             $pdf->text(10,100,"30.12.");
               $pdf->text(10,120,"31.12.");
                 $pdf->text(10,140,"01.01.");
                   $pdf->text(10,160,"02.01.");
                     $pdf->text(10,180,"03.01.");*/
     if ($savu == "J") {
         $partopreno->datoj['havasMangxkuponon'] = 'P';
         $partopreno->skribu();
     }
 }
 /**
  * transformas la tekston laŭ lingvo kaj kodigo
  * al la taŭga rezulto.
  *
  * $tekstoj
  *    aŭ ĉeno, aŭ array() de la formo:
  *      'eo' => ...,
  *      'de' => ...
  *       ...
  *
  * 'eo' estas la defaŭlta lingvo uzata, kiam la elektita
  * lingvo mankas.
  *
  * La tekstoj estu kodita en UTF-8, eble kun esperantaj
  * signoj koditaj per c^-maniero.
  *
  * La funkcio redonas la tekston en ĝusta kodigo por PDF-eldono.
  */
 function kodigu($teksto)
 {
     // TODO!: elprovu, ĉu tiel funkcias en ĉiuj kazoj.
     // ĝi laboras iom alie ol la varianto en kreu_konfirmilon.php.
     if ($this->unikode) {
         return uni($this->lauxlingve($teksto));
     } else {
         return eo($this->lauxlingve($teksto));
     }
 }
echo "<BR><BR>";
$rezulto = sql_faru($demando);
$koloro = 0;
while ($row = mysql_fetch_array($rezulto, MYSQL_BOTH)) {
    eoecho($row[personanomo] . " " . $row[2] . "<BR>");
    if ($bunta == "JES") {
        switch ($koloro % 4) {
            case 0:
                $pdf->SetTextColor(200, 0, 0);
                break;
            case 1:
                $pdf->SetTextColor(0, 0, 255);
                break;
            case 2:
                $pdf->SetTextColor(0, 150, 0);
                break;
            default:
                $pdf->SetTextColor(0, 0, 0);
                break;
        }
        $koloro++;
    }
    $pdf->write($linlargxo, uni($row[personanomo] . " " . $row[2] . "; " . $row[adresaldonajxo] . " " . $row[strato] . "; " . $row[posxtkodo] . "; " . $row[urbo] . "; " . $row[4] . "; " . $row[telefono] . "; " . $row[telefakso] . "; " . $row[retposxto]));
    $pdf->ln($interlinspaco);
    fputs($fp, utf8_decode("'" . $row[personanomo] . "';'" . $row[2] . "';'" . $row[adresaldonajxo] . "';'" . $row[strato] . "';'" . $row[posxtkodo] . "';'" . $row[urbo] . "';'" . $row[4] . "';'" . $row[telefono] . "';'" . $row[telefakso] . "';'" . $row[retposxto]) . "'\n");
}
$pdf->Output("dosieroj_generitaj/adresaro.pdf");
fclose($fp);
echo "<BR><BR>";
hazard_ligu("dosieroj_generitaj/adresaro.pdf", "els^uti la adresaron (PDF).", "_top", "jes");
hazard_ligu("dosieroj_generitaj/adresaro.csv", "els^uti la adresaron (CSV).", "_top", "jes");
 function metu_titolon($teksto)
 {
     $this->pdf->ln(2);
     $teksto = uni($teksto);
     $titollarĝeco = $this->pdf->GetStringWidth($teksto);
     $y = $this->pdf->getY() + 2;
     $this->pdf->setLineWidth(0.6);
     $this->pdf->line(20, $y, 190, $y);
     $this->pdf->setLineWidth(0.2);
     $this->pdf->Cell(5);
     $this->pdf->Cell($titollarĝeco + 3, 6, $teksto, 1, 1, 'C', 1);
     $this->pdf->ln(2);
 }
 function kreu_nomsxildon_interne($x, $y, $personanomo, $familianomo, $landonomo, $agxo, $de, $gxis)
 {
     $this->pdf->SetLineWidth(0.1);
     $this->pdf->rect($x, $y, 90, 55);
     // cxirkauxa kadro
     // $this->pdf->rect($x,$y,35,10); // kadro cxirkaux "Esperanto"
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/infanojBuntaj-2.png", $x + 1.4, $y + 1.6, 15, 10);
     $this->pdf->setFontSize(15);
     $this->pdf->text($x + 18, $y + 9, "ESPERANTO");
     if ((int) $agxo < 18) {
         $plena = "malplena-is";
     } else {
         $plena = "nur-nigra";
     }
     /* $this->pdf->image("bildoj/x-${plena}.png", $x+67.6, $y+3.25, 8,9);*/
     // TODO: bildo-nomo konfigurebla aux el datumbazo
     $this->pdf->image($GLOBALS['prafix'] . "/bildoj/is-enblemo-skizo-luisa-5-granda-{$plena}.png", $x + 60, $y + 3, 20, 12);
     //	 $this->pdf->setFont($this->alternativo, 'B', 15);
     //	 $this->pdf->text($x+40, $y+13, "IS");
     //	 $this->pdf->text($x+42, $y+13, "S");
     //	 $this->pdf->text($x+51, $y+13, "06");
     //	 $this->pdf->text($x+54, $y+13, "6");
     //	 $this->pdf->setFont('', 'B', 17);
     //	 $this->pdf->text($x+62, $y+10, "IS");
     //	 $this->pdf->text($x+76, $y+10, "06");
     // 	 $this->pdf->setFontSize(30);
     // 	 $this->pdf->text($x+43, $y+10, "X");
     $this->pdf->setFont('');
     $this->pdf->setXY($x + 2.8, $y + 27.6);
     $pers_grandeco = $this->malgrandigu(uni($personanomo . " "), 41.5, 39);
     $fam_grandeco = $this->malgrandigu(uni($familianomo), 37.4, 39);
     if ($pers_grandeco >= $fam_grandeco) {
         $this->pdf->setFontSize($pers_grandeco);
         $this->pdf->cell(41.5, 0, uni($personanomo . " "), 0, 0, 'R');
         $this->pdf->setFontSize($fam_grandeco);
         $this->pdf->cell(37.3, 0, uni($familianomo), 0, 2, 'L');
     } else {
         $this->malgrandigu(uni($personanomo . " " . $familianomo), 41.5 + 37.4, 39);
         $this->pdf->cell(41.5 + 37.4, 0, uni($personanomo . " " . $familianomo), 0, 0, 'L');
     }
     $this->pdf->setXY($x + 6.9, $y + 35.7);
     //	 $this->pdf->setFontSize(13);
     $this->malgrandigu(uni($landonomo), 48.35, 14);
     $this->pdf->cell(48, 6, uni($landonomo), 0, 0, 'C');
     if ($de != 0) {
         $ek = date("d", strtotime($de));
         $fin = date("d", strtotime($gxis));
         $degxis = $ek . "a — " . $fin . "a";
     } else {
         $degxis = "";
     }
     $this->pdf->setFontSize(8);
     $this->pdf->cell(34.6, 7, uni($degxis), 0, 1, 'R');
     $this->pdf->setX($x + 6.9);
     //	 $this->pdf->rect($x, $y+45.5, 65, 12);
     $this->pdf->setFontSize(12);
     $ren = $_SESSION['renkontigxo'];
     // TODO: la finteksto povas ankaux veni al la
     // datumbazo (kaj "DEJ" / "Germanio" estas iom stulta ĉi tie ...)
     $this->pdf->multiCell(76.2, 5.1, uni($ren->datoj['nomo'] . " de GEJ \n" . "en " . $ren->datoj['loko'] . ", Germanio"), 0, "C");
 }
Example #7
0
?>
	</style>
</head>

<body class="signos">

	<div class="header">
		<h1>GreekGuide</h1>
		<p>Huerta Tipográfica</p>
	</div>

	<div class="menu">
		<?php 
foreach ($signo as $glifo) {
    if ($glifo['char'] != 'None') {
        echo '<a href="glyph.php?nombre=' . $glifo['nombre'] . '" title="' . $glifo['nombre'] . '"><span class="char">' . uni($glifo['char']) . '</span><span class="nombre">' . $glifo['nombre'] . '</span></a>' . "\n";
        #echo $glifo['nombre'];
    }
}
?>
		<div class="thumbs"></div>
	</div>

	<div class="header footer">
		<p><a href="http://greekguide.huertatipografica.com">GreekGuide</a> Vesion 0.1 |  From <a href="http://www.huertatipografica.com/">Huerta Tipográfica</a> | <a href="https://github.com/huertatipografica/greekguide">Contribute on Github</a></p>
		<p>Feel free to modify or contribute to this software</p>
		<h2>Help</h2>
		<p>Put your devanagari fonts in «fonts» folder</p>
		<p>Using glyphs info from <?php 
echo $script;
?>
 /**
  * kreas nomŝildon el la menciitaj informoj.
  * @param eostring $cxefnomo
  * @param eostring $malcxefnomo
  * @param eostring $landonomo
  * @param datostring $de
  * @param datostring $gxis
  */
 function kreu_nomsxildon_interne($cxefnomo, $malcxefnomo, $landonomo, $de, $gxis)
 {
     $x = $this->x;
     $y = $this->y;
     $pdf =& $this->pdf;
     $ĉefnomo = uni($cxefnomo);
     $malĉefnomo = uni($malcxefnomo);
     $ŝildlando = uni($landonomo);
     $nomo_larĝeco = 49.57;
     $lando_larĝeco = 30.5;
     $pdf->image($this->fonbildo, $x, $y, 85, 55);
     $pdf->SetLineWidth(0.1);
     if ($this->kadro) {
         $pdf->rect($x, $y, 85, 55);
     }
     // cxirkauxa kadro
     $pdf->setFont('', 'B');
     $ĉef_grandeco = $this->malgrandigu($ĉefnomo, $nomo_larĝeco, 20);
     $pdf->setFont('', '');
     $malĉef_grandeco = $this->malgrandigu($malĉefnomo, $nomo_larĝeco, 9);
     if ($ĉef_grandeco < $malĉef_grandeco) {
         $malĉef_grandeco = $ĉefgrandeco;
     }
     $pdf->setFont('', 'B', $ĉef_grandeco);
     $pdf->setXY($x + 33.0, $y + 13.69);
     $pdf->cell($nomo_larĝeco, 9.52, $ĉefnomo, 0, 0, 'R');
     $pdf->setFont('', '', $malĉef_grandeco);
     $pdf->setXY($x + 33.0, $y + 23.5);
     $pdf->Cell($nomo_larĝeco, 4.51, $malĉefnomo, 0, 0, 'R');
     $pdf->setFont('', '');
     $this->malgrandigu($ŝildlando, $lando_larĝeco, 12);
     $pdf->setXY($x + 53.0, $y + 32.0);
     $pdf->Cell($lando_larĝeco, 6.0, $ŝildlando, 0, 0, 'R');
     return;
 }
 /**
  * aldonas keston kun la adreso al la dokumento.
  * @param array $linio
  */
 function aldonu_adreson($linio)
 {
     if ($linio['plena']) {
         $bla = $linio['personanomo'] . " (" . $linio['sxildnomo'] . ") " . $linio['fnomo'];
         if ($linio['sxildnomo']) {
             $adresteksto = $linio['personanomo'] . " (" . $linio['sxildnomo'] . ") " . $linio['fnomo'];
         } else {
             $adresteksto = $linio['personanomo'] . " " . $linio['fnomo'];
         }
         // TODO: (iam) formatu la adreson laŭ la lando.
         $adresteksto .= "\n" . $linio['adreso'] . "\n" . $linio['posxtkodo'] . "\n" . $linio['urbo'] . "\n";
         if ($linio['sxildlando']) {
             $adresteksto .= "»" . $linio['sxildlando'] . "« (" . $linio['landonomo'] . ")";
         } else {
             $adresteksto .= $linio['landonomo'];
         }
         $adresteksto .= "\n";
         if ($linio['retposxto']) {
             $adresteksto .= "\n" . $linio['retposxto'];
         }
         if ($linio['telefono']) {
             $adresteksto .= "\n" . $linio['telefono'];
         }
         if ($linio['tujmesagxiloj']) {
             $adresteksto .= "\n" . $linio['tujmesagxiloj'];
         }
     } else {
         $bla = $linio['sxildnomo'] . " :=> " . $linio['personanomo'] . " " . $linio['fnomo'];
         $adresteksto = $linio['sxildnomo'] . " ⇒ " . $linio['personanomo'] . " " . $linio['fnomo'];
     }
     $numlin = substr_count($adresteksto, "\n");
     $this->certiguSpacon($numlin);
     $this->pdf->MultiCell($this->kol_largxeco, $this->linialteco, uni($adresteksto), $numlin ? '1' : '0', 'L', 0, 1);
     // provizore, por testi la reston.
     echo $bla . "<br/>\n";
     //	$this->pdf->write($linlargxo, uni($bla));
     $this->pdf->ln($this->spaco_inter_kestoj);
 }
 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";
     }
 }
 /**
  * transformas tekston aux al UTF-8 aux al la speciala
  * Latina-1-varianto uzata de ni, depende de $this->unikode.
  *
  * @param eostring $teksto - la teskto estu en UTF-8 kun c^-kodigo.
  * @param u8string|lat1pdfstring
  */
 function trans_eo($teksto)
 {
     if ($this->unikode) {
         return uni($teksto);
     } else {
         return eo($teksto);
     }
 }
 /**
  * kreas unupagxan permesilon subskribindaj de la gepatroj.
  * $partoprenanto - la partoprenantoobjekto. Se donita, gxi
  *				  estos uzita por eltrovi la sekson de la
  *                  partoprenanto (por uzi li aux sxi ktp.)
  *                  kaj la nomon (por enmeti gxin en tauxga
  *                  loko).
  * $renkontigxo  - la renkontigxo-objekto. Gxi estos uzata
  *                 por eltrovi kaj enmeti la gxustan daton.
  * $defVira      - se ne enestas partoprenanto, tiu estas
  *                 uzata por eltrovi cxu vira (se estas true)
  *                 aux ina (false aux forlasita) formo estas
  *                 uzenda.
  */
 function kreu_permesilon($partoprenanto, $renkontigxo, $defVira = "")
 {
     if ($partoprenanto) {
         $vira = $partoprenanto->datoj['sekso'][0] == 'v';
     } else {
         $vira = $defVira;
     }
     $this->pdf->AddPage();
     $this->pdf->SetY(30);
     $this->pdf->SetFont($this->font, '', 30);
     $this->pdf->cell(160, 10, "Gepatra permeso por via IS partopreno", 0, 1, C);
     $this->pdf->SetFont($this->font, '', 14);
     $this->pdf->cell(160, 10, uni("(Nur por partoprenantoj, kiuj ankorau^ ne havas 18 jarojn je " . $renkontigxo->datoj['de'] . ")"), 0, 1, C);
     $this->pdf->SetY(55);
     $this->pdf->write(5, "Nomo de la partoprenanto:  ");
     $this->pdf->cell(100, 5, uni($partoprenanto->datoj['personanomo'] . " " . $partoprenanto->datoj['nomo']), "B", 1, 'C');
     //   $this->pdf->line(76,60,180,60);
     $this->pdf->write(5, uni("\nSe vi je la komencig^o de la IS ankorau^ ne havas 18 jarojn, bonvolu nepre kunporti la suban permesilon de viaj gepatroj:\n\n"));
     $this->pdf->SetFont($this->font . "D");
     $this->pdf->write(5, uni("Mi permesas al mia " . ($vira ? "filo" : "filino") . " vojag^i al la Internacia Seminario kaj partopreni g^in. Krome " . ($vira ? "li" : "s^i") . " rajtas sen gardpersono partopreni la ekskursojn (inklusive la nag^vesperon)."));
     $this->pdf->SetFont($this->font);
     $this->pdf->line(20, 109, 140, 109);
     $this->pdf->SetY(110);
     $this->pdf->cell(80, 5, "(dato kaj subskribo de la gepatroj)", 0, 1, C);
     $this->pdf->SetY(130);
     $this->pdf->SetFont($this->font, '', 8);
     $this->pdf->cell(160, 5, uni("Bonvolu uzi au^ la esperantlingvan, au^ la germanlingvan version / Benutze bitte entweder die deutsch-, oder die esperantosprachige Version."), 0, 1, C);
     $this->pdf->SetY(160);
     $this->pdf->SetFont($this->font, '', 30);
     $this->pdf->cell(160, 10, utf8_encode("Einverständniserklärung der Eltern"), 0, 1, C);
     $this->pdf->SetFont($this->font, '', 14);
     $this->pdf->cell(160, 10, utf8_encode("(Nur für Teilnehmer, die am " . $renkontigxo->datoj['de'] . " noch nicht 18 Jahre alt sind.)"), 0, 1, C);
     $this->pdf->SetY(140 + 55);
     $this->pdf->write(5, "Name des Teilnehmers:  ");
     $this->pdf->cell(100, 5, uni($partoprenanto->datoj['personanomo'] . " " . $partoprenanto->datoj['nomo']), "B", 1, 'C');
     $this->pdf->write(5, "\nWenn du zu Beginn des IS noch keine 18 Jahre alt bist, bring bitte auf jeden Fall die untenstehende Erlaubnis von deinen Eltern mit:\n\n");
     $this->pdf->SetFont($this->font . "D");
     if ($vira) {
         $this->pdf->write(5, "Ich erlaube meinem Sohn zur Internationalen Woche zu reisen und daran teilzunehmen. Weiterhin darf er ohne Aufsichtsperson an den Ausflügen (inklusive des Schwimmabends) teilnehmen.");
     } else {
         $this->pdf->write(5, utf8_encode("Ich erlaube meiner Tochter zur Internationalen Woche zu reisen und daran teilzunehmen. Weiterhin darf sie ohne Aufsichtsperson an den Ausflügen (inklusive des Schwimmabends) teilnehmen."));
     }
     $this->pdf->SetFont($this->font);
     //   $this->pdf->write(5,"Ich erlaube meinem Sohn / meiner Tochter zum Internationalen Seminar zu reisen und daran teilzunehmen. Weiterhin darf er / sie ohne Aufsichtsperson an den Ausfluegen (inklusive des Schwimmabends) teilnehmen."));
     $this->pdf->line(20, 140 + 109, 140, 109 + 140);
     $this->pdf->SetY(110 + 140);
     $this->pdf->cell(80, 5, "(Datum und Unterschrift der Eltern)", 0, 1, C);
 }
function aligilo_aligxinto_listo($renkontigxoID, $lingvo, $ordigo)
{
    $prafix = $GLOBALS['prafix'] = get_option("aligilo-prafix");
    require_once $GLOBALS['prafix'] . "/iloj/iloj.php";
    malfermu_datumaro();
    $sql_listo = datumbazdemando(array("COUNT(pn.ID)" => "nombro"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "pn.alvenstato = 'v'", "pn.listo = 'J'", "pn.renkontigxoID ='{$renkontigxoID}'"));
    $rez_listo = sql_faru($sql_listo);
    $linio = mysql_fetch_assoc($rez_listo);
    $nombro_listo = $linio['nombro'];
    $sql_listo = datumbazdemando(array("COUNT(pn.ID)" => "nombro"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "pn.alvenstato = 'v'", "pn.renkontigxoID ='{$renkontigxoID}'"));
    $rez_listo = sql_faru($sql_listo);
    $linio = mysql_fetch_assoc($rez_listo);
    $nombro_chiuj = $linio['nombro'];
    $sql_landoj = datumbazdemando(array("COUNT(distinct p.lando)" => "nombro"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "pn.alvenstato = 'v'", "pn.renkontigxoID ='{$renkontigxoID}'"));
    echo "<!-- {$sql_landoj} -->";
    $rez_listo = sql_faru($sql_landoj);
    $linio = mysql_fetch_assoc($rez_listo);
    $nombro_landoj = $linio['nombro'];
    $sql = datumbazdemando(array("IF(p.sxildnomo<> '', p.sxildnomo, p.personanomo)" => 'persona', "p.nomo" => 'fam', "p.urbo" => 'urbo', "p.sxildlando" => 'sxildo', "l.nomo" => 'lando_eo', "l.lokanomo" => 'lando_de'), array("partoprenantoj" => "p", "partoprenoj" => "pn", "landoj" => "l"), array("p.ID = pn.partoprenantoID", "alvenstato <> 'm'", "p.lando = l.ID", "pn.listo = 'J'", "pn.renkontigxoID ='{$renkontigxoID}'"), "", array("order" => "p.personanomo ASC, p.nomo ASC"));
    $tabelo = "<tbody>";
    $rez = sql_faru($sql);
    while ($linio = mysql_fetch_array($rez)) {
        $tabelo .= "<tr>\n";
        $tabelo .= "  <td  style='text-align: right; padding-right:0.3em;'>";
        $tabelo .= uni($linio['persona']);
        $tabelo .= "</td>\n<td>";
        /*         if ($linio['fam']{1} == '^')
                     {
                         $fam = substr($linio['fam'], 0,2);
                     }
                 else
                     {
                         $fam = mb_substr($linio['fam'], 0, 1, "utf-8");
                     }
                 */
        $fam = $linio['fam'];
        $tabelo .= uni($fam);
        $tabelo .= "</td>\n  <td>";
        if ($linio['sxildo']) {
            $tabelo .= uni($linio['sxildo']);
        } else {
            if ($lingvo == 'de') {
                $tabelo .= uni($linio['lando_de']);
            } else {
                $tabelo .= uni($linio['lando_eo']);
            }
        }
        $tabelo .= "</td>\n  <td>";
        $tabelo .= uni($linio['urbo']);
        $tabelo .= "</td>\n</tr>\n";
    }
    $tabelo .= "</tbody>\n";
    return compact("tabelo", "nombro_landoj", "nombro_listo", "nombro_chiuj");
}
 /**
  * La cxefa funkcio por krei la PDF-dosieron.
  */
 function kreu_pdf($dosiernomo)
 {
     $this->pdf->Open();
     $this->pdf->AddPage();
     $this->pdf->SetFont('', 'B', 20);
     $this->pdf->ln(15);
     $this->pdf->Write(8, uni("Finkalkulo de kotizoj: " . $_SESSION["renkontigxo"]->datoj[nomo] . " en " . $_SESSION["renkontigxo"]->datoj[loko]));
     $this->pdf->Ln(10);
     $this->pdf->SetFontSize(12);
     $this->pdf->Write(10, "Dato: " . date('Y-m-d') . "\n");
     $this->klarigoj();
     $rezulto = sql_faru(datumbazdemando(array("p.ID" => 'antoid', "pn.ID" => 'enoid'), array("partoprenantoj" => "p", "partoprenoj" => "pn"), "p.ID = pn.partoprenantoID", "renkontigxoID", array("order" => "alvenstato, personanomo, nomo")));
     $this->kaplinio();
     while ($row = mysql_fetch_assoc($rezulto)) {
         $partoprenanto = new Partoprenanto($row['antoid']);
         $partopreno = new Partopreno($row['enoid']);
         $this->tabellinio($partoprenanto, $partopreno);
         if ($this->pdf->getY() > 180) {
             $this->pagxsumo();
             $this->kaplinio();
             $this->pdf->AddPage();
             $this->pdf->ln(15);
             $this->kaplinio();
         }
     }
     $this->pagxsumo();
     $this->fina_sumo();
     $this->kaplinio();
     $this->pdf->Output($dosiernomo);
     hazard_ligu($dosiernomo, "els^uti la kalkul-rezulton.");
 }
/**
 * Kreas adresaron en PDFa formo, kaj paralele en CSVa formo.
 * La dosieroj estos metataj en 'dosieroj_generitaj', kaj ni fine
 * montros ligon al tiuj. Dum la kreado montras liston de nomoj
 * prilaborataj.
 * 
 * @param string $granda se <samp>"JES"</samp>, la adresaro estos farita
 *           en pli granda versio por korektlegi.
 * @param string $bunta se <samp>"JES"</samp>, la linioj de la adresaroj
 *                sxangxos inter kvar koloroj - tiel estas pli facile distingi
 *                la unuopajn adresojn, se kelkaj estas plurliniaj.
 */
function kreu_adresaron($granda, $bunta)
{
    echo "<p>\n";
    $fp = fopen($GLOBALS['prafix'] . "/dosieroj_generitaj/adresaro.csv", "w");
    //por la .csv versio
    $font = 'freesans';
    $pdf = new TCPDF();
    $pdf->AddFont($font, '', $font . '.php');
    $pdf->AddFont($font, 'B', $font . 'b.php');
    $pdf->SetFont($font, '', 15);
    $pdf->SetPrintHeader(false);
    $pdf->SetPrintFooter(false);
    $pdf->Open();
    $pdf->AddPage();
    $pdf->write(7, uni("Listo de Partoprenantoj\n" . $_SESSION["renkontigxo"]->datoj["nomo"] . " en " . $_SESSION["renkontigxo"]->datoj["loko"] . " (" . $_SESSION["renkontigxo"]->datoj["de"] . " g^is " . $_SESSION["renkontigxo"]->datoj["gxis"] . ")\n"));
    if ('JES' == $granda) {
        $pdf->SetFont($font, '', 12);
        $pdf->write(8, uni("Bonvolu kontroli (kaj eble korekti) vian" . " adreson en la adresaro, por ke en" . " la fina versio estu g^ustaj datumoj."));
        $pdf->ln(12);
        $linlargxo = 7;
        $interlinspaco = 13;
    } else {
        $pdf->SetFont($font, 'B', 9);
        // TODO: metu tiun tekston en la datumbazon.
        $pdf->write(3.7, uni("Vi rajtas uzi tiun adresaron nur por" . " personaj celoj. Vi ne rajtas" . " uzi g^in por amasaj leteroj au^" . " retmesag^oj (ankau^ ne por informi" . " pri via Esperanto-renkontig^o), kaj" . " ne rajtas pludoni g^in (ec^ ne parte). "));
        $pdf->SetFont('', '');
        $pdf->write(3.7, uni(" Se amiko de vi (kiu partoprenis la " . $_SESSION['renkontigxo']->datoj['mallongigo'] . ") ne ricevis la adresaron," . " li povas mendi propran c^e " . $_SESSION['renkontigxo']->datoj['adminretadreso'] . ". La sama validas por vi, se vi perdos " . " g^in.\n" . "Atentu, la g^usta sinsekvo de la" . " adres-partoj sur leteroj - depende de" . " la lando -" . " ofte ne estas la sama kiel tiu en tiu" . " c^i listo. Informig^u antau^ eksendado" . " de letero (ekzemple per retpos^to al la" . " ricevonto)."));
        $pdf->ln(7);
        $linlargxo = 3.0;
        $interlinspaco = 4.05;
    }
    $kampoj = array("p.ID", "pn.ID", "p.nomo" => "famnomo", "personanomo", "sxildnomo", "l.nomo" => "landonomo", "retposxto", "posxtkodo", "urbo", "lando", "telefono");
    $kampolisto = "nomo;  retpos^to; pos^tkodo; urbo; lando; telefono;";
    if (KAMPOELEKTO_IJK) {
        $kampolisto .= "adreso; tujmesag^iloj; ";
        $kampoj[] = "adreso";
        $kampoj[] = "tujmesagxiloj";
    } else {
        $kampolisto .= " adresaldonaj^o; strato; telefakso; ";
        $kampoj[] = "adresaldonajxo";
        $kampoj[] = "strato";
        $kampoj[] = "telefakso";
    }
    $pdf->write($linlargxo * 1.7, uni($kampolisto));
    $pdf->ln($interlinspaco);
    $pdf->ln($interlinspaco);
    $demando = datumbazdemando($kampoj, array("partoprenantoj" => "p", "partoprenoj" => "pn", "landoj" => "l"), array("pn.partoprenantoID = p.ID", "l.ID = lando", "pn.intolisto = 'J'", "alvenstato = 'a'"), "renkontigxoID", array("order" => "personanomo, famnomo"));
    echo "<BR><BR>";
    $rezulto = sql_faru($demando);
    $koloro = 0;
    while ($row = mysql_fetch_assoc($rezulto)) {
        if ($row['sxildnomo']) {
            $tutanomo = $row['personanomo'] . ' (' . $row['sxildnomo'] . ') ' . $row['famnomo'];
        } else {
            $tutanomo = $row['personanomo'] . ' ' . $row['famnomo'];
        }
        eoecho($tutanomo . "<br/>");
        if ($bunta == "JES") {
            switch ($koloro % 4) {
                case 0:
                    $pdf->SetTextColor(200, 0, 0);
                    break;
                case 1:
                    $pdf->SetTextColor(0, 0, 255);
                    break;
                case 2:
                    $pdf->SetTextColor(0, 150, 0);
                    break;
                default:
                    $pdf->SetTextColor(0, 0, 0);
                    break;
            }
            $koloro++;
        }
        $datumoj = array($tutanomo, $row['retposxto'], $row['posxtkodo'], $row['urbo'], $row['lando'], $row['telefono']);
        if (KAMPOELEKTO_IJK) {
            // TODO: pripensu, kiel trakti plurlinian adreson.
            array_push($datumoj, $row['adreso'], $row['tujmesagxiloj']);
        } else {
            array_push($datumoj, $row['adresaldonajxo'], $row['strato'], $row['telefakso']);
        }
        $csv_teksto = "'" . implode("';'", $datumoj) . "'";
        $pdf_teksto = implode("; ", $datumoj);
        $pdf->write($linlargxo, uni($pdf_teksto));
        $pdf->ln($interlinspaco);
        // TODO: pripensu, ĉu ni ne ankaŭ por la CSV-versio restu ĉe UTF-8
        fputs($fp, utf8_decode($csv_teksto . "\n"));
    }
    $pdf->Output($GLOBALS['prafix'] . "/dosieroj_generitaj/adresaro.pdf");
    fclose($fp);
    echo "<br/><br/>";
    hazard_ligu("dosieroj_generitaj/adresaro.pdf", "els^uti la adresaron (PDF).");
    hazard_ligu("dosieroj_generitaj/adresaro.csv", "els^uti la adresaron (CSV).");
    echo "</p>";
}