/** * eltrovas, kiom da litoj por la donita partopreno * jam rezervigxis - laux nokto kaj entute. * * La nomo ne tute tauxgas ... */ function eltrovu_litojn($id) { $rezulto = eltrovu_cxambrojn($id); $entute = 0; while ($row = mysql_fetch_array($rezulto, MYSQL_BOTH)) { for ($i = $row[nokto_de]; $i <= $row[nokto_gxis]; $i++) { $manko[$i] = "1"; $entute++; } } $manko["sumo"] = $entute; $manko[0] = $entute; return $manko; }
/** * eltrovas, kiom da litoj por la donita partopreno * jam rezervigxis - laux nokto kaj entute. * * @todo La nomo ne tute tauxgas, eble elpensu pli bonan. * * @param int $id identigilo de partoprenanto * @return array array() de la formo * 0 => sumo, * 1 => 1/0 (cxu lito en nokto 1?), * 2 => 1/0 (cxu lito en nokto 2?), * ..., * 'sumo' => sumo */ function eltrovu_litojn($id) { $rezulto = eltrovu_cxambrojn($id); $entute = 0; while ($row = mysql_fetch_assoc($rezulto)) { for ($i = $row['nokto_de']; $i <= $row['nokto_gxis']; $i++) { $manko[$i] = "1"; $entute++; } } $manko["sumo"] = $entute; $manko[0] = $entute; return $manko; }
echo "<hr/>\n"; eoecho("malnova tabelo: "); $form = new HTMLKotizoFormatilo(); $tab = $kotkal->kreu_kotizotabelon_malnova(); $form->formatu_tabelon($tab); } } echo "</td><td>"; if (in_array($_SESSION['partopreno']->datoj['alvenstato'], array('v', 'i')) and $_SESSION['partopreno']->datoj['renkontigxoID'] == $_SESSION['renkontigxo']->datoj['ID']) { rajtligu("akceptado-datoj.php", "akcepti", "", "akcepti"); } echo "</td></tr>\n"; // gehört eigentlich nach montru_aligxo; -> Nee. echo "<tr><td>"; /** kiam ri estas en kiu cxambro? */ $rezulto = eltrovu_cxambrojn($_SESSION["partopreno"]->datoj[ID]); while ($row = mysql_fetch_assoc($rezulto)) { $sql = datumbazdemando("nomo", "cxambroj", "id = '{$row['cxambro']}'"); $cxambronomo = mysql_fetch_assoc(sql_faru($sql)); eoecho(sekvandaton($partopreno_renkontigxo->datoj['de'], $row['nokto_de'] - 1) . " – " . sekvandaton($partopreno_renkontigxo->datoj['de'], $row['nokto_gxis']) . " (" . $row['rezervtipo'] . ")\n"); if (rajtas("cxambrumi")) { ligu("cxambro-detaloj.php?cxambronumero=" . $row["cxambro"], "c^ambro: " . $cxambronomo['nomo']); echo " "; ligu_butone('cxambroago.php?sp=partrezultoj.php', $row['rezervtipo'] == 'd' ? "forgesu" : "malrezervu", array('sendu' => 'forgesu_liton', 'forgesendalito' => $row["ID"])); } else { eoecho("c^ambro: " . $cxambronomo['nomo'] . " "); } echo "<br/>"; $havas_cxambron = "true"; } // while ($row)
*/ require_once 'iloj/iloj.php'; session_start(); malfermu_datumaro(); kontrolu_rajton("akcepti"); require_once 'iloj/iloj_akceptado.php'; $partoprenanto = $_SESSION["partoprenanto"]; $partopreno = $_SESSION['partopreno']; // por povi reiri cxi tien post la elekto de cxambro. $_SESSION['sekvontapagxo'] = 'akceptado-cxambro.php'; // la persona pronomo (li aux sxi) $ri = $partoprenanto->personapronomo; $Ri = ucfirst($ri); $en_ordo = false; akceptado_kapo("cxambro"); $sql_rez = eltrovu_cxambrojn($partopreno->datoj['ID']); $nombro = mysql_num_rows($sql_rez); if ($partopreno->datoj['domotipo'] == 'J') { switch ($nombro) { case 0: akceptada_instrukcio("Elektu c^ambron por {$ri}."); // ankoraux ne havas cxambron break; case 1: $en_ordo = true; break; default: // pli ol unu cxambro akceptada_instrukcio("{$Ri} havas pli ol unu liton. Se eblas, " . "metu {$ri}n en nur unu liton dum la " . "tuta tempo. " . "(Se vi ne certas pri tio, demandu la" . " c^efadministranton.)"); } // switch
/** * funkcios preskaux same kiel sercxu() (el iloj_html), sed kun nova implementado. * * Diferencoj: * * $sumoj - por cxiu sum-linio ekzistas array (en $sumoj). En cxiu linio-array * estas po element-array por kolono, kun tri elementoj: * [0] - La teksto de la kampo. Se vi uzas XX, tie aperos la rezulto * de la sumado. * [1] - La speco de la sumado. eblecoj: * A - simple nur kalkulu, kiom da linioj estas. * J - kalkulu, kiom ofte aperas 'J' en la koncerna kampo * E - kalkulu, kiom ofte enestas io en la koncerna kampo * N - adiciu la numerojn en la koncerna kampo. * [3] - arangxo ('l', 'r', 'z' - vidu cxe $kolumoj - [3].) * $identifikilo - estas uzata por la ligoj por reordigi, tiel cxe pluraj * tabeloj en la sama pagxo la gxusta estos montrita. * $extra - ['Spaltenrechnung'] ne plu funkcias. * */ function sercxu_nova($sql, $ordigo, $kolumnoj, $sumoj, $identifikilo, $extra, $csv, $antauxteksto, $almenuo, $proprakapo = "jes") { if ($csv < 2 and $proprakapo == 'jes') { HtmlKapo(); eoecho("<p>{$antauxteksto}</p>"); } else { if ($csv >= '2') { header("Content-Type: application/octet-stream"); //csv als Download anbieten header("Content-Disposition: attachment; filename='csv_export.txt'"); } } $eigenlink = "sercxrezultoj.php?elekto=memligo&id={$identifikilo}"; $_SESSION["memligo"][$identifikilo]["sql"] = $sql; $_SESSION["memligo"][$identifikilo]["antauxteksto"] = $antauxteksto; $_SESSION["memligo"][$identifikilo]["kolumnoj"] = $kolumnoj; $_SESSION["memligo"][$identifikilo]["sumoj"] = $sumoj; $_SESSION["memligo"][$identifikilo]["aldone"] = $extra; $_SESSION['memligo'][$identifikilo]["almenuo"] = $almenuo; $klaso = array("para", "malpara"); $arangxo = array("r" => "dekstren", "d" => "dekstren", "l" => "maldekstren", "m" => "maldekstren", "z" => "centren", "c" => "centren"); $inversa = array("asc" => "desc", "desc" => "asc"); if ($csv == 0) { echo "<table>\n"; echo "<tr class='titolo'>"; } $i = 0; while (isset($kolumnoj[$i])) { if ($csv == 0) { echo "<th class='" . $arangxo[$kolumnoj[$i][3]] . "'>"; if ($ordigo[0] == $kolumnoj[$i][0]) { ligu($eigenlink . "&orderby=" . $kolumnoj[$i][0] . "&asc=" . $inversa[$ordigo[1]], $kolumnoj[$i][1] . "<img src='bildoj/" . $ordigo[1] . "_order.gif' />"); } else { if (is_numeric($kolumnoj[$i][0])) { echo $kolumnoj[$i][1]; } else { ligu($eigenlink . "&orderby=" . $kolumnoj[$i][0] . "&asc=asc", $kolumnoj[$i][1]); } } echo "</th>"; } else { eoecho($kolumnoj[$i][0] . ";"); } $i++; } if ($csv >= '2') { echo "\n"; } else { if ($csv == 1) { echo "<br/>\n"; } else { echo "</tr>\n"; } } $result = sql_faru($sql . " order by " . $ordigo[0] . " " . $ordigo[1]); if (DEBUG) { var_export($result); } $linionumero = 0; while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { $linionumero += 1; if ($csv == 0) { echo "<TR onmouseover='marku(this)' onmouseout='malmarku(this)' " . " class='" . $klaso[$linionumero % 2] . "'>\n"; // TODO: Javascript ausprobieren } $i = 0; while (isset($kolumnoj[$i])) { $kolumno = $kolumnoj[$i]; $temp = $kolumno[0]; $textinhalt = $kolumno[2]; $aus = $kolumno[3]; $linkk = $kolumno[4]; if ($kolumno[5] != '-1') { $doselectWert = $row[$kolumno[5]]; } else { $doselectWert = '-1'; } //echo "<TD align=$ausrichtung[$aus]>$row[$temp]</TD>"; if ($csv == 0) { echo "<td align={$ausrichtung[$aus]}>"; } if ($linkk != '' and $csv == 0) { $ausgeben = str_replace('XXXXX', $row[$temp], $linkk); echo "<A href=" . $ausgeben; if ($doselectWert && $doselectWert != '-1') { echo " onClick='doSelect(" . $doselectWert . ");'"; } echo ">"; } $ez &= $extra['Zeichenersetzung']; if (isset($ez[$i][$row[$temp]])) { $ausgeben = str_replace('XXXXX', $extra['Zeichenersetzung'][$i][$row[$temp]], $textinhalt); } else { if (isset($extra['anstatauxo_funkcio'][$i])) { $nova_teksto = $extra['anstatauxo_funkcio'][$i]($row[$temp]); $ausgeben = str_replace('XXXXX', $nova_teksto, $textinhalt); } else { $ausgeben = str_replace('XXXXX', $row[$temp], $textinhalt); } } if (isset($extra['okupigxtipo']) and $extra['okupigxtipo'] == $i) { $ausgeben = okupigxtipo($row[$temp]); } if ($csv != '2') { eoecho($ausgeben); } else { echo utf8_decode($ausgeben); } // eldonas en ISO-8859-1 if ($csv != 0) { echo ";"; } else { if ($linkk != '') { echo "</a></td>\n"; } else { echo "</td>\n"; } } //Zusammenzählen $SummenIndex = 0; while (isset($sumoj[$SummenIndex])) { $ii = $i; switch ($sumoj[$SummenIndex][$i][1]) { case 'A': $summe[$SummenIndex][$i] += 1; break; case 'J': if ($row[$temp] == 'J') { $summe[$SummenIndex][$i] += 1; } break; case 'Z': if ($row[$temp] != 0) { $summe[$SummenIndex][$i] += 1; } break; case 'E': if ($row[$temp] != '') { $summe[$SummenIndex][$i] += 1; } break; case 'N': if ($row[$temp] != '') { $summe[$SummenIndex][$i] += $row[$temp]; } break; } $SummenIndex += 1; } $i++; } if ($csv == 0 and isset($extra['litomanko'])) { $manko = eltrovu_litojn($row[$extra['litomanko']]); for ($i = 1; $i <= 7; $i++) { if ($manko[$i] == '1') { echo "<td>X</td>"; } else { echo "<td>-</td>"; } } echo "<td>"; rajtligu("cxambroj.php?cx_ago=forgesu&partoprenID=" . $row[$extra['litomanko']], "serc^u", "", "cxambrumi"); echo "</td>"; } if ($csv == 0 and isset($extra['tutacxambro'])) { $partoprenanto = new Partoprenanto($row[0]); $partopreno = new Partopreno($row[1]); // echo "CX: ".eltrovu_cxambrojn($row[$extra['tutacxambro']]); $cxambro = mysql_fetch_array(eltrovu_cxambrojn($row[$extra['tutacxambro']])); if ($cxambro[0] != '') { echo "</tr>\n<tr><td colspan='" . count($kolumnoj) . "'>"; montru_kunlogxantojn($cxambro[0]); montru_cxambron($cxambro[0], $_SESSION["renkontigxo"], $partoprenanto, $partopreno, 'granda'); echo "</td>\n"; } } if ($csv == 0) { echo "</tr>\n"; } else { if ($csv == 1) { echo "<br/>\n"; } else { echo "\n"; } } } if ($csv == 0) { // sumoj // TODO: rerigardu indeksojn $SummenIndex = 0; while (isset($sumoj[$SummenIndex][0])) { echo "<tr class='sumoj'>"; $i = 0; while (isset($sumoj[$SummenIndex][$i])) { $aus = $sumoj[$SummenIndex][$i][2]; echo "<td class='{$arangxo[$aus]}'>" . str_replace('XX', $summe[$SummenIndex][$i], $sumoj[$SummenIndex][$i][0]) . "</td>"; $i += 1; } echo "</tr>\n"; $SummenIndex += 1; } echo "</table>\n"; if ($almenuo != "") { ligu("menuo.php?sercxfrazo={$sql}", "Enmeti en la maldekstran menuon", "is-aligilo-menuo"); } if ($proprakapo == "jes") { echo "</body>\n</html>"; } } }
// "select ID,prilaborata,dato,partoprenantoID,subjekto,kiu,kunKiu,tipo from notoj where partoprenantoID='".$partoprenanto->datoj[ID]."'" $sql = datumbazdemando(array("ID", "prilaborata", "dato", "partoprenantoID", "subjekto", "kiu", "kunKiu", "tipo"), "notoj", "", array("partoprenanto" => "partoprenantoID")); sercxu($sql, array("dato", "desc"), array(array('ID', '', '->', 'z', '"notoj.php?wahlNotiz=XXXXX"', '-1'), array('prilaborata', 'prilaborata?', 'XXXXX', 'z', '', '-1'), array('dato', 'dato', 'XXXXX', 'l', '', '-1'), array('subjekto', 'subjekto', 'XXXXX', 'l', '', '-1'), array("kiu", "kiu", 'XXXXX', 'l', '', '-1'), array("kunKiu", "kun Kiu?", 'XXXXX', 'l', '', '-1'), array("tipo", "tipo", 'XXXXX', 'l', '', '-1')), array(array('', array('∑ XX', 'A', 'z'))), "notoj-akceptado", array('Zeichenersetzung' => array('1' => array('j' => '<strong class="malaverto">prilaborata</strong>', '' => '<strong class="averto">neprilaborata</strong>', 'n' => '<strong class="averto">neprilaborata</strong>'))), 0, '', '', 'ne'); // Kotizokalkulado kaj kotizkolektado echo "<table>"; $kot = new Kotizo($_SESSION["partopreno"], $partoprenanto, $_SESSION["renkontigxo"]); $kot->montru_kotizon(0, $_SESSION["partopreno"], $partoprenanto, $_SESSION["renkontigxo"]); echo "</table>"; echo "<form action='akceptado.php' method='post'>"; eoecho("<h2>Farendas:</h2><ul>"); echo "<li>Kolektu la pagon de:"; entajpejo("", kvanto, $nenio, 5, "", "", " E^ (Se mankas mono nepre prenu garantiaj^on!)"); echo "</li>"; /************** cxambromontrado kaj -disdono ************/ if ($_SESSION["partopreno"]->datoj[domotipo] == 'J') { $row = mysql_fetch_array(eltrovu_cxambrojn($_SESSION["partopreno"]->datoj[ID]), MYSQL_NUM); echo "<li>"; montru_cxambron($row[0], $_SESSION["renkontigxo"], $partoprenanto, $_SESSION["partopreno"], "malgranda"); eoecho("<br />Notu la c^ambronumero sur {$ri}a bros^uro</li>"); } else { eoecho("<li>Notu 'M' kiel c^ambronumero sur {$ri}a bros^uro</li>"); } /******** Disdono de diversajxoj *************/ eoecho("<li>Eldonu la broschuron.</li>"); if ($_SESSION["partopreno"]->datoj[domotipo] == 'J' or $_SESSION["partopreno"]->datoj[kunmangxas] == 'J') { eoecho("<li>Eldonu la mang^kuponon.</li>"); } eoecho("<li>Eldonu la noms^ildon.</li>"); if ($_SESSION["partopreno"]->datoj[komencanto] == 'J') { eoecho("<li>Donu 'kiel funkcias IS'.</li>"); } else {
/** * montras la unuan ĉambron (laŭ ajna sistemo) de * partoprenanto, kun la kunloĝdeziroj de ĉiuj * enloĝantoj. * * @param int $ppenoID identigilo de partopreno-objekto. * @access private */ function montru_cxambron($ppenoID) { // $partoprenanto = new Partoprenanto($row[0]); $partopreno = new Partopreno($ppenoID); $partoprenanto = new Partoprenanto($partopreno->datoj['partoprenantoID']); // echo "CX: ".eltrovu_cxambrojn($row[$extra['tutacxambro']]); $cxambroinformoj = mysql_fetch_assoc(eltrovu_cxambrojn($ppenoID)); $cxambro = $cxambroinformoj['cxambro']; if ($cxambro) { montru_kunlogxantojn($cxambro); montru_cxambron($cxambro, $_SESSION["renkontigxo"], $partoprenanto, $partopreno, 'granda'); } }
function Kotizo($partopreno, $partoprenanto, $renkontigxo) { if ($partopreno == null) { return; } //agxo je la komenco de la arangxo $agxo = kalkulu_agxon($partoprenanto->datoj['naskigxdato'], $renkontigxo->datoj['de']); // echo "AGXO: $agxo"; $this->agxkategorio = $this->kalkulu_agx_kategorio($agxo, $renkontigxo); $this->komento .= "agxkategorio = '" . $this->agxkategorio . "', "; //40 Euro mehr für über 40 jährige (nur 2003) if ($agxo >= 40.0 && $renkontigxo->datoj["ID"] == 3) { $this->kromtroagxa = 40; } // TODO: auch aus der DB ziehen. $this->landakategorio = eltrovu_landokategorion($partoprenanto->datoj[lando]); if (!$this->landakategorio) { // TODO: cxu eble pli bone A? $this->landakategorio = "C"; } // TODO: Cxu GROUP BY necesas? // "select sum(kvanto) from pagoj where dato>='".$renkontigxo->datoj[de]."' and partoprenoID='".$partopreno->datoj[ID]."' group by partoprenoID order by dato asc" // sumo de surlokaj pagoj (= pagoj, kiuj ne okazis antauxe) $row = mysql_fetch_row(sql_faru(datumbazdemando("SUM(kvanto)", "pagoj", array("dato >= '" . $renkontigxo->datoj[de] . "'", "partoprenoID = '" . $partopreno->datoj[ID] . "'"), "", array("group" => "partoprenoID", "order" => "dato ASC")))); if ($row) { $this->surlokapago = $row[0]; } //eltrovi la antauxpagon egalas: eltrovi la unuan pagon // TODO: Cxu vere? Cxu ne eblas plurfoje antauxpagi? // TODO: Cxu GROUP BY necesas? // "select sum(kvanto) from pagoj where dato<'".$renkontigxo->datoj[de]."' and partoprenoID='".$partopreno->datoj[ID]."' group by partoprenoID order by dato asc" $row = mysql_fetch_row(sql_faru(datumbazdemando("SUM(kvanto)", "pagoj", array("dato < '" . $renkontigxo->datoj["de"] . "'", "partoprenoID = '" . $partopreno->datoj["ID"] . "'"), "", array("group" => "partoprenoID", "order" => "dato ASC")))); if ($row) { $this->antauxpago = $row[0]; } // "select dato from pagoj where partoprenoID='".$partopreno->datoj[ID]."' order by dato asc limit 0,1" $row = mysql_fetch_row(sql_faru(datumbazdemando("dato", "pagoj", "partoprenoID = '" . $partopreno->datoj['ID'] . "'", "", array("order" => "dato ASC", "limit" => "0,1")))); if ($row) { $this->antauxpagdato = $row[0]; } //eltrovi la rabatsumon // "select sum(kvanto) from rabatoj where partoprenoID='".$partopreno->datoj[ID]."' group by partoprenoID" // TODO: Cxu GROUP BY necesas? $row = mysql_fetch_row(sql_faru(datumbazdemando("SUM(kvanto)", "rabatoj", "partoprenoID='" . $partopreno->datoj[ID] . "'", "", array("group" => "partoprenoID")))); if ($row) { $this->rabato = $row[0]; } if ($partopreno->datoj["KKRen"] == 'J') { $relevantadato = $renkontigxo->datoj["plejfrue"]; } else { if (!$partopreno->datoj["aligxkategoridato"] or $partopreno->datoj["aligxkategoridato"] == "0000-00-00") { if ($this->landakategorio[0] == "C") { $this->relevantadato = $partopreno->datoj["aligxdato"]; } else { if ($this->landakategorio[0] == "B" and $this->antauxpago >= 8) { // TODO: minimuma antauxpago el datumbazo $this->relevantadato = $this->antauxpagdato; } else { if ($this->landakategorio[0] == "A" and $this->antauxpago >= 28) { // TODO: minimuma antauxpago el datumbazo $this->relevantadato = $this->antauxpagdato; } else { // alia kategorio? $this->relevantadato = $renkontigxo->datoj["de"]; } } } } else { $this->relevantadato = $partopreno->datoj["aligxkategoridato"]; } } $this->aligxkategorio = $this->kalkulu_aligx_kategorion($this->relevantadato, $renkontigxo); $this->partoprentagoj = kalkulu_tagojn($partopreno->datoj[de], $partopreno->datoj[gxis]); $renkontigxotempo = kalkulu_tagojn($renkontigxo->datoj[de], $renkontigxo->datoj[gxis]); //$landarabato = kalkulu_landa_rabato($partoprenanto->datoj[lando]); if ($renkontigxo->datoj["ID"] < 4) { $rabato = 0.0; if ($partopreno->datoj[domotipo][0] != "M") { if ($this->landakategorio[0] == "B") { $rabato = 30.0; } else { if ($this->landakategorio[0] == "C") { $rabato = 40.0; } } } else { if ($partopreno->datoj[domotipo][0] == "M") { if ($this->landakategorio[0] == "B") { $rabato = 40.0; } else { if ($this->landakategorio[0] == "C") { $rabato = 50.0; } } } } $this->landarabato = $rabato; } //auch aus der DB!! $baza = $this->kutimaprezo($renkontigxo->datoj[ID], $this->agxkategorio, $this->aligxkategorio, $partopreno->datoj["domotipo"], $this->landakategorio); $this->bazahodiaux = $this->kutimaprezo($renkontigxo->datoj[ID], $this->agxkategorio, $this->kalkulu_aligx_kategorion(date("Y-m-d", time()), $renkontigxo), $partopreno->datoj[domotipo], $this->landakategorio); /* mi rekalkulas, por ke la kromefiko nuligxu. */ $this->kalkulu_aligx_kategorion($this->relevantadato, $renkontigxo); if ($renkontigxo->datoj["ID"] < 4) { $plej_alta = $this->plejaltaprezo($renkontigxo->datoj[ID], $this->agxkategorio, $partopreno->datoj[domotipo]); $parttempa = $plej_alta / $renkontigxo->datoj[parttemppartoprendivido] * $this->partoprentagoj; } else { $parttempa = $baza * $this->partoprentagoj / $renkontigxo->datoj["parttemppartoprendivido"]; } if ($this->partoprentagoj < $renkontigxotempo) { if ($renkontigxo->datoj["ID"] < 4) { //echo "Baza $baza parttempa $parttempa rabato:".$this->landarabato; if ($parttempa < $baza - $this->landarabato) { $baza = $parttempa; $this->landarabato = 0; // $kromsenantauxpago = 0; //parttemppartoprenantoj ne devas antauxpagi } //else $baza=$plej_alta; quasi $baza=$baza; //echo "Baza $baza parttempa $parttempa rabato:".$this->landarabato; } else { $baza = $parttempa; } } // se la parta_prezo estos pli pl la baza, k.e. junaj homoj kun 6 partoprentagoj ni prenos la bazprezon. $this->bazakotizo = $baza; //kalkulu_bazo($agxo,$kato,$domo,$landakategorio,$partoprentagoj,$this->antauxpago); // TODO: jaja, später aus der DB // if ($partopreno->datoj[dulita][0]=="J") $this->kromdulita=(double)20.00; //TODO: certigi, ke vere estas dulita cxambro $row = mysql_fetch_array(eltrovu_cxambrojn($partopreno->datoj[ID]), MYSQL_NUM); if ($row) { // "select litonombro,dulita from cxambroj where ID='".$row[0]."'" $row2 = mysql_fetch_array(sql_faru(datumbazdemando(array("litonombro", "dulita"), "cxambroj", "ID = '" . $row[0] . "'")), MYSQL_BOTH); $this->litoj = $row2[litonombro]; if ($row2[dulita] == 'J') { $this->litoj = 2; } //TODO: traduku: Simulierter Zweierzimmer bei Raumüberschuss. if ($this->litoj == '2') { $this->kromdulita = (double) 20.0; } if ($row2[litonombro] == '1') { $this->kromdulita = (double) 30.0; } //TODO: eventuell andere Zuzahlung für Einzelzimmer } else { // TODO: traduku: noch kein Zimmer zugewiesen - trotzdem dulita-krompago berechnen if ($partopreno->datoj['dulita'] == 'J') { $this->kromdulita = (double) 20.0; } } if ($renkontigxo->datoj['ID'] >= 7) { // ekde Würzburg nova invitilo-sistemo $invitdetaloj = $partopreno->sercxu_invitpeton(); if ($invitdetaloj and $invitdetaloj->datoj['invitletero_sendenda'] == 'j') { $this->krominvitilo = $agxo < 30 ? (double) 5 : (double) 10; } else { $this->krominvitilo = 0; } } else { if ($partopreno->datoj[invitletero][0] == 'J' and $partopreno->datoj[invitilosendata] != "0000-00-00") { if ($renkontigxo->datoj[ID] < 4 || $agxo < 30) { $this->krominvitilo = (double) 5; } else { $this->krominvitilo = (double) 10; } } else { $this->krominvitilo = 0.0; } } if ($partopreno->datoj[ekskursbileto] == 'J') { $this->kromekskurso = 7; } //auch aus der DB ziehen switch ($partopreno->datoj['surloka_membrokotizo']) { case 'j': case 'i': $this->krom_membro = $partopreno->datoj['membrokotizo']; break; case 'k': $this->krom_nemembro = $partopreno->datoj['membrokotizo']; break; } switch ($partopreno->datoj['tejo_membro_kontrolita']) { case 'i': $this->rabato_tejo = TEJO_RABATO; $this->kotizo_tejo = $partopreno->datoj['tejo_membro_kotizo']; break; case 'j': $this->rabato_tejo = TEJO_RABATO; $this->kotizo_tejo = 0.0; break; case '?': case 'n': $this->rabato_tejo = 0.0; $this->kotizo_tejo = 0.0; break; } $this->aliaj_krompagoj = $this->kromdulita + $this->krominvitilo + $this->kromekskurso + $this->kromtroagxa + $this->krom_surloka; $this->krompago = $this->aliaj_krompagoj + $this->kotizo_tejo + $this->krom_membro + $this->krom_nemembro; $this->cxiuj_rabatoj = $this->rabato + $this->rabato_tejo + $this->troagxasedrabato; $this->kotizo = $this->bazakotizo - $this->landarabato + $this->krompago - $this->cxiuj_rabatoj; $this->pagenda = $this->kotizo - $this->antauxpago - $this->surlokapago; // + Beachtung der Landeskategorien // Später auch mal aus der DB zu ziehen //return $baza; }
/** * * @param array $objektoj * <code>array('partopreno' => {@link Partopreno}, ...)</code> * @return boolean */ function kondicxo_havas_unulitan_cxambron($objektoj) { $partopreno = $objektoj['partopreno']; if ($partopreno->datoj["dulita"] != "U") { // ne mendis unulitan ĉambron return false; } if (estas_unu_el($partopreno->datoj['alvenstato'], 'm', 'n')) { // malaliĝis / ne venis return false; } if ($partopreno->datoj['domotipo'] != 'J') { return false; } $rez = eltrovu_cxambrojn($partopreno->datoj['ID']); if (mysql_num_rows($rez) > 0) { // ricevis ĉambron while ($linio1 = mysql_fetch_assoc($rez)) { $sql = datumbazdemando(array("litonombro", "dulita"), "cxambroj", "ID = '" . $linio1['cxambro'] . "'"); $linio2 = mysql_fetch_assoc(sql_faru($sql)); if ($linio2['litonombro'] <= 1 or $linio2['dulita'] == 'U') { return true; } } // ni ne trovis dulitan ĉambron, kvankam ri mendis return false; } else { // ankoraŭ ne havas ĉambron, // ~~> verŝajne ricevos dulitan return true; } }