/** * Montras ĝeneralan serĉo-kampon en tabellinio. * * En la kondiĉo-parto de la tabellinio aperas entajpejo, kaj apude * elekteblecoj por diversaj serĉmodusoj. * * @param eostring $priskribo la nomo de kampo (por serĉantoj), * t.e. titolo en la serĉ-tabelo. * @param string $tabelo nomo de datumbaztabelo. * @param string $nomo la (datumbaza) nomo de la kampo. * @param array $valoroj la ĝenerala serĉ-detaloj-strukturo. * @param string $alias kiel ni renomu la kampon dum la serĉo? * (necesa se samnoma kampo aperas en * diversaj tabeloj.) * @param string $ligo ŝablono por krei ligon. Se donita, la enhavo * de la kampo estas samtempe ligo, kaj la * ligo-celo estos kreita per enmetado de la valoro * en $ligo je la loko de XXXXX. * @param eostring $titolo se donita, ni uzas tion kiel nomo de la * rezulto-tabelo. Se ne, ni uzas $priskribo. */ function sercxtabellinio($priskribo, $tabelo, $nomo, $valoroj, $alias = "", $ligo = '', $titolo = "") { $tipnomo = "sercxo_{$tabelo}__{$nomo}_tipo"; $valoronomo = "sercxo_{$tabelo}__{$nomo}_valoro"; $montrunomo = "sercxo_{$tabelo}__{$nomo}_montru"; $uzunomo = "sercxo_{$tabelo}__{$nomo}_estasKriterio"; $enhavo = $valoroj[$valoronomo]; $tipo = $valoroj[$tipnomo]; $montru = $valoroj[$montrunomo]; $uzu = $valoroj[$uzunomo]; // $skripto = "kolorSxangxoDekstre('$tabelo', '$nomo')"; eoecho("<tr id='{$tabelo}-{$nomo}-tabellinio'><th>{$priskribo}</th><td>"); if ($alias) { tenukasxe("sercxo_{$tabelo}__{$nomo}_alias", $alias); } if ($ligo) { tenukasxe("sercxo_{$tabelo}__{$nomo}_ligo", $ligo); } if ($titolo) { tenukasxe("sercxo_{$tabelo}__{$nomo}_titolo", $titolo); } else { tenukasxe("sercxo_{$tabelo}__{$nomo}_titolo", $priskribo); } jes_ne_bokso($montrunomo, $montru, "kolorSxangxoMaldekstre('{$tabelo}', '{$nomo}')"); // entajpbokso( $priskribo , $montrunomo, $montru, "JES", "JES"); echo "</td><td>"; jes_ne_bokso($uzunomo, $uzu, "kolorSxangxoDekstre('{$tabelo}', '{$nomo}')"); echo "</td><td><span id='{$tabelo}-{$nomo}-kriterioj'>"; echo "<input type='text' name='{$valoronomo}' value='{$enhavo}' size='20'/>"; // simpla_entajpbutono($tipnomo, $tipo, "malatentu", "kutima", $skripto); // eoecho (" <em>ne uzu</em> |\n"); simpla_entajpbutono($tipnomo, $tipo, "sama", "kutima"); eoecho(" = |\n"); simpla_entajpbutono($tipnomo, $tipo, "malpli"); eoecho(" < |\n"); simpla_entajpbutono($tipnomo, $tipo, "pli"); eoecho(" > |\n"); simpla_entajpbutono($tipnomo, $tipo, "inter"); eoecho(" >/< |\n"); simpla_entajpbutono($tipnomo, $tipo, "LIKE"); eoecho(" % _ |\n"); simpla_entajpbutono($tipnomo, $tipo, "REGEXP"); eoecho(" RE |\n"); simpla_entajpbutono($tipnomo, $tipo, "plena"); eoecho(" plena |\n"); simpla_entajpbutono($tipnomo, $tipo, "parto"); eoecho(" parto\n"); echo "</span></td></tr>\n"; }
/** * kreas elektoliston (per radiaj butonoj) el la renkontigxo-konfiguroj, * en tabellinio. * <pre> * |--------+---------------| * | titolo | ( ) elekto 1 | * | | (*) elekto 2 | * | | ( ) elekto 3 | * |--------+---------------| * </pre> * @param eostring $titolo * @param string $nomo (la interna nomo) * @param asciistring $tipo la konfiguro-tipo, t.e. * sekcio de la konfiguro-tabelo. * @param asciistring $valoro la antauxelektota valoro. * @param Renkontigxo|int $renkontigxo * * @uses simpla_entajpbutono() * @uses datumbazdemando() */ function tabela_elektolisto_el_konfiguroj($titolo, $nomo, $tipo, $valoro, $renkontigxo = 0) { debug_echo("<!-- tabela_elektolisto_el_konfiguroj(" . $titolo . ", " . $nomo . ", " . $tipo . ", " . $valoro . ", " . var_export($renkontigxo, true) . ")\n -->"); if (is_object($renkontigxo)) { $renkontigxo = $renkontigxo->datoj['ID']; } if (!$renkontigxo or !is_int($renkontigxo)) { $renkontigxo = $_SESSION['renkontigxo']->datoj['ID']; } eoecho("<tr>\n <th>" . $titolo . "</th>\n <td>\n"); $sql = datumbazdemando(array('interna', 'grupo', 'teksto', 'aldona_komento'), 'renkontigxaj_konfiguroj', array('renkontigxoID' => $renkontigxo, 'tipo' => $tipo), "", array('order' => "grupo ASC")); $rez = sql_faru($sql); $antauxa_grupo = '#'; while ($linio = mysql_fetch_assoc($rez)) { debug_echo("<!-- " . var_export($linio, true) . "-->"); if ($linio['grupo'] != $antauxa_grupo) { if ($antauxa_grupo != '#') { echo "<br/>\n<br/>"; } $antauxa_grupo = $linio['grupo']; } else { echo "<br />\n"; } // echo $linio['interna'] . " "; simpla_entajpbutono($nomo, $valoro, $linio['interna']); eoecho(" " . $linio['teksto'] . "\n"); if ($linio['aldona_komento']) { eoecho("<br/>\n<span class='aldona_komento'>" . $linio['aldona_komento'] . "</span>\n"); } } echo " </p>\n"; echo " </td>\n</tr>\n"; }
/** * Kreas unu tabellinion. * @param array $datoj unu datumbaz-respondo-linio. */ function metu_tejomembro_tabellinion($datoj) { echo " <tr>\n"; $id = $datoj['ID']; $antoID = $datoj['partoprenantoID']; echo "<td>" . donu_ligon("partrezultoj.php?partoprenidento=" . $id, $id) . "</td><td>"; if ($GLOBALS['rajtas_sxangxi']) { tenukasxe('malnovaUEAkodo[' . $antoID . ']', $datoj['ueakodo']); simpla_entajpejo("", 'novaUEAkodo[' . $antoID . ']', $datoj['ueakodo'], 7); } else { echo $datoj['ueakodo']; } eoecho("</td><td>" . $datoj['personanomo'] . "</td><td>" . $datoj['nomo'] . "</td><td>" . $datoj['urbo'] . "</td><td>" . $datoj['landonomo'] . "</td><td>"); // TODO: formatado diversa, alikaze nur jes_ne(...). if (jesne_al_boolean($datoj['tejo_membro_laudire'])) { echo "jes"; } else { echo "ne"; } echo "</td><td>"; if ($GLOBALS['rajtas_sxangxi']) { tenukasxe("malnovaKontrolita[" . $id . "]", $datoj['tejo_membro_kontrolita']); simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], 'j'); eoecho("<abbr title='estas membro'>jes</abbr>"); echo "</td><td>"; simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], '?'); eoecho("<abbr title='ne kontrolita'>?</abbr>"); echo "</td><td>"; simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], 'n'); eoecho("<abbr title='ne estas membro'>ne</abbr>"); echo "</td><td>"; simpla_entajpbutono('novaKontrolita[' . $id . ']', $datoj['tejo_membro_kontrolita'], 'i'); eoecho("<abbr title='ig^as surloke (nur metu tion dum akceptado!'>ig^as</abbr>"); } else { switch ($datoj['tejo_membro_kontrolita']) { case 'j': echo "jam antau^e"; break; case 'n': echo "ne membras"; break; case 'i': echo "ig^as surloke"; break; case '?': echo "ne kontrolita"; break; } } echo "</td>\n"; echo " </tr>\n"; }
//entajpbutono("",cxambrotipo,$partopreno->datoj[cxambrotipo][0],"n","negravas","ne gravas<BR>",kutima); if ($domotipo == "M" and $_SESSION["partopreno"]->datoj[cxambrotipo] == "u") { erareldono("<BR>Ne haveblas unuseksan c^ambrojn memzorge "); } echo "<BR>"; entajpejo("Mi s^atus log^i kun", "kunKiu", $_SESSION["partopreno"]->datoj['kunKiu'], 25); // entajpboksokajejo(kunekun,$kunekun,"JES","JES","Mi s^atus log^i kune kun:","",kunkiu, // $_SESSION["partopreno"]->datoj[kunkiu],25,"Kun kiun vi s^atus log^i kune?"); eoecho("<p>Litoj:"); // if (!CXAMBROELEKTO_IJK) { simpla_entajpbutono("dulita", $_SESSION["partopreno"]->datoj['dulita'], 'N', "kutima"); eoecho("plurlita c^ambro "); // } simpla_entajpbutono("dulita", $_SESSION["partopreno"]->datoj['dulita'], 'J'); eoecho("dulita c^ambro "); simpla_entajpbutono("dulita", $_SESSION["partopreno"]->datoj['dulita'], 'U'); eoecho("unulita c^ambro <br/>\n"); if ($domotipo == "M" and $_SESSION["partopreno"]->datoj[dulita] == "J") { erareldono("<BR>Ne haveblas dulitaj c^ambroj memzorge"); } echo "</p></blockquote>\n"; echo "<hr/>\n"; if (mangxotraktado == "ligita") { debug_echo("<!-- kunmangxas: " . $_SESSION['partopreno']->datoj['kunmangxas'] . "-->"); $kunmangxas = $_SESSION['partopreno']->datoj['kunmangxas']; if ($kunmangxas == 'J' and $_SESSION['partopreno']->datoj['domotipo'] == 'J') { $kunmangxas = '?'; } if ($kunmangxas == 'N' and $_SESSION['partopreno']->datoj['domotipo'] == 'M') { $kunmangxas = '?'; }
/** * varianto de la funkcio por gxeneralaj kategoriosistemoj, * kun redaktilo por la landokategorioj (en versio "redaktebla"). */ function listu_kategoriojn($versio) { parent::listu_kategoriojn($versio); if ($versio != 'redaktebla') { return; } // en la redaktebla versio: aldone listo de la landoj $katlisto = array(); $landolisto = array(); $sql = datumbazdemando(array('ID', 'nomo'), 'landokategorioj', array("sistemoID" => $this->datoj['ID'])); $rez = sql_faru($sql); while ($linio = mysql_fetch_assoc($rez)) { $katlisto[] = $linio; } eoecho("<h3>Kategorioj de landoj</h3>"); eoecho("<table class='kategorioj_de_landoj'>\n" . "<tr><th>landonomo</th>" . "<th>kodo</th>"); foreach ($katlisto as $katLinio) { eoecho("<th>" . $katLinio['nomo'] . "</th>"); } echo "</tr>\n"; $sql = datumbazdemando(array('kategorioID', 'ID', 'nomo', 'kodo'), array('kategorioj_de_landoj', 'landoj'), array('ID = landoID', "sistemoID = '" . $this->datoj['ID'] . "'"), "", array('order' => 'kodo ASC')); $rez = sql_faru($sql); while ($landLinio = mysql_fetch_assoc($rez)) { $landolisto[$landLinio['ID']] = true; eoecho("<tr><td>" . $landLinio['nomo'] . "</td><td>" . $landLinio['kodo'] . "</td>"); foreach ($katlisto as $katLinio) { echo "<td>"; simpla_entajpbutono('landokategorio[' . $landLinio['ID'] . ']', $landLinio['kategorioID'], $katLinio['ID']); echo "</td>"; } echo "</tr>\n"; } $sql = datumbazdemando(array('ID', 'nomo', 'kodo'), 'landoj', "", "", array('order' => 'kodo ASC')); $rez = sql_faru($sql); if (mysql_num_rows($rez) > count($landolisto)) { if (DEBUG) { echo "<!-- " . var_export($landolisto, true) . "-->"; } $len = 2 + count($katlisto); eoecho("<tr><th class='titolo-sen-kat' colspan='" . $len . "'> Landoj sen kategorio:</th></tr>\n"); while ($landLinio = mysql_fetch_assoc($rez)) { if (!array_key_exists($landLinio['ID'], $landolisto)) { eoecho("<tr><td>" . $landLinio['nomo'] . "</td><td>" . $landLinio['kodo'] . "</td>"); foreach ($katlisto as $katLinio) { echo "<td>"; simpla_entajpbutono('landokategorio[' . $landLinio['ID'] . ']', false, $katLinio['ID']); echo "</td>"; } echo "</tr>\n"; } else { debug_echo("<!-- ekzistas: " . $landLinio['ID'] . "-->"); } } } echo "</table>\n<p>("; rajtligu("landoj.php", "Redaktu landoliston", "", "administri"); echo ")</p>"; }
/** * Elektilo kun titolo, en du apudaj tabelcxeloj. * * @param string $nomo * @param u8string|array $titoloj la titolo de la elektilo. * @param array $elektoj en formo * array(interna => teksto) * @param string $defauxlto * @param string|int $indekso por tabindex=... * @param string $aldonajxoj aldona teksto dekstre apud la montrilo. */ function aliĝilo_tabelelektilo_radie($nomo, $titoloj, $elektoj, $defauxlto = "", $kolumnoj = 1, $bezonata = false, $finu = true) { echo "<th><label for='{$nomo}'>" . $titoloj . "</label></th>\n"; $kromhtml = ""; $klasoj = array(); if ($bezonata) { $klasoj[] = "nepra"; } if (is_array($GLOBALS['mankas']) and in_array($nomo, $GLOBALS['mankas'])) { $klasoj[] = "mankas"; } if (count($klasoj)) { $kromhtml .= " class='" . implode(" ", $klasoj) . "'"; } if ($kolumnoj > 1) { $kromhtml .= " colspan='" . $kolumnoj . "'"; } echo "<td" . $kromhtml . ">\n"; foreach ($elektoj as $interna => $teksto) { echo " <span class='elekteblo'>"; simpla_entajpbutono($nomo, $_REQUEST[$nomo], $interna, $defauxlto == $interna ? "kutima" : ""); eoecho($teksto); echo "</span> \n"; } if ($finu) { echo "</td>\n"; } }