rajtligu("partrezultoj.php?faru=2konfirmelsendo", "--> elsendi 2an konfirmilon", "", "administri", "jes"); } echo "<BR>\n"; ligu("partrezultoj.php?faru=kvitancu", "––> kreu kvitancon"); if ($_REQUEST['faru'] == 'kvitancu') { require_once $prafix . "/iloj/kreu_kvitancon.php"; $kvit = new Kvitanco(); $kvit->kaju($_SESSION['partoprenanto']->datoj['ID'], $_SESSION['partopreno']->datoj['ID']); $kvit->sendu(); hazard_ligu("./dosieroj_generitaj/kvitancoj.pdf", "els^utu g^in"); } if (!$_SESSION["partoprenanto"]->datoj['lando']) { erareldono("Mankas la lando, pro tio la kotizokalkulo estas iom necerta!"); } // nova kotizokalkulilo $kotkal = new Kotizokalkulilo($_SESSION["partoprenanto"], $_SESSION["partopreno"], $partopreno_renkontigxo, new Kotizosistemo($partopreno_renkontigxo->datoj['kotizosistemo'])); eoecho("<p>Restas pagenda: " . $kotkal->tuta_sumo . " " . CXEFA_VALUTO . "</p>\n"); echo "<div>"; // echo "<table><tr><td>"; // echo "</td><td>"; // echo "</td><td>"; // echo "</td>\n</tr>\n<tr>\n<td>"; rajtligu("pago-detaloj.php?klaso=pago", "==> entajpi pagon", "", "mono", "jes"); tabelu_pseuxdopagojn_por("pago", $_SESSION['partopreno']->datoj['ID'], 'mono'); // echo "</td>\n<td>"; rajtligu("pago-detaloj.php?klaso=rabato", "==> entajpi rabaton", "", "rabati", "jes"); tabelu_pseuxdopagojn_por("rabato", $_SESSION['partopreno']->datoj['ID'], 'rabati'); // echo "</td>\n<td>"; //TODO: pripensu la rajtojn! rajtligu("pago-detaloj.php?klaso=krom", "==> entajpi krompagon", "", "rabati", "jes"); tabelu_pseuxdopagojn_por("krom", $_SESSION['partopreno']->datoj['ID'], 'rabati');
if ($_REQUEST['sendu'] == 'kalkulu') { $kotizosistemo = new Kotizosistemo($_REQUEST['kotizosistemo']); $nia_renkontigxo = new Renkontigxo($_REQUEST['renkID']); $kostosistemo = new Kostosistemo($_REQUEST['kostosistemo']); $kostokalkulilo = new Kostokalkulilo($kostosistemo, $nia_renkontigxo); $cxiuj_datumoj = array(); $mankajxoj = array(); $sql = datumbazdemando(array("enoj.ID" => "enoID", "antoj.ID" => "antoID"), array("partoprenoj" => "enoj", "partoprenantoj" => "antoj"), array("enoj.partoprenantoID = antoj.ID", "enoj.renkontigxoID = '" . $nia_renkontigxo->datoj['ID'] . "'", "enoj.alvenstato != 'm'")); $rez = sql_faru($sql); $nombro = 0; while ($linio = mysql_fetch_assoc($rez)) { debug_echo("<!-- linio: " . var_export($linio, true) . "-->"); $partopreno = new Partopreno($linio['enoID']); $partoprenanto = new Partoprenanto($linio['antoID']); $datumtenilo = array(); $kalkulilo = new Kotizokalkulilo($partoprenanto, $partopreno, $nia_renkontigxo, $kotizosistemo); $datumtenilo['partakotizo'] = $kalkulilo->partakotizo; $datumtenilo['bazakotizo'] = $kalkulilo->bazakotizo; // TODO: diversaj pliaj necesaj datumoj, ekzemple kostoj, krompagoj $datumtenilo['kostoj'] = $kostokalkulilo->kalkulu_personkostojn($partoprenanto, $partopreno, $nia_renkontigxo); if ($kalkulilo->kategorioj_kompletaj()) { $nomo = enkodu_kategoriojn($kalkulilo->kategorioj); $cxiuj_datumoj[$nomo][] = $datumtenilo; } else { $mankajxoj[] = $kalkulilo; } $nombro++; } // while debug_echo("<!-- cxiuj_datumoj: " . var_export($cxiuj_datumoj, true) . "-->"); function enspezoprognoza_cxelo($kotizosistemo, $kategorioj, $datumoj)
/** * kalkulas, kiom alta estus la TEJO/UEA-rabato, se tiu * persono estus TEJO/UEA-membro. Pli precize, kalkulas la diferencon * inter la kotizo, se li estus ne-membro, kaj se li estus membro. * * @param Partoprenanto $partoprenanto * @param Partopreno $partoprenao * @param Renkontigxo $renkontigxo * return number */ function kalkulu_tejo_rabaton($partoprenanto, $partopreno, $renkontigxo) { $org_val = $partopreno->datoj['tejo_membro_kontrolita']; $partopreno->datoj['tejo_membro_kontrolita'] = 'j'; $kalk_membro = new Kotizokalkulilo($partoprenanto, $partopreno, $renkontigxo); $kotizo_membro = $kalk_membro->restas_pagenda(); $partopreno->datoj['tejo_membro_kontrolita'] = 'n'; $kalk_nemembro = new Kotizokalkulilo($partoprenanto, $partopreno, $renkontigxo); $kotizo_nemembro = $kalk_nemembro->restas_pagenda(); // restarigo de la originalo ... $partopreno->datoj['tejo_membro_kontrolita'] = $org_val; return $kotizo_nemembro - $kotizo_membro; }
/** * Aldonas unuopan akceptofolion por la menciita partoprenanto/partopreno * al la dosiero. * @param int $partoprenantoID identigilo de {@link Partoprenanto} (aŭ 0 * por malplena folio) * @param int $partoprenoID identigilo de {@link Partopreno} (aŭ 0 * por malplena folio) */ function kreu_kvitancon($partoprenantoID, $partoprenoID) { $partopreno = new Partopreno($partoprenoID); $partoprenanto = new Partoprenanto($partoprenantoID); $ko = new Kotizokalkulilo($partoprenanto, $partopreno, $_SESSION["renkontigxo"], new Kotizosistemo($_SESSION["renkontigxo"]->datoj['kotizosistemo'])); echo "<!-- "; var_export($partopreno); var_export($partoprenanto); echo "-->"; $this->pdf->setFontSize(10); $this->pdf->text(27, 20, 'Persona nomo:'); $this->pdf->text(27, 25, 'Familia nomo:'); $this->pdf->text(130, 20, "Kvitanconumero:"); $this->pdf->setFontSize(15); if ($partoprenanto->datoj['sxildnomo'] != '') { $kajo = " (" . $partoprenanto->datoj['sxildnomo'] . ")"; } else { $kajo = ""; } $this->pdf->text(53, 20, uni($partoprenanto->datoj['personanomo'] . $kajo)); $this->pdf->text(53, 25, uni($partoprenanto->datoj['nomo'])); $prefikso = implode("", explode(" ", $_SESSION['renkontigxo']->datoj['mallongigo'])); $this->pdf->text(160, 20, $prefikso . "#" . $partoprenoID); $this->pdf->SetFont('', 'B', 20); $this->pdf->setY(38); $this->pdf->Cell(0, 10, "Kvitanco", 0, 1, 'C'); $this->pdf->ln(); $this->pdf->setFont('', '', 10); $datumoj = array("igxo" => $_SESSION['renkontigxo'], "anto" => $partoprenanto, "eno" => $partopreno, "pagoj" => array("sumo" => $ko->donu_informon('pagoSumo'), "valuto" => CXEFA_VALUTO)); $sxablono = donu_tekston("kvitanco-enkonduko"); $teksto = transformu_tekston($sxablono, $datumoj); $this->pdf->write(5, uni($teksto)); $this->pdf->ln(); $this->pdf->ln(); // $this->metu_titolon("Kotizokalkulo"); $ko->tabelu_kotizon(new PDFKotizoFormatilo($this->pdf, $this->lingvo, true, true)); // TODO: stampo $this->pdf->setFontSize(10); $teksto2 = donu_tekston("kvitanco-elkonduko"); $this->pdf->ln(8); $this->pdf->ln(); $this->pdf->write(4.5, uni($teksto2)); // TODO: eble tamen enmetu la informon, ke ni fajfis pri la resto? /* $this->pdf->setFontSize(12); $this->pdf->setY(257); // TODO: metu tuj antaŭ la kestojn $informoj = $ko->restas_pagenda_en_valutoj(); if ($informoj['traktenda']) { if ($informoj['repagenda']) { $this->pdf->write(5, uni("Ni repagas al vi")); } else { $this->pdf->write(5, uni("Vi devos ankorau^ pagi al ni")); } foreach($informoj['listo'] AS $listero) { $this->pdf->write(5, uni(" au^ ")); $this->pdf->setFont('', 'B'); $this->pdf->write(5, uni(number_format($listero['vere_pagenda'], 2, ".", "") . " " . $listero['valuto'])); $this->pdf->setFont('', ''); } $this->pdf->write(5, "."); } else if ($informoj['ni_fajfas']) { $this->pdf->write(5, uni("La restanta mono estas tiom malmulte, ke ni " . "fajfas pri tio. Vi neniom plu devos pagi.")); } else { $this->pdf->write(5, uni("Vi neniom plu devos pagi.")); } */ }
function kreu_unuan_konfirmilan_tekston_unulingve($lingvo, $partoprenanto, $partopreno, $renkontigxo, $kodigo) { eniru_dosieron(); eniru_lingvon($lingvo); $speciala = array(); $speciala['landonomo'] = traduku_datumbazeron('landoj', 'nomo', $partoprenanto->datoj['lando'], $lingvo); // eltrovu_landon($partoprenanto->datoj['lando']); $speciala['tejojaro'] = TEJO_MEMBRO_JARO; $speciala['tejorabato'] = TEJO_RABATO; if (ASEKURO_EBLAS) { if ($partopreno->datoj['havas_asekuron'] == 'J') { $speciala['asekuro'] = CH("konf1-havas-asekuron"); } else { $speciala['asekuro'] = CH("konf1-ne-havas-asekuron"); } } if ($partopreno->datoj['partoprentipo'] == 't') { $speciala['partopreno'] = CH("tuttempe"); } else { $speciala['partopreno'] = CH("parttempe"); } switch ($partopreno->datoj['vegetare']) { case 'J': $speciala['mangxmaniero'] = CH("vegetara"); break; case 'N': $speciala['mangxmaniero'] = CH("vianda"); break; case 'A': $speciala['mangxmaniero'] = CH("vegana"); break; default: $speciala['mangxmaniero'] = CH("mangxmaniero-?", $partopreno->datoj['vegetare']); } $speciala['domotipo'] = donu_tekston_lauxlingve('domotipo-' . $partopreno->datoj['domotipo'], $lingvo, $renkontigxo); if ($partopreno->datoj['domotipo'] == 'M') { $speciala['cxambro'] = ""; } else { // TODO!: tradukebligu // TODO: unulita $speciala['cxambro'] = "\n Vi mendis " . ($partopreno->datoj['dulita'] == "J" ? "dulitan " : "") . $partopreno->cxambrotipo() . "n c^ambron" . ($partopreno->datoj['kunkiu'] ? " kun (eble) " . $partopreno->datoj['kunkiu'] : ""); } // TODO: kunmangxas (laux opcio) $kotizo = new Kotizokalkulilo($partoprenanto, $partopreno, $renkontigxo, new Kotizosistemo($renkontigxo->datoj['kotizosistemo'])); $speciala['antauxpago'] = $kotizo->minimuma_antauxpago(); $speciala['pageblecoj'] = pageblecoj_retpagxo; $kotForm = new TekstaKotizoFormatilo($lingvo, $kodigo); $kotizo->tabelu_kotizon($kotForm); debug_echo("<!-- kotizotabelo: \n" . $kotForm->preta_tabelo . "\n -->"); $speciala['kotizotabelo'] = $kotForm->preta_tabelo; $invitpeto = $partopreno->sercxu_invitpeton(); if ($invitpeto) { $speciala['invitpeto'] = donu_tekston_lauxlingve('konf1-invitpeto-titolo', $lingvo, $renkontigxo) . $invitpeto->konfirmilaj_detaloj() . "\n\n\n" . donu_tekston_lauxlingve('konf1-invitilo', $lingvo, $renkontigxo) . "\n\n"; } else { // ne petis invitleteron, do ne necesas ion pri tio skribi $speciala['invitpeto'] = ""; } $speciala['dissendolisto'] = donu_tekston_lauxlingve('konf1-dissendolisto', $lingvo, $renkontigxo); $speciala['subskribo'] = donu_tekston_lauxlingve('konf1-subskribo', $lingvo, $renkontigxo); // $speciala['subskribo'] = $renkontigxo->funkciulo('admin') . // ", en la nomo de " . organizantoj_nomo . ", la organiza teamo."; $datumoj = array('anto' => $partoprenanto->datoj, 'eno' => $partopreno->datoj, 'igxo' => $renkontigxo->datoj, 'speciala' => $speciala); $sxablono = CH('unua-konfirmilo-sxablono'); // $sxablono = file_get_contents($GLOBALS['prafix'].'/sxablonoj/unua_konfirmilo_' . $lingvo . '.txt'); if (DEBUG) { echo "<!-- " . var_export($datumoj, true) . "-->"; } eliru_dosieron(); eliru_lingvon(); return eotransformado(transformu_tekston($sxablono, $datumoj), $kodigo); }
if ($_POST['sendu'] == 'donacu' or $_POST['sendu'] == 'repagu') { $pago = new Pago(); $pago->kreu(); $pago->datoj['valuto'] = $_POST['valuto']; $pago->datoj['partoprenoID'] = $partopreno->datoj['ID']; $pago->datoj['kvanto'] = -$_POST['malpago']; $pago->datoj['dato'] = date('Y-m-d'); $pago->datoj['tipo'] = $_POST['sendu'] == 'donacu' ? 'donaco' : 'repago'; $pago->skribu(); // TODO: monujo (nur cxe repago) } else { // ni nun unuan fojon alvenis ... $ne_pluiru = true; } } $kot = new Kotizokalkulilo($partoprenanto, $partopreno, $_SESSION['renkontigxo']); $restas = $kot->restas_pagenda(); if ($restas == 0.0 and !$ne_pluiru) { kalkulu_necesajn_kaj_eblajn_pasxojn('pago'); $pasxo = sekva_pasxo(); http_redirect('akceptado-' . $pasxo['id'] . '.php', null, false, 303); exit; } $informoj = $kot->restas_pagenda_en_valutoj(); if (DEBUG) { echo "<pre>"; var_export($informoj); echo "</pre>"; } akceptado_kapo("pago"); akceptada_instrukcio("Komparu la kalkulon kun tiu sur la akceptofolio. " . "Se necesas, s^ang^u la akceptofolion. Se io estas" . " neklara, voku la c^efadministranton.");
/** * kreas konfirmilon en unu el du lingvoj. * $partopreno - Partopreno-objekto * $partoprenanto - la Partoprenanto-objekto * $renkontigxo - Renkontigxo-objekto * @param Kotizokalkulilo $kotizo - Kotizo-objekto (estu kreita el la tri antauxe * menciitaj objektoj) * @param lingvokodo $lingvo */ function kreu_konfirmilon_unulingve($partopreno, $partoprenanto, $renkontigxo, $kotizo, $lingvo) { require_once $GLOBALS['prafix'] . "/tradukendaj_iloj/trad_htmliloj.php"; eniru_dosieron(); eniru_lingvon($lingvo); // TODO!: cxio GEJ-specifa estu konfigurebla. $this->pdf->AddPage(); $this->pdf->SetLeftMargin(20); $this->pdf->SetRightMargin(20); $this->pdf->Image($GLOBALS['prafix'] . '/bildoj/tejo-emblemo.png', 20, 10, 30); $this->pdf->Image($GLOBALS['prafix'] . '/bildoj/ijk-emblemo.png', 160, 10, 30); // $this->pdf->Image($GLOBALS['prafix'] . '/bildoj/eo-logo.png', 162, 10, 28); $this->pdf->SetFontSize($this->unikode ? 17 : 19); // TODO: el datumbazo $this->pdf->text(50, 17, "Tutmonda Esperantista Junulara Organizo"); $this->pdf->text(60, 26, $this->trans_eo($renkontigxo->datoj['nomo'])); // falc- kaj truil-markiloj $this->pdf->line(4, 100, 9, 100); $this->pdf->line(4, 147, 7, 147); $this->pdf->line(4, 198, 9, 198); // adreso de la partoprenanto $this->pdf->SetFont('', 'B', 12); $this->pdf->setY(59); $this->pdf->cell(60, 5, $this->trans_eo($partoprenanto->tuta_nomo())); $this->pdf->ln(); $this->pdf->write(5, $this->trans_eo($partoprenanto->datoj['adreso'])); /* if ($partoprenanto->datoj[adresaldonajxo]!='') */ /* { */ /* $this->pdf->write(5,$this->trans_eo($partoprenanto->datoj[adresaldonajxo])); */ /* $this->pdf->ln(); */ /* } */ /* $this->pdf->write(5,$this->trans_eo($partoprenanto->datoj[strato])); */ $this->pdf->ln(); $this->pdf->write(5, $this->trans_eo($partoprenanto->datoj['posxtkodo'] . " " . $partoprenanto->datoj['urbo'])); $this->pdf->ln(); $this->pdf->Cell(60, 5, $this->trans_eo($partoprenanto->landonomo_en_lingvo($lingvo))); $this->pdf->setXY(120, 60); if ($partoprenanto->datoj['sxildnomo']) { $cxefnomo = $partoprenanto->datoj['sxildnomo']; $malcxefnomo = $partoprenanto->datoj['personanomo'] . " " . $partoprenanto->datoj['nomo']; } else { $cxefnomo = $partoprenanto->datoj['personanomo']; $malcxefnomo = $partoprenanto->datoj['nomo']; } $this->pdf->SetFont('', "B", 14); $this->pdf->Cell(40, 10, $this->trans_eo($cxefnomo), "LTR", 2, "R"); $this->pdf->SetFont('', '', 10); $this->pdf->Cell(40, 6, $this->trans_eo($malcxefnomo), "LR", 2, "R"); $this->pdf->Cell(40, 6, $this->trans_eo($partoprenanto->sxildlando()), "LRB", 1, "R"); $this->pdf->SetFont('', '', 10); $this->pdf->setY(90); $this->pdf->write(5, "Saluton!"); $this->pdf->ln(); $this->pdf->write(5, $this->trans_eo(donu_tekston_lauxlingve("konf2-enkonduko", $lingvo, $renkontigxo))); $this->pdf->ln(); $this->pdf->SetLeftMargin(30); /* $kotizo->montru_kotizon($lingvo == 'eo' ? 3 : 4, $this); */ $kotizo->tabelu_kotizon(new PDFKotizoFormatilo($this->pdf, $lingvo, $this->unikode)); $this->pdf->SetLeftMargin(20); $this->pdf->ln(3); $this->pdf->SetFontSize(10); // $this->pdf->setXY(30,102); if (DEBUG) { echo "<!-- alk: [{$alk}] -->"; // echo "<!-- renkontigxo->datoj['meze']: [" . $renkontigxo->datoj['meze']. "] -->" ; echo "<!--"; // echo "\npartopreno: "; // var_export($partopreno); // echo "\npartoprenanto: "; // var_export($partoprenanto); echo "\nrenkontigxo: "; var_export($renkontigxo); echo "-->"; } // TODO: tio ĉi estas speciala por IJK 2009: switch ($partopreno->datoj['domotipo']) { case 'A': $mendo = CH("mendis-amaslogxejon"); break; case 'J': if ($partopreno->datoj['dulita'] == 'U') { $mendo = CH("mendis-studenthejmon-unulitan"); } else { if ($partopreno->datoj['cxambrotipo'] == 'u') { $mendo = CH("mendis-studenthejmon-dulitan-unuseksan"); } else { $mendo = CH("mendis-studenthejmon-dulitan-ambauxseksan"); } if ($partopreno->datoj['kunKiu']) { $mendo .= " " . CH("volas-logxi-kun", eotransformado($partopreno->datoj['kunKiu'], 'utf-8')); } } break; case 'T': $mendo = CH("mendis-tendon"); break; case 'M': $mendo = CH("mendis-nenion"); break; default: $mendo = "-- erara domotipo: " . $partopreno->datoj['domotipo'] . " --"; erareldono($mendo); } $teksto = $mendo; // la granda teksto, kiu konfirmas la aligxon. $this->pdf->SetFont('', 'B', 10); $this->pdf->write(4, $this->trans_uni($teksto)); $this->pdf->ln(); // atentigo pri pagenda resto: $pagenda = $kotizo->restas_pagenda(); echo "<!-- restas_pagenda: " . $pagenda . " -->"; if ($pagenda > 0) { list($kurzo, $dato) = eltrovu_kurzon('EUR'); $pagenda_eur = number_format((double) $pagenda / (double) $kurzo, 2, ".", ""); $teksto = CH("restas-pagenda-CZK-EUR-dato", $pagenda, $pagenda_eur, $kurzo, $dato); // $teksto = strtr(donu_tekston_lauxlingve("konf2-kunportu-reston", // $lingvo, // $renkontigxo), // array("{{sumo}}" => $pagenda)); // atentigo pri kunportado de mono $this->pdf->SetFont('', 'B', 8); $this->pdf->write(3.8, $this->trans_uni($teksto)); $this->pdf->ln(); } $this->pdf->SetFont("", "", 10); $this->pdf->write(5, $this->trans_uni(CH("vi-mendis-mangxojn"))); $this->pdf->ln(); pdf_montru_manĝojn($this->pdf, $partopreno, $this); //$this->pdf->setY(155); $this->pdf->SetFont('', 'B', 11); $this->pdf->Write(6, $this->trans_uni(CH("gravaj-informoj"))); $this->pdf->ln(); $this->pdf->SetFont('', '', 9); $this->pdf->setX(25); $teksto = donu_tekston_lauxlingve("konf2-gravaj-informoj", $lingvo, $renkontigxo); /* if ($partopreno->datoj['agxo']< 18) */ /* $teksto .= " " . donu_tekston_lauxlingve("konf2-junulo", $lingvo, $renkontigxo); */ /* if ($domotipo=='junulargastejo' and $cioenordo == 'jes') */ /* { */ /* $teksto .= " " . donu_tekston_lauxlingve("konf2-21a-horo", $lingvo, $renkontigxo); */ /* //aus der DB zaubern */ /* } */ /* else if ($domotipo=='memzorgantejo') */ /* { */ /* $teksto .= " " . donu_tekston_lauxlingve("konf2-memzorganto", $lingvo, $renkontigxo); */ /* } */ /* if ($partoprenanto->datoj['lando']==HEJMLANDO) //germanio */ /* { */ /* $teksto .= "\n" . donu_tekston_lauxlingve("konf2-membreco-averto", $lingvo, $renkontigxo); */ /* } */ if ($partopreno->datoj['tejo_membro_kontrolita'] == 'j') { $teksto .= "" . donu_tekston_lauxlingve("konf2_tejo_estos_membro", $lingvo, $renkontigxo); } else { $teksto .= "" . donu_tekston_lauxlingve("konf2_tejo_ne_jam", $lingvo, $renkontigxo); } $teksto .= ' '; $this->pdf->multicell(170, 3.8, $this->trans_eo($teksto), 0, "L"); $this->pdf->SetFontSize(10); $this->pdf->ln(5); // $this->pdf->setY(200); // TODO: cxu sencas absoluta pozicio? // $this->pdf->setY(240); $this->pdf->write(5, $this->trans_eo(donu_tekston_lauxlingve("konf2-elkonduko", $lingvo, $renkontigxo))); // $this->pdf->Image($GLOBALS['prafix'] . '/bildoj/subskribo-julia-2.png', 100, 251, 80); // TODO: allgemein (el konfiguro aux datumbazo) $this->pdf->Ln(10.0); eliru_dosieron(); eliru_lingvon(); }
/** * Aldonas unuopan akceptofolion por la menciita partoprenanto/partopreno * al la dosiero. * @param int $partoprenantoID identigilo de {@link Partoprenanto} (aŭ 0 * por malplena folio) * @param int $partoprenoID identigilo de {@link Partopreno} (aŭ 0 * por malplena folio) */ function kreu_akceptofolion($partoprenantoID, $partoprenoID) { if ($partoprenoID != 0) { $partopreno = new Partopreno($partoprenoID); $partoprenanto = new Partoprenanto($partoprenantoID); $ko = new Kotizokalkulilo($partoprenanto, $partopreno, $_SESSION["renkontigxo"], new Kotizosistemo($_SESSION["renkontigxo"]->datoj['kotizosistemo'])); echo "<!-- "; var_export($partopreno); var_export($partoprenanto); echo "-->"; } $this->pdf->setFontSize(10); $this->pdf->text(27, 20, 'Persona nomo:'); $this->pdf->text(27, 25, 'Familia nomo:'); $this->pdf->setFontSize(15); if ($partoprenoID != 0) { if ($partoprenanto->datoj['sxildnomo'] != '') { $kajo = " (" . $partoprenanto->datoj['sxildnomo'] . ")"; } else { $kajo = ""; } $this->pdf->text(53, 20, uni($partoprenanto->datoj['personanomo'] . $kajo)); $this->pdf->text(53, 25, uni($partoprenanto->datoj['nomo'])); $this->pdf->text(115, 20, $partoprenoID); } $this->pdf->SetFont('', 'B', 20); $this->pdf->text(85, 38, 'Akcepto-Folio'); $this->pdf->setY(42); $this->pdf->setFont('', '', 15); $this->pdf->Cell(173, 6, uni("Bonvenon al la " . $_SESSION['renkontigxo']->datoj['nomo'] . " en " . $_SESSION['renkontigxo']->datoj['loko'] . "!"), 0, 0, 'C'); $this->pdf->ln(); $this->pdf->ln(3); /** * @todo metu la liston al konfiguro aŭ datumbazo (tekstoj?) */ $farendajxoj = array(1 => "Bonvolu tralegi c^i tiun folion kaj kontrolu, " . "c^u la datumoj (nomo, adreso, telefonnumero ktp.)" . " g^ustas.", 2 => "Se vi trovas eraron au^ se mankas informoj " . "(ekz. naskig^dato), skribu la g^ustan informon " . "dekstre apud la malg^usta (au^ mankanta)."); // TODO: tiu parto estu nur uzata, kiam oni havas TEJO-rabaton ... switch ($partopreno->datoj['tejo_membro_kontrolita']) { case 'j': // kotizo jam pagita. break; case 'n': case '?': // jen niaj viktimoj ... $teksto = "Lau^ niaj kontroloj vi ankorau^ ne estas individua membro de" . " TEJO/UEA por 2009. Se vi decidas nun (re)alig^i kaj pagi la kotizon" . " por 2009, vi ricevos la UEA-rabaton. Bonvolu plenigi la verdan" . " alig^ilon kaj kunportu g^in al la akceptado, kie vi povos pagi la" . " kotizon."; if ($partoprenanto->datoj['ueakodo']) { $teksto .= " Via UEA-kodo estas " . $partoprenanto->datoj['ueakodo'] . ". Notu tiun ankaŭ en la alig^ilo."; } $teksto .= "\nSe vi jam pagis vian kotizon por tiu c^i jaro, bonvolu havi pruvilon preta."; $farendajxoj[] = $teksto; break; case 'i': // ne estu en la datumbazo antaŭ printado de la akceptofolioj. break; default: // tute ne estu en la datumbazo } if ($partoprenanto->datoj['posxtkodo'] == "") { $farendajxoj[] = "Bonvolu aldoni vian pos^tkodon."; } if ($partopreno->datoj['studento'] == '?') { $farendajxoj[] = "C^u vi nun estas studento au^ lernanto kaj kunportis studentan legitimilon? JES / NE "; } // $farendajxoj []= "Atendu en la antau^halo g^is ni alvokos vin ". // "au^ vian atendnumeron."; $this->pdf->setFontSize(10); $lo = 168; // larĝeco? foreach ($farendajxoj as $indekso => $teksto) { $this->pdf->Cell(5, 4.3, uni($indekso . ". "), 0, 0, 'R'); $this->pdf->MultiCell($lo, 4.5, uni($teksto), 0, 'L'); } $this->metu_titolon("Alig^datumoj"); // TODO: enketo sur la dorsflanko /* $this->pdf->ln(); */ /* $this->pdf->write(5,uni('Vi alig^is kiel:')); */ $Xtit = 30; $Xenh = 65; $X = 50; $Y = 5; if ($partoprenoID != 0 and $partoprenanto->datoj['sxildnomo'] != '') { $kajo = " (" . $partoprenanto->datoj['sxildnomo'] . ")"; } else { $kajo = ""; } $this->pdf->cell($Xtit, $Y, uni("Persona nomo:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['personanomo'] . $kajo), 0, 0, 'L'); } // $this->pdf->ln(); $this->pdf->cell($Xtit, $Y, uni("Familia nomo:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['nomo']), 0, 0, 'L'); } $this->pdf->ln(); // $this->pdf->SetFont('','',13); if (KAMPOELEKTO_IJK) { $this->pdf->cell($Xtit, $Y, uni("Adreso:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->MultiCell($Xenh + $Xtit, $Y, uni($partoprenanto->datoj['adreso']), 0, 'L', 0, 1); } else { $this->pdf->ln(); $this->pdf->ln(); } } else { $this->pdf->cell($Xtit, $Y, uni("Adresaldonaj^o:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj[adresaldonajxo]), 0, 1, 'L'); } else { $this->pdf->ln(); } $this->pdf->cell($Xtit, $Y, uni("Strato:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['strato'])); } $this->pdf->ln(); } $this->pdf->cell($Xtit, $Y, uni("Pos^tkodo kaj urbo:"), 0, 0, 'R'); if ($partoprenoID != 0) { $posxtkodo = $partoprenanto->datoj['posxtkodo'] or $posxtkodo = " "; $this->pdf->cell($Xenh, $Y, uni($posxtkodo . ', ' . $partoprenanto->datoj['urbo'])); } // $this->pdf->ln(); $this->pdf->cell($Xtit, $Y, KAMPOELEKTO_IJK ? uni("Lando:") : 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($Xenh, $Y, uni($partoprenanto->landonomo() . $kajo . $kajo2), 0, 1, 'L'); } else { $this->pdf->ln(); } $this->pdf->cell($Xtit, $Y, uni("Telefonnumero:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['telefono'])); } else { $this->pdf->cell($Xenh, $Y); } $this->pdf->cell($Xtit, $Y, uni("UEA-kodo:"), 0, 0, 'R'); if ($partoprenoID != 0 and $partoprenanto->datoj['ueakodo']) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['ueakodo'])); } $this->pdf->ln(); $tuj_linioj = 1; if (KAMPOELEKTO_IJK) { $this->pdf->cell($Xtit, $Y, uni("Tujmesag^iloj:"), 0, 0, 'R'); if ($partoprenoID != 0) { $tuj_linioj = $this->pdf->MultiCell($Xenh, $Y, uni($partoprenanto->datoj['tujmesagxiloj']), 0, 'L', 0, 0); } else { $this->pdf->cell($Xenh, $Y); } } else { $this->pdf->cell($Xtit, $Y, uni("Telefakso:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['telefakso']), 0, 0, 'L'); } else { $this->pdf->cell($Xenh, $Y); } } $this->pdf->cell($Xtit, $Y, uni("Partoprentempo:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni(substr($partopreno->datoj['de'], 8, 2) . "a g^is " . substr($partopreno->datoj['gxis'], 8, 2) . "a")); } $this->pdf->ln($tuj_linioj * $Y); $this->pdf->cell($Xtit, $Y, uni("Retpos^tadreso:"), 0, 0, 'R'); if ($partoprenoID != 0) { $i = 10; $this->pdf->setFontSize($i); $epost = uni($partoprenanto->datoj['retposxto']); while ($this->pdf->GetStringWidth($epost) > $Xenh) { $i--; $this->pdf->setFontSize($i); } $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['retposxto'])); $this->pdf->setFontSize(10); } else { $this->pdf->cell($X, $Y, "", 0, 0, 'L'); } $this->pdf->cell($Xtit, $Y, uni("Partoprentagoj:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($ko->partoprennoktoj)); } $this->pdf->ln(); $this->pdf->cell($Xtit, $Y, uni("Naskig^dato:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->datoj['naskigxdato'])); } else { $this->pdf->cell($Xenh, $Y); } $this->pdf->cell($Xtit, $Y, uni("Log^ado:"), 0, 0, "R"); if ($partoprenoID != 0) { $teksto = donu_konfiguran_tekston('logxtipo', $partopreno->datoj['domotipo'], $_SESSION['renkontigxo']->datoj['ID']); $this->pdf->cell($Xenh, $Y, uni($teksto)); } $this->pdf->ln(); $this->pdf->cell($Xtit, $Y, uni("Sekso:"), 0, 0, 'R'); if ($partoprenoID != 0) { $this->pdf->cell($Xenh, $Y, uni($partoprenanto->seksa)); } else { $this->pdf->cell($Xenh, $Y); } $this->pdf->cell($Xtit, $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"; // IJK 2009: ni ne havas veganan manĝon. $vegi = "/////"; } else { if ($partopreno->datoj['vegetare'] == 'N') { $vegi = "viande"; } else { $vegi = ""; } } } $this->pdf->cell($Xenh, $Y, $vegi); } $this->pdf->ln(); $this->metu_titolon("Mang^mendoj"); $this->pdf->ln(-4); pdf_montru_manĝojn($this->pdf, $partopreno, $this); $this->metu_titolon("Kotizokalkulo"); /* $this->pdf->write(5, uni("Je kioma horo estas noktomezo en via hejmurbo". " lau^ la c^i-loka tempo?")); $this->pdf->ln(10); $this->dika_linio(-3); $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."), 0, 'L'); $this->pdf->setX(70); $this->pdf->cell(10, 6, "subskribo:", 0, 0, 'R'); $this->pdf->SetLineWidth(0.4); $this->pdf->cell(70, 6, "", "B"); $this->pdf->SetLineWidth(0.2); $this->pdf->ln(10); */ if (0 != $partoprenantoID) { $ko->tabelu_kotizon(new PDFKotizoFormatilo($this->pdf)); $this->pdf->setFontSize(12); $this->pdf->setY(257); // TODO: metu tuj antaŭ la kestojn $informoj = $ko->restas_pagenda_en_valutoj(); if ($informoj['traktenda']) { if ($informoj['repagenda']) { $this->pdf->write(5, uni("Ni repagas al vi")); } else { $this->pdf->write(5, uni("Vi devos ankorau^ pagi al ni")); } foreach ($informoj['listo'] as $listero) { $this->pdf->write(5, uni(" au^ ")); $this->pdf->setFont('', 'B'); $this->pdf->write(5, uni(number_format($listero['vere_pagenda'], 2, ".", "") . " " . $listero['valuto'])); $this->pdf->setFont('', ''); } $this->pdf->write(5, "."); } else { if ($informoj['ni_fajfas']) { $this->pdf->write(5, uni("La restanta mono estas tiom malmulte, ke ni " . "fajfas pri tio. Vi neniom plu devos pagi.")); } else { $this->pdf->write(5, uni("Vi neniom plu devos pagi.")); } } } /* $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->cxiuj_rabatoj,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->aliaj_krompagoj,2).uni(" E^"), 0,1,'R'); else $this->pdf->ln(); if (deviga_membreco_tipo != 'nenia') { $this->pdf->cell($X,$Y, uni(deviga_membreco_nomo . "-Membrokotizo"), 0,0,'R'); if ($partoprenoID != 0 and $ko->krom_membro + $ko->krom_nemembro > 0) { $this->pdf->cell($X, $Y, number_format($ko->krom_membro + $ko->krom_nemembro) . uni(" E^"), 0,1,'R'); } else $this->pdf->ln(); } if (TEJO_KOTIZO_EBLAS) { $this->pdf->cell($X, $Y, uni("TEJO-kotizo"), 0,0,'R'); if ($partoprenoID != 0 and $ko->kotizo_tejo > 0) { $this->pdf->cell($X, $Y, number_format($ko->kotizo_tejo,2).uni(" E^"), 0,1,'R'); } else $this->pdf->ln(); } // linio antaŭ "Pagenda kotizo" $this->pdf->SetLineWidth(0.3); $this->pdf->line(30,$this->pdf->getY(),100,$this->pdf->getY()); // $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 + $ko->surlokpago,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(); // linio antaŭ "Pagenda" $this->pdf->line(30,$this->pdf->getY(),100,$this->pdf->getY()); // $this->pdf->line(30,244,100,244); $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); // // linioj antaŭ 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); if (0 == $partoprenantoID) { eoecho(" faris malplenan akceptfolion<br/>\n"); } }
$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(); } else { if ("lasta_sercxo" == $elekto) { // nova varianto de memligo (por la nova sercxilo-objekto) $sercxilo = $_SESSION['lasta_sercxo'][$_REQUEST['id']]; if ($_REQUEST['ordigo']) {
function tabellinio($partoprenanto, $partopreno) { $ko = new Kotizokalkulilo($partoprenanto, $partopreno, $_SESSION["renkontigxo"], $this->kotizosistemo); $this->pdf->SetFont('', '', 9); $informoj = $ko->donu_informojn(); foreach ($this->kampoj as $kodo => $ero) { $datumo = $informoj[$kodo]; switch ($ero[3]) { case 'teksto': $this->tabelcxelo_teksto($datumo, $ero); break; case 'int': $this->tabelcxelo_int($datumo, $ero); $this->pagxsumoj[$kodo] += $datumo; break; default: $this->tabelcxelo_nombro($datumo, $ero); $this->pagxsumoj[$kodo] += $datumo; } } $this->pdf->ln(); }