/**
 * metas la HTML-kapon kun ioma informo pri la
 *  stato de la akceptado.
 * $pasxo - la nomo de la aktuala pasxo.
 */
function akceptado_kapo($pasxo)
{
    $partoprenanto = $_SESSION['partoprenanto'];
    HtmlKapo();
    eoecho("<p>Ni nun akceptas <b>" . $partoprenanto->datoj[personanomo] . " " . $partoprenanto->datoj[nomo] . " </b>(" . $partoprenanto->datoj[ID] . ") al la <b>" . $_SESSION["renkontigxo"]->datoj[nomo] . "</b>.</p>\n");
    eoecho("<h2>Akceptada proceduro &ndash; Pas^o <em>" . $GLOBALS['PASXO_NOMOJ'][$pasxo] . "</em></h2>\n");
    // TODO: reen-ligoj al antauxaj pasxoj
}
/**
 * HTML-a kapo por la serĉ-paĝo, inkluzive de elektilo por jam
 * ekzistantaj serĉoj.
 */
function sercxKapo()
{
    HtmlKapo();
    eoecho("<h2>G^enerala Serc^o</h2>\n");
    kasxeblaSercxoElektilo();
    ligu("partsercxo.php", "Reen al la partoprenantoserc^o");
    ligu("gxenerala_sercxo.php", "nova serc^o");
    if ($_REQUEST['antauxa_sercxo']) {
        trovuSercxon($_REQUEST['antauxa_sercxo'], $GLOBALS['valoroj'], true);
    }
}
<?php

/* ################################################### */
/* Cxi tie mi ekzportas partoprenantojn el la datumaro */
/* ################################################### */
require_once 'iloj/iloj.php';
session_start();
malfermu_datumaro();
HtmlKapo("kalkulilo");
$renkontigxo = kreuRenkontigxon();
echo "<form method=\"post\" action=\"{$PHP_SELF} \">";
montru_renkontigxoelektilon($renkontigxo->datoj["ID"]);
send_butono("Elektu renkontig^on!");
echo "</form>";
echo "<hr />";
if ($sendu == "Faru!") {
    $partopreno = new Partopreno();
    $partoprenanto = new Partoprenanto();
    $partoprenanto->datoj[naskigxdato] = $naskigxdato;
    $partoprenanto->datoj[lando] = $lando;
    $partopreno->datoj[aligxkategoridato] = $aligxdato;
    $partopreno->datoj[invitletero] = $invitilo;
    $partopreno->datoj[invitilosendata] = "2000-01-01";
    // TODO: Kial fiksa datumo?
    $partopreno->datoj[dulita] = $dulita[0];
    $partopreno->datoj[ekskursbileto] = $ekskursbileto[0];
    $partopreno->datoj[GEJmembro] = $GEJmembro[0];
    //   if ($studento[0]!="J")
    //   {
    //     $partopreno->datoj[okupigxo] = 10;
    //   }
<?php

/*
 * Pagxo por ensaluti.
 *
 * Oni ankaux povas elekti la renkontigxon kaj la
 * kodigon.
 *
 * Kiam oni entajpis, la retumilo sendas la informojn
 * al index.php, kiu siavice kontrolas la kodvortojn
 * kaj komencas la PHP-sesion.
 */
require_once 'iloj/iloj.php';
session_start();
malfermu_datumaro();
HtmlKapo();
echo "<div style='text-align:center'>";
echo "<P class='granda'>\n";
if ($_GET['malgxusta']) {
    erareldono("Bedau^rinde via kombino de uzantnomo kaj pasvorto ne tau^gas por la datumbazo");
    eoecho("Se vi supozas, ke estu tiel, plendu c^e " . teknika_administranto . " (" . teknika_administranto_retadreso . "). <br />");
}
eoecho("Vi j^us atingis la pag^on por la " . renkontigxo_nomo . "-administrado. \n<BR>\n");
echo "La uzado estas permesata nur al " . organizantoj_nomo . "anoj, do bonvolu identigi vin. (Jen la persona uzantonomo kaj pasvorto.) \n<BR>\n<BR>\n";
echo "<form action='index.php' target='_top' method='POST'>\n";
entajpejo("Via alig^nomo: ", "lakodnomo", $_SESSION["kodnomo"], 10);
entajpejo("Via kodvorto: ", "lakodvorto", "", 10, "", "", "", "j");
echo "<BR>\n";
entajpbutono("Enkodo: ", "laenkodo", $_SESSION["enkodo"], "utf-8", "utf-8", "unikodo", "");
entajpbutono("", "laenkodo", $_SESSION["enkodo"], "x-metodo", "x-metodo", "x-kodo<BR>", "kutima");
eoecho("Bonvolu elekti la enkodmanieron por a supersignoj. \n<BR>\n");
    $teksto = transformu_tekston($sxablono, $datumoj);
    $retmesagxo = kreu_auxtomatan_mesagxon();
    $retmesagxo->auxtomata_teksto_estu($teksto, $kodigo, $_SESSION['kkren']['entajpantonomo']);
    $retmesagxo->aldonu_dosieron_el_disko($GLOBALS['prafix'] . '/dosieroj_generitaj/adresaro.pdf');
    $retmesagxo->ricevanto_estu($to_address, $to_name);
    $retmesagxo->temo_estu("Adresaro kaj pliaj informoj pri pasinta " . $_SESSION['renkontigxo']->datoj['mallongigo']);
    $retmesagxo->eksendu();
    erareldono(" Messag^o sendita! ");
}
$prafix = "..";
require_once $prafix . "/iloj/iloj.php";
require_once $prafix . "/iloj/retmesagxiloj.php";
session_start();
malfermu_datumaro();
kontrolu_rajton('retumi');
HtmlKapo('speciala');
die("Vi ne rajtas uzi tiun dosieron. Se vi ne scias, kial, demandu Pauxlon.");
if ($_POST['sendu'] == 'sendu') {
    $komenco = $_POST['komenco'];
    $nombro = $_POST['nombro'];
    echo "<p>\n";
    $demando = datumbazdemando(array("p.ID", "nomo", "personanomo", "retposxto", "sekso", "pn.agxo"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("pn.partoprenantoID = p.ID", "retposxto <> ''", "alvenstato = 'a'"), "renkontigxoID", array("limit" => "{$komenco}, {$nombro}", "order" => "pn.ID ASC"));
    eoecho("Demando: [<code>" . $demando . "</code>]<br/>\n");
    eoecho("dato: " . date("Y-m-d H:i:s") . "<br/>\n");
    $rezulto = sql_faru($demando);
    $i = $komenco;
    while ($row = mysql_fetch_array($rezulto, MYSQL_BOTH)) {
        eoecho($i . " " . $row['personanomo'] . " " . $row['nomo'] . "<br/>\n");
        $i++;
        $to_name = eotransformado($row['personanomo'] . " " . $row['nomo'], "x-metodo");
        // $to_address = teknika_administranto_retadreso;
 * @copyright 2010 Paul Ebermann.
 *       Uzebla laŭ kondiĉoj de GNU Ĝenerala Publika Permesilo (GNU GPL)
 */
$prafix = "..";
require_once $prafix . "/iloj/iloj.php";
function faru_SQL($sql)
{
    echo $sql . "\n";
    if (INSTALA_MODUSO) {
        eoecho("faranta ...");
        flush();
        sql_faru($sql);
        eoecho("farita!\n");
    }
}
HtmlKapo("speciala");
malfermu_datumaro();
?>

<h1>Instalilo por la aligilo.</h1>

<pre>
<?

switch($_REQUEST['sendu']) {
case 'uzanto':
  faru_SQL(datumbazaldono("entajpantoj",
			  array("nomo" => $_POST['nomo'],
				"kodvorto" => $_POST['kodvorto'],
				"vidi" => "J",
				"administri" => "J",
/**
 * 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>";
        }
    }
}
 /**
  * Montras la rezulton de serĉo en formo de
  * kompleta HTML-dokumento.
  * @uses montru_rezulton_en_HTMLtabelo()
  */
 function montru_rezulton_en_HTMLdokumento()
 {
     if (!isset($this->montras_memligojn)) {
         $this->montras_memligojn = true;
     }
     HtmlKapo();
     eoecho("<p>" . $this->antauxteksto . "</p>\n");
     $this->montru_rezulton_en_HTMLtabelo();
     HtmlFino();
 }
<?php

require_once 'iloj/iloj.php';
session_start();
HtmlKapo("maldekstren");
malfermu_datumaro();
// TODO?: später kürzer, via session;
if (rajtas('vidi')) {
    // rapida salto al la detaloj-pagxo laux PP-ID
    ?>
<form method="post" id="entajpu" name="entajpu"
      action="partrezultoj.php" target="anzeige"
		style="float:left; text-align: center; display: block; margin: 2pt; border: outset thin; padding:1pt;">
	<p style='margin: 1pt; font-size: small;'>partopreno-ID:</p>
	<p style='margin: 1pt;'>
		<input type='text' name='partoprenidento' size='5' maxlength='5' />
	</p>
</form>
<?php 
}
echo "<div style='text-align:right;margin:3pt;'>";
eoecho("Saluton, kara " . $_SESSION["kkren"]["entajpantonomo"] . ".\n");
echo "<BR>\n";
eoecho("Kion vi deziras fari?\n");
echo "<BR>\n";
echo "<P class='granda' style='clear:left;'>\n";
rajtligu("partoprenanto.php?sp=forgesu", "Aligi partoprenantojn", "anzeige", "aligi");
echo "<BR>\n";
rajtligu("partsercxo.php", "Serc^i partoprenantojn", "anzeige", "vidi");
echo "<BR>\n";
ligu("kotizo.php", "Antau^kalkuli kotizon", "anzeige");
/**
 * metas la HTML-kapon kun ioma informo pri la
 *  stato de la akceptado.
 * $pasxo - la nomo de la aktuala paŝo.
 */
function akceptado_kapo($pasxo)
{
    HtmlKapo();
    kalkulu_necesajn_kaj_eblajn_pasxojn($pasxo);
    $GLOBALS['aktuala_pasxo'] = $pasxo;
    $GLOBALS['akceptadaj_instrukcioj'] = array();
    // listo de antaŭaj kaj postaj paŝoj -> nun en akceptado-fino.
}