Example #1
0
/**
 * 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"];
    ?>
&nbsp;<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;
    ?>
:&nbsp;<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";
}
Example #3
0
/**
 * 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";
}