/** * kreas redaktileron por redakti unu ĉenon. * * @param string $ordono * @param u8string $stato (teksto por montri) * @param string $class (por CSS-identigo) * @param string $dosiero * @param boolean $montru_dosieron ĉu montri la nomon de la dosiero en la kadro (true) aŭ nur la ĉenon (false)? * @param string $cheno * @param string $lingvo * @param tradstring $originalo * @param tradstring $traduko * @param tradstring $komento * @param string $tradukinto */ function skatolo_por_cheno($ordono, $stato, $class, $dosiero, $montru_dosieron, $cheno, $lingvo, $originalo = "", $traduko = "", $komento = "", $tradukinto = "", $pre_formata = 0, $preredaktilo = "") { global $tradukoj, $agordoj; static $nombrilo = 0; $nombrilo++; // if ($ordono == "aldonu") $ordono_teksto = $tradukoj["aldonu-ordono"]; // elseif ($ordono == "redaktu") $ordono_teksto = $tradukoj["redaktu-ordono"]; // elseif ($ordono == "forigu") $ordono_teksto = $tradukoj["forigu-ordono"]; $ordono_teksto = $tradukoj[$ordono . "-ordono"]; ?> <table class="<?php echo $class; ?> "> <tr> <td><input type="hidden" name="dosiero-<?php echo $nombrilo; ?> " value="<?php echo $dosiero; ?> " /> <input type="hidden" name="cheno-<?php echo $nombrilo; ?> " value="<?php echo $cheno; ?> " /> <input type="hidden" name="iso2-<?php echo $nombrilo; ?> " value="<?php echo $lingvo; ?> " /> <?php echo $tradukoj["cheno"]; ?> <?php echo $montru_dosieron ? $dosiero . "#" : ""; echo $cheno; ?> </td> <td align="right" valign="top"><?php echo $tradukoj["stato"]; ?> <span class="<?php echo $class; ?> "><?php echo $stato; ?> </span></td> </tr> <tr> <td><?php echo $tradukoj["chefa-lingvo"]; if ($pre_formata) { echo "<pre>"; } else { echo "<b>"; } echo htmlspecialchars(al_utf8($originalo)); if ($pre_formata) { echo "</pre>"; } else { echo "</b>"; } ?> </td> <td align="right" valign="bottom"><?php echo $ordono_teksto; ?> : <input type="checkbox" name="<?php echo $ordono; ?> -<?php echo $nombrilo; ?> " value="jes" onclick="a = document.getElementById('traduko-<?php echo $nombrilo; ?> '); if (a) a.disabled = !this.checked; a = document.getElementById('komento-<?php echo $nombrilo; ?> '); if (a) a.disabled = !this.checked;" /><br /> <?php if ($preredaktilo) { echo $tradukoj['pre-formatu']; jes_ne_bokso('preformatu-' . $nombrilo, (bool) $pre_formata); } ?> </td> </tr> <?php if ($ordono != "forigu") { if (strlen($traduko) == 0) { $vicoj = 4; } else { $vicoj = min(3 + substr_count($traduko, "\n"), 10); } ?> <tr><td colspan="2"><textarea id="traduko-<?php echo $nombrilo; ?> " name="traduko-<?php echo $nombrilo; ?> " cols="60" rows="<?php echo $vicoj; ?> " disabled="disabled"><?php echo htmlspecialchars($traduko); ?> </textarea></td></tr> <?php if ($lingvo == $agordoj["chefa_lingvo"]) { $komentovicoj = min(max(2, 1 + substr_count($komento, "\n")), 8); ?> <tr><td colspan="2"><?php echo $tradukoj["komento"]; ?> </td></tr> <tr><td colspan="2"><textarea id="komento-<?php echo $nombrilo; ?> " name="komento-<?php echo $nombrilo; ?> " cols="60" rows="<?php echo $komentovicoj; ?> " disabled="disabled"><?php echo htmlspecialchars($komento); ?> </textarea></td></tr> <?php } else { if ($komento) { ?> <tr><td colspan="2"><?php echo $tradukoj["komento"]; ?> <b><?php echo al_utf8($komento); ?> </b></td></tr> <?php } } if ($tradukinto) { ?> <tr><td colspan="2"><?php echo $tradukoj["tradukinto"]; ?> <b><?php echo $tradukinto; ?> </b></td></tr> <?php } } ?> </table> <?php }
/** * metas tabellinion, kiu estas kaplinio por tabelo. * Ĝi enhavas elektobutonon, per kiu oni povas videbligi (aŭ malvidebligi) * tiun parton de la serĉtabelo. Nur en aktiva formo la kampoj en ĝi estos * uzata (por montri aŭ kiel kondiĉoj) en la serĉado. (Bezonas * Ĵavoskripton por funkcii.) * * @param eostring $priskribo la familiara nomo de la tabelo. Nur uzata por * la teksto en tiu kaplinio. * @param string $tabelo la (datumbaza) nomo de la tabelo. * @param array $valoroj la ĝenerala serĉ-detaloj-strukturo. */ function sercxtabelkapo($priskribo, $tabelo, $valoroj) { $uzunomo = "sercxo_tabelo_{$tabelo}_uzu"; echo "<tr><td colspan='4' class='nevidebla'/></tr>\n"; echo "<tr><th class='tabelo' colspan='4'>\n"; jes_ne_bokso($uzunomo, $valoroj[$uzunomo], "kasxKontrolo('{$tabelo}')"); eoecho(" <strong>{$priskribo}</strong>\n"); echo "<script type='text/javascript'> kontrollisto.push('{$tabelo}'); </script>\n"; echo "</th></tr>\n"; }
/** * Montras formularon por krei/ŝanĝi noton. * * @param Partoprenanto $partoprenanto la Partoprenanto, al kiu rilatas * la noto. * @param Noto $noto la noto-objekto ŝanĝenda. */ function montru_notoformularon($partoprenanto, $noto) { if ($noto->datoj['ID']) { eoecho("<h2>S^ang^o de noto</h2>\n"); } else { eoecho("<h2>Nova noto</h2>\n"); } echo "<form method='post' action='notoj.php'>\n"; echo "<table>\n"; tabela_kasxilo("Noto-ID", 'ID', $noto->datoj['ID']); tabela_kasxilo("Ppanto-ID", 'partoprenantoID', $partoprenanto->datoj['ID'], $partoprenanto->tuta_nomo() . " (" . donu_ligon("partrezultoj.php?partoprenantoidento=" . $partoprenanto->datoj['ID'], "#" . $partoprenanto->datoj['ID']) . ")"); tabel_entajpbutono("Tipo", 'tipo', $noto->datoj['tipo'], 'telefon', "telefona kontakto", '', true); tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'persone', "persona kontakto", '', true); tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'letere', "letera kontakto", '', true); tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'rete', "ret(pos^t)a kontakto", '', true); tabel_entajpbutono("", 'tipo', $noto->datoj['tipo'], 'rimarko', "alia rimarko", '', true); tabelentajpejo("dato/tempo", 'dato', $noto->datoj['dato'], 20); tabelentajpejo("noto de ...", 'kiu', $noto->datoj['kiu'], 45); tabelentajpejo("pri komunikado kun ...", 'kunKiu', $noto->datoj['kunKiu'], 45); eoecho("<tr><th>noto por:</th><td>"); $entajpantoj = $noto->listu_entajpantojn(); foreach ($entajpantoj as $id => $inf) { echo "<span style='display: inline-block;'>"; jes_ne_bokso('noto_por[' . $id . ']', $inf[1]); eoecho($inf[0] . "</span>\n "); } eoecho("</td></tr>"); tabelentajpejo("temo", 'subjekto', $noto->datoj['subjekto'], 45); granda_tabelentajpejo("teksto", 'enhavo', $noto->datoj['enhavo'], 57, 20); tabela_elektilo("prilaborita", 'prilaborata', array("j" => 'jes', '' => 'ne'), $noto->datoj['prilaborata'], " (se ne, remontru je ..."); tabelentajpejo("", 'revidu', $noto->datoj['revidu'], 20, ")"); echo "</table>\n<p>"; if ($noto->datoj['ID']) { butono("notu", "S^ang^u la noton!"); } else { butono("notu", "Nova noto!"); } ligu("sercxrezultoj.php?elekto=notojn&partoprenantoidento=" . $partoprenanto->datoj['ID'], "C^iuj notoj de " . $partoprenanto->tuta_nomo()); ligu("partrezultoj.php?partoprenantoidento=" . $partoprenanto->datoj['ID'], "Partoprenanto-detaloj"); echo "</p>\n</form>\n"; }
/** * Montras la sum-liniojn taŭgajn por HTML-tabelo. */ function montru_HTMLsumojn() { foreach ($this->reguloj as $linio => $regullinio) { echo "<tr class='sumoj'>\n"; foreach ($regullinio as $kolumno => $regulo) { if ($regulo) { if ($regulo[1] == 'X') { echo " <td class='" . $GLOBALS['arangxklaso'][$regulo[2]] . " travidebla'>"; debug_echo("<!-- sercxilo: " . var_export($this->sercxilo, true) . "-->"); debug_echo("<!-- identigilo: " . $this->sercxilo->identigilo . ", montras: " . $this->sercxilo->montras_memligojn . "\n -->"); jes_ne_bokso('montru-memligojn-' . $this->sercxilo->identigilo, $this->sercxilo->montras_memligojn, 'malkasxu("montru-memligojn-' . $this->sercxilo->identigilo . '", ' . '"memligoj-' . $this->sercxilo->identigilo . '");'); eoecho($regulo[0]); } else { echo " <td class='" . $GLOBALS['arangxklaso'][$regulo[2]] . "'>"; eoecho(str_replace('XX', $this->sumoj[$linio][$kolumno], $regulo[0])); } echo "</td>\n"; } else { echo "<td class='travidebla'/>\n"; } } echo "</tr>\n"; } }
$lingvolisto = array('eo' => CH("nur-esperante"), 'cs' => CH("ankaux-cxehxe"), 'de' => CH("ankaux-germane"), 'pl' => CH("ankaux-pole")); // TODO: pripensu oferti la konfirmilon en pli ol du lingvoj. aliĝilo_tabelelektilo('konfirmilolingvo', CH('konfirmiloj-lingvoj'), $lingvolisto, $lingvo); ?> </tr> <?php $rimarko_piednoto = ""; // TODO - ĉu "Alia lando" ĉiam estu numero 47? if ($_POST['lando'] == 47) { $rimarko_piednoto .= aliĝilo_aldonu_piednoton(CH('alia-lando-rimarko')); } aliĝilo_granda_tabelentajpilo('rimarkoj', CH('rimarkoj-titolo') . $rimarko_piednoto); ?> <tr> <th> <?php $kondicxo_ligo = CH('kondicxo-ligo'); echo CH('kondicx-konsento'); echo "</th>"; debug_echo("<!-- mankas: " . var_export($GLOBALS['mankas'], true) . "-->"); if (is_array($GLOBALS['mankas']) and in_array('konsento', $GLOBALS['mankas'])) { echo "<td class='mankas'><p>"; echo CH("kondicxo-necesas", "<a href='" . $kondicxo_ligo . "'>", "</a>"); echo "</p>"; } else { echo "<td>"; } jes_ne_bokso('konsento', false); echo CH('jes-mi-konsentas', "<a href='" . $kondicxo_ligo . "'>", "</a>"); echo "</td>\n </tr>"; simpla_aliĝilo_fino(5, array('sekven-butono' => CH("Aligxu")));
/** * montras mendilon por manĝoj. * * @param Partopreno|null $partopreno * la partopreno-objekto, por kiu ni * montru la mendilon. Se mankas, tiam * montru mendilon por nova partopreno. */ function montru_mangxomendilon($partopreno = null) { $malmendu_teksto = CH("~#malmendu-cxiujn"); $mendu_teksto = CH("~#mendu-cxiujn"); echo "<!-- montru_mangxomendilon(" . var_export($partopreno, true) . ")\n-->"; list($tagolisto, $tabelo) = kreu_mangxtabelon($partopreno); echo "<table class='mangxmendilo'>\n"; echo " <tr class='mangxmendilo-datoj'>\n <td/>\n"; foreach ($tagolisto as $dato) { echo " <th>" . $dato . "</th>\n"; } echo " </tr>\n"; foreach ($tabelo as $tipo => $tabellinio) { eoecho(" <tr id='mendillinio-" . $tipo . "'>\n <th>" . $GLOBALS['mangxotipoj'][$tipo] . "</th>\n"); $cxiu_elektita = true; foreach ($tagolisto as $dato) { $ero = $tabellinio[$dato]; if ($ero) { echo " <td>"; jes_ne_bokso("mangxmendo[" . $ero['mtempo']->datoj['ID'] . "]", $ero['mendita']); $cxiu_elektita = $cxiu_elektita && (bool) $ero['mendita']; // eoecho($dato); echo "</td>\n"; } else { echo " <td/>\n"; } } echo " <td class='cxiuj-ligo'>"; ligu("javascript:menduCxiujn(this, '" . $tipo . "')", $cxiu_elektita ? $malmendu_teksto : $mendu_teksto, '', array('class' => $cxiu_elektita ? 'malmendu-cxiujn' : 'mendu-cxiujn', 'id' => 'cxiomendoligo-' . $tipo)); echo "</td>\n"; // jes_ne_bokso("cxiuj-mangxoj-" . $tipo, // false, "menduCxiujn(this, '".$tipo."')"); // eoecho ("c^iuj </td>\n"); echo " </tr>\n"; } echo "</table>\n"; }
/** * montras tabelon de ĉiuj konservitaj serĉoj, * kiu estas (mal)kaŝebla per elekto-butono. * * (Tio nur funkcias kun Ĵavaskripto.) * * @param boolean $montru - ĉu ni montru ĝin antaŭ la unua uzanta ago? * @uses sercxoElektilo() */ function kasxeblaSercxoElektilo($montru = false) { echo "<p>"; jes_ne_bokso("montru_antauxajn", $montru ? 'JES' : 'NE', "malkasxu('montru_antauxajn', 'listo-de-sercxoj')"); eoecho(" Montru antau^ajn serc^ojn</p>\n"); if ($montru) { echo "<div id='listo-de-sercxoj'>\n"; } else { echo "<div style='display:none;' id='listo-de-sercxoj'>\n"; } sercxoElektilo(); echo "</div>\n"; }
/** * markbutono kun titolo en du apudaj tabelcxeloj. * * @param string $nomo * @param u8string $titolo * @param u8string $jes_teksto * @param string|boolean $defauxlto la defauxlta * stato de la elektilo. */ function aliĝilo_tabel_jesne_ilo($nomo, $titolo, $jes_teksto, $defaŭlto) { echo "<th><label for='{$nomo}'>" . $titolo . "</label></th>\n"; echo "<td>\n"; if (isset($_POST[$nomo])) { $val = $_POST[$nomo]; } else { $val = $defaŭlto; } jes_ne_bokso($nomo, $val); echo $jes_teksto; echo "</td>\n"; }