/**
  * kalkulas, kiom validas la pago/rabato/... en nia cxefa
  * valuto.
  */
 function enCxefaValuto()
 {
     if ($this->datoj['valuto'] == CXEFA_VALUTO) {
         return $this->datoj['kvanto'];
     }
     list($kurzo, $dato) = eltrovu_kurzon($this->datoj['valuto'], $this->datoj['dato']);
     if (!$kurzo) {
         darf_nicht_sein("mankas kurzo por " . $this->datoj['valuto'] . " je " . $this->datoj['dato']);
     }
     return $this->datoj['kvanto'] * $kurzo;
 }
 function restas_pagenda_en_valutoj()
 {
     $listo = array();
     $pagenda_cxef = $this->restas_pagenda();
     $ni_fajfas = false;
     $repagenda = $pagenda_cxef < 0;
     $sql = datumbazdemando(array('ID'), 'renkontigxaj_konfiguroj', array('tipo' => 'valuto', 'renkontigxoID' => $this->renkontigxo->datoj['ID']));
     $rez = sql_faru($sql);
     while ($linio = mysql_fetch_assoc($rez)) {
         $valutoObj = new Renkontigxa_konfiguro($linio['ID']);
         $valuto = $valutoObj->datoj['interna'];
         list($kurzo, $dato) = eltrovu_kurzon($valuto);
         $kurzo = (double) $kurzo;
         $pagenda = $pagenda_cxef / $kurzo;
         $rimarko = $valutoObj->datoj['aldona_komento'];
         // echo "rimarko: '$rimarko'\n";
         preg_match('/\\[(?:.*,)? *fajfu *= *(\\d+(?:\\.\\d+)?) *(,.*)?\\]/', $rimarko, $trovaĵoj);
         $fajfu = (double) $trovaĵoj[1];
         //		echo "trovaĵoj: " . var_export($trovaĵoj, true);
         if (0 < $pagenda and $pagenda < $fajfu) {
             $ni_fajfas = true;
             $vere_pagenda = 0;
         } else {
             if ($pagenda == 0) {
                 $vere_pagenda = 0;
             } else {
                 if ($pagenda < 0) {
                     // TODO: eble ankaŭ rondigu
                     $vere_pagenda = $fajfu * floor($pagenda / $fajfu);
                 } else {
                     if ($fajfu > 0) {
                         // $fajfu <= $pagenda
                         $resto = fmod($pagenda, $fajfu);
                         $vere_pagenda = $pagenda - $resto;
                     } else {
                         $vere_pagenda = $pagenda;
                     }
                 }
             }
         }
         $listo[$valuto] = array('valuto' => $valuto, 'valutoteksto' => $valutoObj->datoj['teksto'], 'kurzo' => $kurzo, 'kurzo-dato' => $dato, 'pagenda' => number_format($pagenda, 2, ".", ""), 'fajfu' => $fajfu, 'vere_pagenda' => $vere_pagenda);
     }
     // while
     $traktenda = ($repagenda or $pagenda_cxef != 0 and !$ni_fajfas);
     return array('ni_fajfas' => $ni_fajfas, 'repagenda' => $repagenda, 'pagenda_cxef' => $pagenda_cxef, 'traktenda' => $traktenda, 'listo' => $listo);
 }
Esempio n. 3
0
          <td>
<?php 
$germanlingve = $lingvo == 'de';
$mankasklaso = (is_array($GLOBALS['mankas']) and in_array('lando', $GLOBALS['mankas'])) ? " class='mankas'" : "";
montru_landoelektilon(5, $_POST['lando'] ? $_POST['lando'] : "-#-", $lingvo, $mankasklaso, $renkontigxo);
?>
</td>
          <td rowspan="5" colspan='2' style='border:solid thin blue' class='nevidebla' id='kotizokalkulo'>
    <p>
<?php 
// forlasita, gxis ni adaptos la kotizokalkulilo.
echo CH('Aligxilo1.php#jen-baza-kotizo') . "\n";
?>
</p><p id='kotizocifero' class='kotizocifero'>&nbsp;</p>
<p><?php 
list($kurzo, $kurzodato) = eltrovu_kurzon("EUR", date("Y-m-d"));
echo CH("tio estas en euxroj", $kurzodato);
?>
</p>
<p id='euxrovaloro' class='euxrovaloro'>
</p>
</td>
        </tr>
        <tr>
          <th><?php 
echo CH('naskigxdato') . deviga();
?>
</th>
          <td>
<?php 
require_once $prafix . "/tradukendaj_iloj/trad_htmliloj.php";
 /**
  * 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();
 }