function metu_mangxtabelkapon($renkontigxodauxro, $komenctago) { echo "<table>\n"; echo "<tr><td/><td/>"; $listo = array(); for ($tagoj = 0; $tagoj <= $renkontigxodauxro; $tagoj++) { $dato = sekvandaton($komenctago, $tagoj); $listo[] = $dato; $ar = JMTdisigo($dato); $tago = $ar['tago']; echo "<th>" . $tago . "</th>"; } echo "</tr>\n"; return $listo; }
if ($de == $dateloop) { echo " selected "; } echo ">{$dateloop}\n"; $dateloop = sekvandaton($dateloop); } while ($dateloop != $renkontigxo->datoj[gxis]); ?> </select> <?php eoecho("g^is:"); ?> <select name="gxis" size="1"> <?php $dateloop = $renkontigxo->datoj[de]; do { $dateloop = sekvandaton($dateloop); echo "<option"; if ($gxis == $dateloop or !$gxis and $dateloop == $renkontigxo->datoj[gxis]) { echo " selected "; } echo ">{$dateloop}\n"; } while ($dateloop != $renkontigxo->datoj[gxis]); echo "</select> <BR>\n"; entajpbokso("", "invitilo", $invitilo[0], "J", "JES", "bezonas invitilon"); // TODO: ripari "dulita" entajpbokso("<BR>", "dulita", $dulita[0], "J", "JES", "dulitan c^ambron //c^i - tie ne funkcias"); entajpbokso("<BR>", "ekskursbileto", $ekskursbileto[0], "J", "JES", "ekskursbileto"); //entajpbokso("<BR>","studento",$studento[0],"J","JES"," estas studento kun internacia legetimilo"); // im Moment nicht berücksichtigt. entajpbutono("<BR>" . deviga_membreco_nomo . '-membro: ', GEJmembro, $GEJmembro[0], "J", JES, jes, kutima); entajpbutono("", GEJmembro, $GEJmembro[0], "N", NE, "ne<BR>"); entajpbutono("", domotipo, $domotipo[0], "J", JunularGastejo, " seminariejo<BR>", kutima);
$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) if ($_SESSION["partopreno"]->datoj['domotipo'] == "J") { if (!$havas_cxambron) { eoecho($_SESSION["partoprenanto"]->personapronomo . " g^is nun ne havas c^ambron.<BR>"); rajtligu("cxambroj.php", "elektu unu", "", "cxambrumi", "jes");
/** * Montras la aktualan staton de cxambro. * $grandeco: - se ne donita aux "malgranda", montras nur * - se "granda", ... * verda se estas tauxga * rugxa se ne tauxgas (pro sekso) */ function montru_cxambron($cxambro, $renkontigxo, $partoprenanto, $partopreno, $grandeco = "malgranda") { $cxam_sql = datumbazdemando(array("litonombro", "nomo", "tipo", "etagxo", "dulita", "rimarkoj"), "cxambroj", "ID = '{$cxambro}'"); $cxam_rezulto = sql_faru($cxam_sql); $row = mysql_fetch_array($cxam_rezulto, MYSQL_BOTH); if (tauxgas($partopreno->datoj[cxambrotipo], $partoprenanto->datoj[sekso], $row[tipo])) { $koloro = "green"; } else { if ($row[tipo] == '') { $koloro = "black"; } else { $koloro = "red"; } } if ($grandeco == "granda") { ligu("cxambroj.php?etagxo=" . $row[etagxo], "Etag^o " . $row[etagxo]); echo " |"; } ligu("cxambroj.php?cxambronombro={$cxambro}", "C^ambro: {$row['nomo']}"); echo "<font color={$koloro}><strong>"; if ($row[tipo] == "v") { echo " (vira)"; } else { if ($row[tipo] == "i") { echo " (ina)"; } else { if ($row[tipo] == "g") { echo " (gea)"; } else { echo " (nedifinita)"; } } } echo "</strong></font>\n"; rajtligu("kreu_cxambron.php?id={$cxambro}", $grandeco == 'granda' ? "redaktu bazajn informojn" : "red.", "", "teknikumi", "ne"); if ($grandeco == "granda") { //sxangxi la cxambrotipon echo "<form action='cxambroj.php?cxambronombro={$cxambro}' method='post'>"; entajpbutono("(", "tipo", $row[tipo], "g", "g", 'gea'); entajpbutono("", "tipo", $row[tipo], "v", "v", 'vira'); entajpbutono("", "tipo", $row[tipo], "i", "i", 'ina)'); entajpbokso("[", dulita, $row[dulita], J, J, "dulita c^ambro]"); entajpejo("<BR>Rimarkoj:", "rimarkoj", $row[rimarkoj], 20); send_butono("Ek!"); echo "</form>"; } $renkontigxdauxro = kalkulu_tagojn($renkontigxo->datoj[de], $renkontigxo->datoj[gxis]); $partoprentagoj = kalkulu_tagojn($partopreno->datoj[de], $partopreno->datoj[gxis]); if ($partoprenanto->datoj[ID] and $grandeco == "granda") { echo "<form ACTION='cxambroj.php?cxambronombro={$cxambro}' METHOD='POST'>\n"; } echo "<Table border><TR><TD>Nokto: "; if ($grandeco == "granda") { $manko = eltrovu_litojn($partopreno->datoj[ID]); $ar = JMTdisigo($renkontigxo->datoj[de]); $tago = $ar[tago]; for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) { $ar = JMTdisigo(sekvandaton($renkontigxo->datoj[de], $noktoj)); $sektago = $ar[tago]; echo "<TD align=\"center\"> {$tago} / {$sektago}"; $tago = $sektago; } echo "<TD><TD align=\"center\">tuta tempo"; } else { for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) { echo "<TD>{$noktoj}</noktoj>"; } } for ($litoj = 1; $litoj <= $row[litonombro]; $litoj++) { echo "<TR valign = center>\n<TD nowrap>Lito: " . $litoj; $uzata = false; for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) { $r = cxambro_uzata($cxambro, $noktoj, $litoj); $diferenco = $r[nokto_gxis] - $noktoj; echo "<TD align = center "; if ($diferenco > 0) { $noktoj += $diferenco++; //TODO:? hehe [respondo de Martin:] Das ist einfach nur eine geniale Funktion. echo "colspan = {$diferenco} "; } if ($r[rezervtipo] == "d") { echo " bgcolor=green> "; $uzata = true; } else { if ($r[rezervtipo] == "r") { echo " bgcolor=yellow> "; $uzata = true; } else { if ($partoprenanto and $grandeco == "granda" and sekvandaton($renkontigxo->datoj[de], $noktoj - 1) >= $partopreno->datoj[de] and sekvandaton($renkontigxo->datoj[de], $noktoj) <= $partopreno->datoj[gxis] and $manko[$noktoj] != "1") { echo ""; entajpbokso(">", "nokto[{$noktoj}]", "falseoderso", "", "{$litoj}", "", "", "ne"); } else { echo " bgcolor=white>--"; } } } echo "<A href = \"partrezultoj.php?partoprenidento={$r['3']}&partoprenantoidento={$r['0']}\" onClick=\"doSelect({$r['0']});\">"; if (($grandeco == "granda" or $diferenco > 3) and $r[partoprenantoID]) { $loka_partoprenanto = new Partoprenanto($r[partoprenantoID]); $teksto = $loka_partoprenanto->datoj[personanomo] . " " . $loka_partoprenanto->datoj[nomo] . " (" . eltrovu_landon($loka_partoprenanto->datoj[lando]) . " / " . $loka_partoprenanto->datoj[sekso] . "/" . $loka_partopreno->datoj[agxo] . ")"; if ($grandeco == "granda") { eoecho($teksto . "<BR> "); } else { eoecho($teksto); } //eoecho (/*substr*/($teksto,0,$diferenco*3)); } if ($diferenco > 3 and !$r[partoprenantoID] or $grandeco == "granda") { switch ($r[rezervtipo]) { case "d": echo "disdonita"; break; case "r": echo "rezervita"; break; } } else { if ($diferenco < 4) { echo $r[rezervtipo]; } } echo "</A>"; } if ($partoprenanto and $grandeco == "granda") { echo "<TD> <TD align=center>"; if ($uzata == false and $partoprentagoj == $renkontigxdauxro and $manko[sumo] == 0) { entajpbokso("", "tute", "falseoderso", "", "{$litoj}", "", "", "ne"); } } } echo "</Table>"; if ($partoprenanto->datoj[ID] and $grandeco == "granda") { echo "<select name=\"tipo\" size=1>\n"; echo "<option selected>rezervi\n"; echo "<option>disdoni\n"; echo "</select><BR>\n"; send_butono("Faru!"); echo "</FORM>"; } if ($grandeco != "granda") { eoecho($row[rimarkoj]); } }
$kot->montru_kotizon(0, $_SESSION["partopreno"], $_SESSION["partoprenanto"], $partopreno_renkontigxo); echo "</table>\n"; } echo "</td><td>"; if ($_SESSION['partopreno']->datoj['alvenstato'] == 'v' 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_array($rezulto, MYSQL_NUM)) { $sql = datumbazdemando("nomo", "cxambroj", "id = '{$row['0']}'"); $cxambronomo = mysql_fetch_array(sql_faru($sql), MYSQL_NUM); eoecho(sekvandaton($partopreno_renkontigxo->datoj[de], $row[1] - 1) . " - " . sekvandaton($partopreno_renkontigxo->datoj[de], $row[2]) . " ({$row['3']})\n"); if (rajtas("cxambrumi")) { ligu("cxambroj.php?cxambronombro={$row['0']}", "c^ambro: {$cxambronomo['0']}"); } else { eoecho("c^ambro: " . $cxambronomo[0] . " "); } rajtligu("partrezultoj.php?forgesendalito={$row['4']}", "forgesu", "", "cxambrumi", "jes"); echo "<br/>"; $valoro = "true"; } // TODO: Anzeigen, ob für jede Nacht ein Zimmer da ist. FEHLT Im Moment noch $manko = eltrovu_litojn($_SESSION["partoprenanto"]->datoj[ID]); if ($_SESSION["partopreno"]->datoj[domotipo] == "J") { if (!$valoro) { eoecho($_SESSION["partoprenanto"]->personapronomo . " g^is nun ne havas c^ambron.<BR>"); rajtligu("cxambroj.php?cx_ago=forgesu", "elektu unu", "", "cxambrumi", "jes");
// TODO: eble iam renomu al cxambrostatistiko require_once "iloj/iloj.php"; require_once 'iloj/fpdf/fpdf.php'; session_start(); malfermu_datumaro(); if (!rajtas("administri")) { ne_rajtas(); } HtmlKapo(); echo "<Table border=1>"; echo "<TR><TD>"; $renkontigxdauxro = kalkulu_tagojn($_SESSION["renkontigxo"]->datoj[de], $_SESSION["renkontigxo"]->datoj[gxis]); $ar = JMTdisigo($_SESSION["renkontigxo"]->datoj[de]); $tago = $ar[tago]; for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) { $ar = JMTdisigo(sekvandaton($_SESSION["renkontigxo"]->datoj[de], $noktoj)); $sektago = $ar[tago]; echo "<TD align=center> {$tago}/{$sektago}"; $tago = $sektago; } /** * */ function montru_laux_tage($nomo, $noktonombro, $sql, $klaso) { eoecho("<tr class='" . $klaso . "'><th>" . $nomo . "</th>"); // echo "<!-- noktonombro: $noktonombro -->"; for ($noktoj = 1; $noktoj <= $noktonombro; $noktoj++) { // echo "<!-- noktoj: $noktoj -->"; $vera_sql = str_replace('{{nokto}}', $noktoj, $sql); echo "<!-- vera_sql: [{$vera_sql}] -->\n";
/** * Montras la aktualan staton de ĉambro. * $grandeco: - se ne donita aŭ "malgranda", montras nur * - se "granda", ... * verda se estas taŭga * ruĝa se ne taŭgas (pro sekso) * * @todo transformu en pli bone uzeblan funkcio(j)n */ function montru_cxambron($cxambroID, $renkontigxo, $partoprenanto, $partopreno, $grandeco = "malgranda", $reenligo = "") { $cxambro = new Cxambro($cxambroID); $row = $cxambro->datoj; if ($grandeco == "granda") { ligu("cxambroj.php?etagxo=" . $row['etagxo'], "Etag^o " . $row['etagxo']); echo " |"; } ligu("cxambro-detaloj.php?cxambronumero=" . $cxambroID, "C^ambro: " . $row['nomo']); montru_cxambrosekson($row['tipo'], $partopreno, $partoprenanto); rajtligu("kreu_cxambron.php?id={$cxambroID}", $grandeco == 'granda' ? "redaktu bazajn informojn" : "red.", "", "teknikumi", "ne"); if ($grandeco == "granda") { //formularo por sxangxi la cxambrotipon formularo_por_bazaj_cxambroinformoj($cxambro); } $renkontigxdauxro = $renkontigxo->renkontigxonoktoj(); $partoprentagoj = is_object($partopreno) ? $partopreno->partoprennoktoj() : 0; echo "<form action='cxambroago.php' method='POST'>\n"; tenukasxe("cxambronumero", $cxambroID); if (!$reenligo) { if ($_SERVER['REQUEST_METHOD'] == "GET") { $reenligo = $_SERVER['PHP_SELF']; if ($_SERVER['QUERY_STRING']) { $reenligo .= "?" . $_SERVER['QUERY_STRING']; } } } if ($reenligo) { tenukasxe("reiru", $reenligo); } echo "<table class='cxambrolisto-{$grandeco}'><tr><th>Nokto:</th>"; if ($grandeco == "granda") { $manko = eltrovu_litojn($partopreno->datoj['ID']); $ar = JMTdisigo($renkontigxo->datoj['de']); $tago = $ar['tago']; $estis_elektebleco = false; // cxu estis ebla elekti liton por nokto? for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) { $ar = JMTdisigo(sekvandaton($renkontigxo->datoj['de'], $noktoj)); $sektago = $ar['tago']; echo "<th align='center'> {$tago} / {$sektago} </th>"; $tago = $sektago; } if ($partoprenanto) { // ebleco mendi tutan tempon echo "<td/><th>tuta tempo</th>"; } echo "</th>"; } else { // simpla noktolisto for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) { echo "<th>{$noktoj}</th>"; } } echo "</tr>"; for ($litoj = 1; $litoj <= $row['litonombro']; $litoj++) { echo "<tr >\n<th class='litonomo'>Lito: " . $litoj . "</th>"; $uzata = false; for ($noktoj = 1; $noktoj <= $renkontigxdauxro; $noktoj++) { // detaloj pri la rezervado $r = cxambro_uzata($cxambroID, $noktoj, $litoj); if ($r) { $uzata = true; $noktoj += metu_partoprenant_litan_keston($r, $noktoj, $partopreno->datoj['ID'], $grandeco); } else { if ($partoprenanto and $grandeco == "granda" and sekvandaton($renkontigxo->datoj['de'], $noktoj - 1) >= $partopreno->datoj['de'] and sekvandaton($renkontigxo->datoj['de'], $noktoj) <= $partopreno->datoj['gxis'] and $manko[$noktoj] != "1") { // ebligu mendi tiun liton por tiu nokto echo "<td class='elektebla'>"; entajpbokso("", "nokto[{$noktoj}]", "falseoderso", "", "{$litoj}", "", "", "ne"); echo "</td>"; $estis_elektebleco = true; } else { echo "<td class='malplena'>--</td>"; } } // else } // for (noktoj) if ($partoprenanto and $grandeco == "granda") { // mendi cxiujn noktojn? echo "<td> </td><td class='elektebla'>"; if ($uzata == false and $partoprentagoj == $renkontigxdauxro and $manko['sumo'] == 0) { entajpbokso("", "tute", "falseoderso", "", "{$litoj}", "", "", "ne"); } echo "</td>"; } echo "</tr>"; } // for (litoj) echo "</table>"; if ($partoprenanto->datoj['ID'] and $grandeco == "granda") { if ($estis_elektebleco) { // butono por rezervi butono('rezervu', "Rezervu elektitajn litojn"); // butono por disdoni - TODO: aux cxu nur surloke? butono('disdonu', "Disdonu elektitajn litojn"); } // echo "<select name='tipo' size='1'>\n"; // echo "<option selected>rezervi\n"; // echo "<option>disdoni\n"; // echo "</select><BR>\n"; // send_butono("Faru!"); } echo "</form>"; if ($grandeco != "granda") { eoecho($row[rimarkoj]); } }