<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"); }
?> </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>"; }