function formatu_personkostotipon($tipo)
{
    if (rajtas('teknikumi')) {
        return donu_ligon("personkostotipo.php?id=" . $tipo->datoj['ID'], $tipo->datoj['nomo']);
    } else {
        return $tipo->datoj['nomo'];
    }
}
 /**
  * formatas la nomon de tiu regulo.
  *
  * depende tio, cxu la uzanto havas la rajton 'teknikumi',
  * ni metas ligon por redakti tiun objekton, aux simple nur
  * la nomon.
  * @return eostring
  */
 function formatu_nomon()
 {
     if (rajtas("teknikumi")) {
         return donu_ligon("regulo.php?tipo=" . $this->tipo . "&id=" . $this->datoj['ID'], $this->datoj['nomo']);
     } else {
         return $this->datoj['nomo'];
     }
 }
/**
 * kreas tabelon de ĉiuj pseŭdopagoj por iu partoprenanto.
 * @param asciistring $tipo la tipo de pseŭdopago
 *              (pago, rabato, krom)
 * @param int $partoprenoID 
 * @param asciistring $rajto se estas tiu rajto, ni montras ligon
 *        por redakti en la unua kolumno.
 */
function tabelu_pseuxdopagojn_por($tipo, $partoprenoID, $rajto)
{
    $sql = datumbazdemando(array("ID", "kvanto", "valuto", "tipo", "dato"), $GLOBALS['pp_tabelnomoj'][$tipo], array("partoprenoID" => $partoprenoID));
    $kolumnoj = array(array('ID', '', '–>', 'z', "pago-detaloj.php?klaso=" . $tipo . "&id=XXXXX", ''), array('dato', 'dato', 'XXXXX', 'l', '', '-1'), array('kvanto', 'sumo', 'XXXXX', 'r', '', '-1'), array('valuto', 'val.', "XXXXX", 'r', '', -1), array("tipo", "tipo", 'XXXXX', 'l', '', '-1'));
    if (!rajtas($rajto)) {
        array_shift($kolumnoj);
    }
    sercxu($sql, array("dato", "desc"), $kolumnoj, array(array('', '', array('∑ XX', 'N', 'z'))), $tipo . "j-partrezultoj", 0, 0, "", '', 'ne');
}
<?php

require_once 'iloj/iloj.php';
malfermu_datumaro();
session_start();
if (!rajtas("mono")) {
    ne_rajtas();
}
if (isset($jena)) {
    $pago = new Pago($jena);
} elseif (isset($sendu)) {
    $pago = $_SESSION["pago"];
    // estos remetita en $_SESSION["pago"] je la fino.
    $pago->kopiu();
    //$pago->montru();
    if ($pago->datoj[ID] == "") {
        $pago->kreu();
    }
    if (kontrolu_daton($pago->datoj[dato])) {
        $pago->skribu();
        //   echo "<font color=red> pagon sekurata</font>";
        $pago = new Pago($pago->datoj[ID]);
    } else {
        $parto = "korekti";
    }
} else {
    $pago = new Pago(0);
    $pago->datoj[partoprenoID] = $_SESSION["partopreno"]->datoj[ID];
}
HtmlKapo();
//echo "<BR><BR>";
entajpbutono("<TD>", 'tejomembropost', $tejomembropost, '-', '-', "egalas", "kutima");
echo "<tr><th>" . organizantoj_nomo . "-ano:</th>";
entajpbutono("<TD>", KKRen, $KKRen, J, J, jes);
entajpbutono("<TD>", KKRen, $KKRen, n, n, ne);
entajpbutono("<TD>", KKRen, $KKRen, a, ambaux, "egalas", "kutima");
eoecho("<tr><th>Mang^maniero:</th>");
entajpbutono("<td>", vegetare, $vegetare, 'J', 'J', "Vegetarano");
entajpbutono("<td>", 'vegetare', $vegegate, 'A', 'A', "Vegano");
entajpbutono("<td>", vegetare, $vegetare, 'N', 'N', "Viandmang^anto");
entajpbutono("<td>", vegetare, $vegetare, '?', '?', "egalas", "kutima");
echo "<tr><td><b>partopreno:</b>";
entajpbutono("<td>", partoprentipo, $partoprentipo, t, t, "t-tempe");
entajpbutono("<td>", partoprentipo, $partoprentipo, p, p, "p-tempe");
entajpbutono("<td>", partoprentipo, $partoprentipo, a, ambaux, "egalas", "kutima");
entajpbokso("<tr><td><td>", kuncxambroj, $kuncxamrboj, J, J, "kun c^ambroj");
if (rajtas("cxambrumi")) {
    entajpbokso("<td>", tutacxambro, $tutacxambro, T, T, "kun la tutaj c^ambroj");
}
entajpbokso("<tr><td><td>", kunadreso, $kunadreso, J, J, "kun adreso");
eoecho("<tr><td><b>domtipo:</b>");
$tipolisto = listu_konfigurojn('logxtipo');
echo "<td colspan='3'>";
foreach ($tipolisto as $konf) {
    entajpbutono(" ", 'domotipo', "", "-", $konf->datoj['interna'], $konf->datoj['teksto'] . " | ");
}
entajpbutono("</td><td>", 'domotipo', "-", "-", "?", "egalas");
eoecho("<tr><td><b>c^ambrotipo:</b>");
entajpbutono("<td>", cxambrotipo, $cxambrotipo, u, u, "unuseksa");
entajpbutono("<td>", cxambrotipo, $cxambrotipo, g, g, "gea");
entajpbutono("<td>", cxambrotipo, $cxambrotipo, a, ambaux, "ambau^", "kutima");
eoecho("<tr><td><b>dulita c^ambro:</b>");
/**
 * forigas konservitan serĉon.
 *
 * Antaŭe la funkcio kontrolas la rajton: la aktuala uzanto devas esti
 * la kreinto de la serĉo aŭ havi la rajton teknikumi.
 *
 * @param $id identigilo de la konservita serĉo.
 */
function foriguSercxon($id)
{
    $sql = datumbazdemando("entajpanto", "sercxoj", "ID = '{$id}'");
    $rez = sql_faru($sql);
    if (!($linio = mysql_fetch_assoc($rez))) {
        eoecho("<p>ne ekzistas serc^o kun ID = '{$id}'</p>");
        return;
    }
    if ($linio['entajpanto'] != $_SESSION['kkren']['entajpanto'] and !rajtas('teknikumi')) {
        eoecho("<p>Vi rajtas forigi nur viajn proprajn serc^ojn, " . "ne tiujn de alia entajpanto.</p>");
        return;
    }
    forigu_el_datumbazo("sercxoj", $id);
}
<?php

require_once 'iloj/iloj.php';
require_once 'iloj/iloj_sercxo.php';
session_start();
malfermu_datumaro();
unset($_SESSION["partoprenanto"]);
unset($_SESSION["partopreno"]);
if (!rajtas("vidi")) {
    ne_rajtas();
}
HtmlKapo();
eoecho("<h2>Diversaj serc^oj</h2>\n");
if ($_POST['sendu'] == 'dauxrigu') {
    $valoroj = kopiuSercxon();
    $kodita = base64_encode(kodiguSercxon($valoroj));
    eoecho("<h3>Konservu serc^on</h3>");
    echo "<form action='sercxoj.php' method='post'>\n<p>";
    eoecho("Bonvolu entajpi nomon kaj priskribon por via serc^o." . " Eblas uzi la &#99;^-kodigon por la esperantaj supersignoj" . " (&#69;^ por E^).</p>\n<p>\n");
    echo "<input type='hidden' name='sercxo' value='{$kodita}'>\n";
    echo "Nomo: <input name='nomo' type='text' /> <br/>\n";
    echo "Priskribo: <textarea name='priskribo' rows='5' cols='50'></textarea>\n";
    butono("konservu", "Konservu");
    echo "</p>\n</form>";
    HtmlFino();
    return;
}
if ($_REQUEST['sendu'] == 'forigu') {
    foriguSercxon($id);
}
// echo "<!-- POST: \n";
/**
 * Metas HTML-ligilon, se la nuna entajpanto rajtas
 * iun agon. Alikaze montras strekitan tekston (sen ligilo).
 *
 * $kien   - la ligota pagxo
 * $nomo   - nomo de la ligilo
 * $celo   - la kadron, en kiu la pagxo montrigxu
 *           (nur necesa, se ne la defauxlta)
 * $ago    - la ago, por kiu oni bezonas la rajton.
 * $montru - se ne komencas per "j", kaj oni ne rajtas,
 *           la teksto tute ne montrigxu.
 */
function rajtligu($kien, $nomo, $celo = "", $ago = "", $montru = "j")
{
    // Ni testas, cxu oni rajtas iri al la ligota pagxo
    if (rajtas($ago)) {
        ligu($kien, $nomo, $celo);
    } else {
        if ($montru[0] == 'j') {
            eoecho("<a class='nerajtas'>\n {$nomo} \n</a>");
        }
    }
}
    require_once $prafix . '/tradukendaj_iloj/iloj_konfirmilo.php';
    echo "<pre>" . kreu_unuan_konfirmilan_tekston($_SESSION['partoprenanto'], $_SESSION['partopreno'], $partopreno_renkontigxo, 'utf-8') . "</pre>\n<p>";
    if (rajtas("retumi")) {
        ligu_butone("partrezultoj.php?partoprenidento=" . $partopreno->datoj['ID'], "sendi la unuan konfirmilon", array('faru' => 'sendu_unuan_konfirmilon'));
    } else {
        eoecho("Vi ne havas la rajton por elsendi" . " la mesag^on.");
    }
    echo "</p>\n";
}
if ('informmesagxo' == $_REQUEST['faru']) {
    eoecho("<hr /><h3>La informmesag^o</h3>");
    require_once $prafix . '/tradukendaj_iloj/iloj_konfirmilo.php';
    echo "<pre>";
    echo kreu_informmesagxan_tekston($_SESSION['partoprenanto'], $_SESSION['partopreno'], $partopreno_renkontigxo, 'x-metodo');
    echo "</pre><p>";
    if (rajtas("retumi")) {
        ligu_butone("partrezultoj.php?partoprenidento=" . $partopreno->datoj['ID'], "sendi la informmesag^on", array('faru' => 'sendu_informmesagxon'));
    } else {
        eoecho("Vi ne havas la rajton por elsendi" . " la mesag^on.");
    }
    echo "</p>\n";
}
if ($_REQUEST['faru'] == 'sendu_unuan_konfirmilon') {
    kontrolu_rajton('retumi');
    require_once $prafix . '/iloj/retmesagxiloj.php';
    require_once $prafix . '/tradukendaj_iloj/iloj_konfirmilo.php';
    require_once $prafix . '/iloj/diversaj_retmesagxoj.php';
    $teksto = kreu_kaj_sendu_unuan_konfirmilon($_SESSION["partoprenanto"], $_SESSION["partopreno"], $partopreno_renkontigxo, $_SESSION['kkren']['entajpantonomo']);
    echo "<p>Ni sendis la jenan unuan konfirmilon:</p><pre>";
    echo eotransformado($teksto, 'utf-8');
    echo "</pre>";
    $retkomparo = "(pp.retposxto = '" . $p_anto->datoj["retposxto"] . "')";
} else {
    // ne sencas sercxi cxiujn homojn, kiuj ankaux ne donis retadreson.
    $retkomparo = "0";
}
$sql = datumbazdemando(array("pp.ID", "pp.nomo", "personanomo", "max(renkontigxoID) as renkNumero"), array("partoprenantoj" => "pp", "partoprenoj" => "pn"), array("pn.partoprenantoID = pp.ID", "(pp.nomo = '" . $p_anto->datoj["nomo"] . "') or " . "(pp.personanomo = '" . $p_anto->datoj["personanomo"] . "') or " . "(pp.naskigxdato = '" . $p_anto->datoj["naskigxdato"] . "') or " . $retkomparo), "", array("group" => "pp.ID", "order" => "personanomo, nomo"));
// la nomo estas "peter", por ke la jxavoskripto povas uzi gxin.
echo '<form name="peter" action="transferi.php" method="GET">';
echo '<table><tr><td>';
partoprenanto_elektilo($sql, 10, "fonto", "kun_identifikilo");
echo '</td><td>';
eoecho('<button name="sendu" value="vidu" type="submit" >Vidu</button> la ' . 'partoprenantojn, kiuj similas al la elektita persono!' . "\n<br />\n");
eoecho('<button name="sendu" value="detaloj" type="submit" >Rigardu</button> la ' . 'detalojn de la elektita persono!' . "\n<br/>\n");
echo '</td></tr></table>';
echo '<input type="hidden" name="celo" value="' . $p_anto->datoj["ID"] . '" />';
echo "<p>";
if (rajtas('estingi')) {
    eoecho('<button name="sendu" value="transferuDe" type="submit" >Transferu</button>' . ' c^iujn partopren-datojn de la elektita persono <strong>al ' . $priskribo . "</strong>! \n<br />\n");
    eoecho('<button name="sendu" value="transferuAl" type="submit" >Transferu</button>' . ' c^iujn partoprenojn-datojn de ' . $priskribo . " <strong>al la elektita persono</strong>!\n</p>\n");
    eoecho("<p> Se la persono ne trovig^as tiel, vi povas elekti lin el la maldekstra menuo.<br/>\n");
    // cxi tien la Jxavoskripto metas la valoron el la maldekstra menuo
    tenukasxe("kune", "0");
    // kiam oni alklakas iun de la du butonon, la jxavoskripto en "cxiujpagxoj.js"
    // estas vokita por enmeti la valoron el la menuo.
    eoecho('<button name="sendu" value="transferuDeMenuo" type="submit"' . ' onclick="reindamit()">Transferu</button> ' . "de la persono elektita en la listo sub la maldekstra menuo <strong>al " . $priskribo . "</strong>!<br/>\n");
    eoecho('<button name="sendu" value="transferuAlMenuo" type="submit"' . ' onclick="reindamit()">Transferu</button> ' . "de " . $priskribo . " <strong>al la persono elektita en la" . " listo sub la maldekstra menuo</strong>!</p>\n");
} else {
    eoecho("<p> Vi ne povas s^ang^i ion ajn, c^ar vi ne havas la necesajn rajtojn. " . "Se vi pensas, ke vi havu, plendu c^e Pau^lo.</p>\n");
}
echo "\n</form>\n";
HtmlFino();
/* rajtligu("ekzporti.php","ekzporti datumojn","anzeige","ekzporti");
  echo "<BR>\n";*/
rajtligu("statistikoj.php", "vidi statistikojn", "anzeige", "statistikumi");
echo "<BR>\n";
//  rajtligu("demandoj.php","pliaj statistikojn","anzeige","vidi");
rajtligu("administrado.php", "grava administrado", "anzeige", "administri");
echo "<BR>\n";
ligu("menuo.php", "revoku la menuon", "is-aligilo-menuo", "jes");
echo "<BR>\n";
rajtligu("index.php", "PHPMyAdmin", "top", "teknikumi", "ne");
echo "<BR>\n";
rajtligu("probieren/", "Elprovejo", "", "teknikumi", "ne");
echo "<BR>\n";
ligu("fino.php", "au^ forlasi c^i tie", "_top", "jes");
echo "</P>\n";
if (rajtas(vidi)) {
    // Kial cxiam kalkuli la rezultojn, se oni nur
    // kelkfoje montras ilin? -> mi sxovis la kalkuladon
    // en la interon de la "if".
    if (isset($sercxfrazo)) {
        $sql = stripslashes($sercxfrazo) . " order by personanomo, nomo";
    } else {
        //		$rezulto = sql_faru("select pp.ID,Malnova,nomo,personanomo,max(renkontigxoID) from partoprenantoj as pp,partoprenoj as pn where pn.partoprenantoID = pp.ID group by pp.ID order by personanomo,nomo");
        $sql = datumbazdemando(array("pp.ID", "pp.nomo", "personanomo", "max(renkontigxoID)" => "renkNumero"), array("partoprenantoj" => "pp", "partoprenoj" => "pn"), "pn.partoprenantoID = pp.ID", "", array("group" => "pp.ID", "order" => "personanomo, nomo"));
        //sql_faru("select ID,renkontigxoID,partoprenantoID from partoprenoj where partoprenantoID='".$row[ID]."' order by renkontigxoID desc");
    }
    ?>
		<hr id="elektilo-anker" />
		   <form method="post" id="elektu" name="elektu" action="route.php" target="anzeige">
		<?php 
    if (isset($sercxfrazo)) {
rajtligu("kotizoj.php", "Kotizoj kaj -kalkulado", "anzeige", "vidi");
echo "<BR>\n";
rajtligu("cxambroj.php?cx_ago=forgesu", "Disdoni c^ambrojn", "anzeige", "cxambrumi");
echo "<BR>\n";
/* rajtligu("ekzporti.php","ekzporti datumojn","anzeige","ekzporti");
  echo "<BR>\n";*/
rajtligu("statistikoj.php", "vidi statistikojn", "anzeige", "statistikumi");
echo "<BR>\n";
//  rajtligu("demandoj.php","pliaj statistikojn","anzeige","vidi");
rajtligu("administrado.php", "grava administrado", "anzeige", "administri");
echo "<BR>\n";
ligu("menuo.php", "revoku la menuon", "is-aligilo-menuo", "jes");
echo "<BR>\n";
ligu("fino.php", "au^ forlasi c^i tie", "_top", "jes");
echo "</P>\n";
if (rajtas('vidi')) {
    // Kial cxiam kalkuli la rezultojn, se oni nur
    // kelkfoje montras ilin? -> mi sxovis la kalkuladon
    // en la interon de la "if".
    if (isset($sercxfrazo)) {
        $sql = stripslashes($sercxfrazo) . " order by personanomo, nomo";
    } else {
        //		$rezulto = sql_faru("select pp.ID,Malnova,nomo,personanomo,max(renkontigxoID) from partoprenantoj as pp,partoprenoj as pn where pn.partoprenantoID = pp.ID group by pp.ID order by personanomo,nomo");
        // TODO: ebligu "left join" cxi tie.
        $sql = datumbazdemando(array("pp.ID", "pp.nomo", "personanomo", "(1)" => "renkNumero"), array("partoprenantoj" => "pp"), "", "", array("order" => "personanomo, nomo"));
        // 	$sql = datumbazdemando(array("pp.ID", "pp.nomo", "personanomo",
        // 				     "max(renkontigxoID)" => "renkNumero" ),
        // 			       array("partoprenantoj" => "pp",
        // 				     "partoprenoj" => "pn" ),
        // 			       "pn.partoprenantoID = pp.ID",
        // 			       "",
if ($_SESSION["partopreno"]->datoj[aligxkategoridato] == "0000-00-00") {
    $_SESSION["partopreno"]->datoj[aligxkategoridato] = "";
}
entajpejo("<br> relevanta dato por la alig^kategorio:", aligxkategoridato, $_SESSION["partopreno"]->datoj[aligxkategoridato], 11, "", "", " (jaro-monato-tago)<BR>(Nur uzu por specialaj rabatoj)");
if ($_SESSION["partopreno"]->datoj[aligxkategoridato] and !kontrolu_daton($_SESSION["partopreno"]->datoj[aligxkategoridato])) {
    erareldono("La dato kion vi entajpis ne ekzistas au^ estis malg^uste.");
}
entajpejo("<br> alvenodato (de la malalig^ilo):", 'malaligxdato', $_SESSION["partopreno"]->datoj['malaligxdato'], 11, "", "0000-00-00", " (jaro-monato-tago)");
if (is_null($_SESSION["partopreno"]->datoj['malaligxdato']) and !kontrolu_daton($_SESSION["partopreno"]->datoj['malaligxdato'])) {
    erareldono("La dato kion vi entajpis ne ekzistas au^ estis malg^uste.");
}
if (kalkulu_tagojn($_SESSION["partopreno"]->datoj["aligxdato"], $_SESSION["partopreno"]->datoj["malaligxdato"]) < 0) {
    erareldono("La malalig^dato estas antau^ la alig^dato.");
}
echo "<BR>";
if (rajtas("administri")) {
    entajpejo("<br> 1a konfirmilo sendata:", '1akonfirmilosendata', $_SESSION["partopreno"]->datoj['1akonfirmilosendata'], 11, "", "", " (jaro-monato-tago)");
    entajpejo("<br> 2a konfirmilo sendata:", '2akonfirmilosendata', $_SESSION["partopreno"]->datoj['2akonfirmilosendata'], 11, "", "", " (jaro-monato-tago)");
}
if ($_SESSION["partopreno"]->datoj[ID]) {
    echo "partopreno-ID: " . $_SESSION["partopreno"]->datoj[ID] . " <BR>\n";
}
// muss noch ge䮤ert werden
echo "<p align=center>\n";
entajpbokso("", "nekontrolup", $nekontrolup, "JES", "JES", "Se vi maldeziras datkontroladon pro problemojn, marku c^i tie.<BR>");
echo "<hr/><p><b>Por A- kaj B-Landanoj: </b>\n";
eoecho("Precipe mi konscias, ke mia alig^o validas nur ekde la " . "alveno de mia antau^pago c^e GEJ.</p>");
entajpbokso("", "konsento", $konsento[0], "J", "JES", "Mi legis kaj agnoskas la suprajn kondic^ojn.<br/>", "J");
if ($_SESSION["ago"] == "sxangxi") {
    if ($_SESSION['sekvontapagxo']) {
        ligu($_SESSION['sekvontapagxo'], "ne s^ang^u kaj pluen");
            $ri = $_SESSION['partoprenanto']->personapronomo;
            $Ri = ucfirst($ri);
            eoecho("Kunlog^deziroj de kaj pri {$ri}:");
            // !!!!!!!!!!!!!!!!
            require_once $prafix . "/iloj/iloj_kunlogxadoj.php";
            montru_kunlogxdezirojn_ambauxdirekte($_SESSION['partopreno'], "&uarr;");
            // provizore nur por teknikumistoj, por elprovi:
            rajtligu("kunlogxado.php?ago=sercxu", "serc^u kunlog^dezirojn", "", "teknikumi");
        }
    }
}
echo "</TD></TR></TABLE>\n";
if ($faru == 'konfirmi') {
    echo nl2br(faru_1akonfirmilon($_SESSION["partoprenanto"], $_SESSION["partopreno"], $partopreno_renkontigxo));
    echo "<BR><BR>";
    if ($_SESSION["partoprenanto"]->datoj[retposxto] and rajtas(retumi)) {
        ligu("partrezultoj.php?faru=sendukonfirmo", "--> sendi 1an konfirmilon");
    }
    echo "<hr/><p>La nova unua konfirmilo:</p>";
    require_once $prafix . '/iloj/iloj_konfirmilo.php';
    echo "<pre>" . kreu_unuan_konfirmilan_tekston($partoprenanto, $partopreno, $renkontigxo, 'utf-8') . "</pre>";
    ligu("partrezultoj.php?faru=sendu_unuan_konfirmilon", "sendi la novan unuan konfirmilon");
}
if ($faru == 'sendu_unuan_konfirmilon') {
    require_once $prafix . '/iloj/retmesagxiloj.php';
    require_once $prafix . '/iloj/iloj_konfirmilo.php';
    require_once $prafix . '/iloj/diversaj_retmesagxoj.php';
    $teksto = kreu_kaj_sendu_unuan_konfirmilon($_SESSION["partoprenanto"], $_SESSION["partopreno"], $partopreno_renkontigxo, $_SESSION['kkren']['entajpantonomo']);
    echo "<p>Ni sendis la jenan unuan informilon:</p><pre>";
    echo eotransformado($teksto, 'utf-8');
    echo "</p>";
<?php

require 'iloj/iloj.php';
malfermu_datumaro();
session_start();
if (!rajtas("rabati")) {
    ne_rajtas();
}
if (isset($jena)) {
    $rabato = new Rabato($jena);
} elseif (isset($sendu)) {
    $rabato = $_SESSION["rabato"];
    $rabato->kopiu();
    //$rabato->montru();
    if ($rabato->datoj[ID] == "") {
        $rabato->kreu();
    }
    $rabato->skribu();
    //   echo "<font color=red> rabato sekurata</font>";
    // resxargxu el la datumbazo
    $rabato = new Rabato($rabato->datoj[ID]);
} else {
    $rabato = new Rabato(0);
    $rabato->datoj[partoprenoID] = $_SESSION["partopreno"]->datoj[ID];
}
// dauxrigu la rabaton por la onta fojo
$_SESSION["rabato"] = $rabato;
HtmlKapo();
//echo "<BR><BR>";
echo "<center>";
if ($parto == "korekti") {
/** 
 * Montras elektilon de cxiuj konservitaj sercxoj
 * kun du butonoj "Resxargxu" kaj "Tuj sercxu".
 */
function sercxoElektilo()
{
    $sql = datumbazdemando(array("s.ID" => "ID", "s.nomo" => "sercxnomo", "e.nomo" => "entajpanto"), array("sercxoj" => "s", "entajpantoj" => "e"), "s.entajpanto = e.ID", "", array("order" => "sercxnomo ASC"));
    $rez = sql_faru($sql);
    if ($num = mysql_num_rows($rez)) {
        eoecho("  <h3>Antau^aj serc^oj</h3>\n");
        echo "  <ul>\n";
        while ($linio = mysql_fetch_assoc($rez)) {
            eoecho("    <li>");
            ligu("gxenerala_sercxo.php?antauxa_sercxo={$linio['ID']}", $linio['sercxnomo']);
            eoecho(" de " . $linio['entajpanto']);
            ligu("gxenerala_sercxo.php?antauxa_sercxo=" . $linio['ID'] . "&sendu=sercxu", "Tuj serc^u");
            if ($linio['entajpanto'] == $_SESSION['kkren']['entajpantonomo'] or rajtas('teknikumi')) {
                echo " / ";
                ligu("sercxo.php?sendu=forigu&id=" . $linio['ID'], "forigu");
                echo " / ";
                ligu("sercxo.php?sendu=redaktu&id=" . $linio['ID'], "redaktu informojn");
            }
            echo ").</li>\n";
        }
        echo "  </ul>\n";
    } else {
        eoecho("<p>Ne ekzistas antau^aj serc^oj.</p>");
    }
}
if (rajtas('teknikumi')) {
    entajpbutono("<p>", "kio", $kio, "backup_programo", "backup_programo", "Kreu sekurkopion de la programo.</p>");
}
send_butono('Faru!');
echo "</FORM>\n";
eoecho("<h2>Aliaj gravaj aferoj</h2>");
rajtligu("landoj.php", "rigardu kaj eble s^ang^u la landoliston", "", "administri");
eoecho("<br/>");
eoecho("<p>Elprintu partoprenstatistikon:<br/>\n");
rajtligu("demandoj.php", "partopren statistikojn", "", "administri");
echo "(das ist leider zur Zeit etwas kaputt) <br/>";
rajtligu("finkalkulado.php", "IS - Abrechnung", "", "administri");
echo "<br/>";
rajtligu("cxambrostatistiko.php", "montru la c^ambrostatistikon kaj la mang^statistikon", "", "administri");
echo "</p>";
if (rajtas("teknikumi")) {
    eoecho("<h2>Nur por teh^nikistoj</h2>\n<p>");
    rajtligu("entajpantoj.php", "rigardu kaj eble s^ang^u la entajpantoliston", "", "teknikumi");
    eoecho("<br/>");
    rajtligu("renkontigxo.php", "redaktu la renkontig^o-datumojn", "", "teknikumi");
    eoecho("<br/>");
    rajtligu("kreu_cxambron.php", "kreu novan c^ambron", "", "teknikumi");
    eoecho("</p>");
}
echo "<hr/>\n";
if ($kio == 'gepatra_permeso') {
    require_once 'iloj/kreu_konfirmilon.php';
    $kon = new Konfirmilo();
    $kon->kreu_permesilon(0, $_SESSION['renkontigxo'], $perm_tipo == "vira");
    $dosiernomo = "dosieroj_generitaj/permesilo_" . $perm_tipo . ".pdf";
    $kon->sendu($dosiernomo);
 *
 * @author Paul Ebermann
 * @version $Id$
 * @package aligilo
 * @subpackage pagxoj
 * @copyright 2009 Paul Ebermann.
 *       Uzebla laŭ kondiĉoj de GNU Ĝenerala Publika Permesilo (GNU GPL)
 */
/**
 */
require_once 'iloj/iloj.php';
session_start();
malfermu_datumaro();
// TODO: kiu rajto?
kontrolu_rajton("vidi");
if (rajtas("sxangxi") or $_SESSION['kkren']['entajpantonomo'] == 'tejo-volontulo') {
    $rajtas_sxangxi = true;
} else {
    $rajtas_sxangxi = false;
}
/**
 * metas ligon al la listo kun nova ordigo de la linioj.
 * (Se la nova ordigo estus la sama kiel la malnova, montras
 *  nur la titolon, sen ligo.)
 * @param eostring $titolo la montrota teksto por la ligo.
 * @param sqlstring $novakampo la nomo de la kampo, kiu
 *      estu la nova cxefa ordigo.
 * @param sqlstring $ordigo la gxisnuna ordigo
 */
function metu_ordigoligon($titolo, $novakampo, $ordigo)
{
<?php

/* ################################################################################### */
/* Cxi tie okazas la kontrolo de la aligxado de PARTOPRENANTOJ, k.e. nomo, adreso ktp. */
/* ################################################################################### */
require_once 'iloj/iloj.php';
session_start();
malfermu_datumaro();
if (!rajtas("aligi")) {
    ne_rajtas();
}
//kontrolado de la datoj
if ($nekontrolu != "JES") {
    $parto = "kontroli";
    if (!kontrolu_daton($naskigxdato) or $sekso != "ina" and $sekso != "vira") {
        $parto = "korektigi";
    }
    malplentesto($nomo);
    malplentesto($personanomo);
    if (KAMPOELEKTO_IJK) {
        malplentesto($adreso);
    } else {
        malplentesto($strato);
    }
    malplentesto($urbo);
    //malplentesto($posxtkodo);
}
$_SESSION["partoprenanto"]->kopiu();
if ($parto == "korektigi") {
    require "partoprenanto.php";
} else {
/**
 * montras ligojn al aliaj administraj paĝoj, depende de la 
 * rajtoj de la aktuala uzanto.
 */
function montru_aliajn_ligojn()
{
    eoecho("<h2>Aliaj gravaj aferoj</h2>");
    rajtligu("landoj.php", "rigardu kaj eble s^ang^u la landoliston", "", "administri");
    eoecho("<br/>");
    eoecho("<p>Elprintu partoprenstatistikon:<br/>\n");
    rajtligu("demandoj.php", "partopren statistikojn", "", "administri");
    echo "(das ist leider zur Zeit etwas kaputt) <br/>";
    rajtligu("finkalkulado.php", "Finkalkulado", "", "administri");
    echo "<br/>";
    rajtligu("cxambrostatistiko.php", "montru la c^ambrostatistikon kaj la mang^statistikon", "", "administri");
    echo "</p>";
    if (!rajtas("teknikumi")) {
        echo "<hr/>\n";
        return;
    }
    echo "<hr/>\n";
    eoecho("<h2>Nur por teh^nikistoj</h2>\n<p>");
    if (mangxotraktado == "libera") {
        ligu("mangxredakto.php", "Mang^o-listo");
    }
    rajtligu("entajpantoj.php", "rigardu kaj eble s^ang^u la entajpantoliston", "", "teknikumi");
    eoecho("<br/>");
    rajtligu("renkontigxo.php", "redaktu la renkontig^o-datumojn", "", "teknikumi");
    eoecho("<br/>");
    rajtligu("kreu_cxambron.php", "kreu novan c^ambron", "", "teknikumi");
    eoecho("<br/>Internaj dosierujoj: ");
    echo "<span class='speciala'>";
    rajtligu("specialaj_skriptoj/", "specialaj skriptoj", "", "teknikumi");
    echo "</span>";
    rajtligu("dosieroj/", "dosieroj", "", "teknikumi");
    rajtligu("instalilo/", "instalilo", "", "teknikumi");
    rajtligu("dosieroj_generitaj/", "dosieroj generitaj", "", "teknikumi");
    rajtligu("doku/", "dokumentaj^oj", "", "teknikumi");
    eoecho("</p>");
    eoecho("\n   <h3 id='renkkonfig'>Renkontig^o-konfiguroj</h3>\n   <p>\n     La renkontig^o-konfiguroj estas uzataj ekzemple por la listo de\n     pagotipoj, kialoj por individuaj rabatoj kaj krompagoj, valutoj\n     kaj log^tipoj, kiuj estas specifaj por c^iu renkontig^o.\n   </p>\n");
    $num = eltrovu_gxenerale("count(*)", 'renkontigxaj_konfiguroj', array(), array('renkontigxo' => 'renkontigxoID'));
    eoecho("\n  <p>\n    Nun estas {$num} konfiguroj por la aktuala renkontig^o (" . $_SESSION['renkontigxo']->datoj['mallongigo'] . "). ");
    ligu("renkontigxaj_konfiguroj.php", "vidu la liston kaj eble redaktu ion");
    ligu("renkontigxaj_konfiguroj.php?id=nova", "kreu novan konfiguron");
    eoecho("\n  </p>\n");
    eoecho("\n   <h3 id='kurzoj'>Kurzoj</h3>\n   <p>");
    ligu("kurzoj.php", "Listu kurzojn kaj aldonu novajn");
    echo "</p>\n";
    eoecho("\n  <h3 id='tekstoj'>Tekstoj</h3>\n  <p>\n    La <em>tekstoj</em> estas uzataj ekzemple por\n    havi retmesag^tekst(er)ojn kaj similajn aferojn, kiuj varias\n    lau^ renkontig^o,\n    ne en la programo sed en la datumbazo.\n  </p>");
    $sql = datumbazdemando(array('count(*)' => 'nombro'), 'tekstoj', "renkontigxoID = '" . $_SESSION['renkontigxo']->datoj['ID'] . "'");
    $rez = sql_faru($sql);
    $linio = mysql_fetch_assoc($rez);
    eoecho("\n<p>\n   Nuntempe ekzistas " . $linio['nombro'] . " tekstoj por la aktuala\n   renkontig^o.\n");
    ligu("tekstoj.php", "Vidu la liston (kaj eble redaktu kelkajn)");
    ligu("nova_teksto.php", "Aldonu novan tekston");
    echo "</p><p>";
    echo "<hr/>\n";
}
/**
 * elektilo kun OK-butono en propra formulareto.
 *<pre>
 *           __________    ____
 *   Titolo [_________]   | v |
 *          |         |   '---'
 *          |         |
 *          |         |
 *          '---------'
 *</pre>
 * aŭ:
 *<pre>
 *   Titolo valoro 
 *</pre>
 * 
 * @param eostring  $titolo  priskribo de la enhavo de la elektilo.
 * @param urlstring $ago     adreso de retpaĝo, kiu akceptas la sendaĵon
 *                             (por la 'action'-atributo.)
 * @param string $nomo       nomo de la sendenda informo
 * @param array $elekteblecoj array() el elekteblecoj, en formo
 *                   id => teksto
 *             La tekstoj estos montrataj, la ID estos
 *             sendota al $ago.
 * @param string|int $defauxlto    - ID de la elemento, kiu estos antaŭelektita
 * @param string  $rajto   se != "", rajto kiun la uzanto devos havi por
 *                 vidi/uzi la elektilon. Alikaze nur estos
 *                 montrata la titolo kun la valoro
 *                  (= $elekteblecoj[$defauxlto]).
 * @param eostring $butonteksto teksto por la butono - defaŭlto estas iu hoko.
 *
 * @uses elektilo_simpla()
 * @uses send_butono()
 */
function elektilo_kun_butono($titolo, $ago, $nomo, $elekteblecoj, $defauxlto, $rajto = "", $butonteksto = "")
{
    //    echo "<!-- defaŭlto: " . $defauxlto . "-->";
    if ("" == $rajto or rajtas($rajto)) {
        echo "<form class='formulareto' action='" . htmlspecialchars($ago, ENT_QUOTES) . "' method='post'>";
        eoecho("<label>" . $titolo);
        elektilo_simpla($nomo, $elekteblecoj, $defauxlto);
        echo "</label>";
        if (!$butonteksto) {
            $butonteksto = "&radic;";
            // TODO: pli bona hoko.
        }
        send_butono($butonteksto);
        echo "</form>";
    } else {
        eoecho($titolo);
        eoecho($elekteblecoj[$defauxlto]);
    }
}
 * - Diversaj kontrolajxoj
 * - kotizkalkulado, kolekto de la pagenda mono
 * - montro kaj disdono de la cxambro
 * - disdono de malgrandajxoj
 *
 * Sube sur la pagxo estas butono kiu
 * ebligas aldoni la pagon.
 * Tiam la vokigxos la pagxo per
 *  $sendu - nomo de la butono (signo, ke oni sendis)
 *  $pago - la valoro de la pago
 *
 */
require_once 'iloj/iloj.php';
session_start();
malfermu_datumaro();
if (!rajtas("akcepti")) {
    ne_rajtas();
}
if ($sendu == "Akceptu!") {
    $pago = new Pago(0);
    $pago->datoj[partoprenoID] = $_SESSION["partopreno"]->datoj[ID];
    $pago->datoj[kvanto] = $kvanto;
    $pago->datoj[dato] = date("Y-m-d");
    $pago->datoj[tipo] = 'surlokpago';
    $pago->kreu();
    $pago->skribu();
    $mono = new Monujo(0);
    $mono->datoj[renkontigxo] = $_SESSION["renkontigxo"]->datoj[ID];
    $mono->datoj[kvanto] = $kvanto;
    $mono->datoj[kauzo] = "surlokpago de ";
    $mono->datoj[tempo] = date("Y-m-d H:M:s");
/**
 * Certigas, ke la nuna uzanto rajtas fari ion.
 * 
 * Se la uzanto rajtas, nenio okazos.
 * Se la nuna uzanto ne havas la rajton, ni eldonas
 * erarmesaĝon kaj finos la skripton.
 * @param string $ago
 */
function kontrolu_rajton($ago)
{
    if (!rajtas($ago)) {
        ne_rajtas($ago);
    }
}
 * @version $Id$
 * @package aligilo
 * @subpackage pagxoj
 * @uses sendu_malauxtomatan_mesagxon_el_POST()
 * @copyright 2001-2004 Martin Sawitzki, 2004-2008 Paul Ebermann.
 *       Uzebla laŭ kondiĉoj de GNU Ĝenerala Publika Permesilo (GNU GPL)
 */
/**
 */
require_once 'iloj/iloj.php';
require_once "iloj/retmesagxiloj.php";
require_once "iloj/diversaj_retmesagxoj.php";
session_start();
malfermu_datumaro();
HtmlKapo();
if (!rajtas("retumi")) {
    ne_rajtas();
}
function sendu_gxin()
{
    sendu_malauxtomatan_mesagxon_el_POST();
    eoecho("<p style='color:red'>Mesag^o sendita.</p>");
}
function faru_noton_el_gxi()
{
    $noto = new Noto(0);
    $noto->kreu();
    $noto->datoj['partoprenantoID'] = $_POST['ID'];
    $noto->datoj['kiu'] = $_POST['de_nomo'];
    $noto->datoj['kunKiu'] = $_POST['alkiu'];
    $noto->datoj['tipo'] = "rete";