// nur montru cxiujn tekstojn (kun redakto-ligo). $GLOBALS['tekstpriskriboj'][""] = array(); eoecho("\n<form action='tekstoj.php' method='post'>\n\n\n <h2>Tekstoj</h2>\n <p>\n La <em>tekstoj</em> estas uzataj ekzemple por\n havi retmesag^tekstojn kaj similajn aferojn, kiuj varias lau^ renkontig^o,\n ne en la programo, sed en la datumbazo. Pri la signifoj legu en \n "); // TODO: movu la dokumentadon al pli tauxga loko ligu("http://www.esperanto.de/dej/vikio/IS-Datenbazo/Tekstoj", "la vikipag^o", "_blank"); eoecho("\n pri tiu temo. La tekstoj estu en esperanta c^-kodigo.\n </p>\n <ul><li>Vi povos redakti unuopan tekston (inkluzive la identifikilon) per la <code>red</code>-ligo.</li>\n <li>Alternative vi povos elekti plurajn tekstojn (meti hokon) kaj uzi la butonon <em>Redaktu la markitajn tekstojn</em> sube.</li>\n <li>Vi ec^ povos <em>redakti c^iujn tekstojn</em> per samnoma butono.</li>\n </ul>\n<table>"); echo "<tr><td colspan='4'>"; ligu("nova_teksto.php", "kreu novan tekston"); echo "</td></tr>\n"; eoecho("<tr><th>mesag^o-ID</th><td/><th>Valoro</th>" . "<th>Priskribo</th></tr>\n"); $sql = datumbazdemando(array('id', 'mesagxoID', 'teksto'), 'tekstoj', "renkontigxoID = '{$renk['ID']}'"); $rez = sql_faru($sql); while ($linio = mysql_fetch_assoc($rez)) { eoecho("\n <tr><th>" . $linio['mesagxoID'] . "</th>\n <td><input type='checkbox' name='redaktu[" . $linio['id'] . "]' value='true' /><br/>"); ligu('nova_teksto.php?id=' . $linio['id'], "red."); $priskribo = donu_tekstpriskribon($linio['mesagxoID']); $GLOBALS['tekstpriskriboj'][""][$priskribo['mesagxoID']]['uzata'] = true; eoecho("</td><td><p style='white-space: pre; white-space: pre-wrap'>" . $linio['teksto'] . "</pre>\n </td><td>" . $priskribo['priskribo'] . "\n </td>\n </tr>"); } echo "</table>"; butono('redaktu', "Redaktu la markitajn tekstojn"); butono('redaktu_cxiujn', "Redaktu c^iujn tekstojn"); ligu("renkontigxo.php", "Reen al la renkontig^o"); ligu("administrado.php", "Reen al la grava administrado"); echo "</form>\n"; $restantaj = array(); foreach ($GLOBALS['tekstpriskriboj'][""] as $priskribo) { if (!$priskribo['uzata'] and $priskribo['mesagxoID']) { $restantaj[] = $priskribo; } }
if ($linio['renkontigxoID'] != $_SESSION['renkontigxo']->datoj['ID']) { $_SESSION['renkontigxo'] = new Renkontigxo($linio['renkontigxoID']); } // redakto de ekzistanta teksto eoecho("<h2>Redakto de ekzistanta teksto</h2>"); eoecho("<p>Vi nun s^ang^os tekston (#" . $_REQUEST['id'] . ") de la renkontig^o " . $_SESSION['renkontigxo']->datoj['mallongigo'] . " (#" . $_SESSION['renkontigxo']->datoj['ID'] . ").</p>"); $id_postt = "(Kutime ne necesas s^ang^i tiun - faru tion nur," . " se vi scias, ke kaj kial tio necesas.)"; $_REQUEST['mesagxoID'] = $linio['mesagxoID']; $_REQUEST['teksto'] = $linio['teksto']; } else { eoecho("<h2>Aldono de nova teksto</h2>"); eoecho("<p>Vi nun aldonos tekston al la renkontig^o " . $_SESSION['renkontigxo']->datoj['mallongigo'] . " (#" . $_SESSION['renkontigxo']->datoj['ID'] . ").</p>"); $id_postt = ""; $linio = ""; } $priskribo = donu_tekstpriskribon($_REQUEST['mesagxoID']); if ($priskribo) { // if (DEBUG) { echo "<!-- priskribo: " . var_export($priskribo, true) . "-->"; // } eoecho("<p>" . $priskribo['priskribo'] . "</p>\n"); if ($priskribo['mesagxoID'] != $_REQUEST['mesagxoID']) { $sql = datumbazdemando(array('ID'), 'tekstoj', "mesagxoID = '" . $priskribo['mesagxoID'] . "'", "renkontigxoID"); $rez = sql_faru($sql); $alia = mysql_fetch_assoc($rez); eoecho("<p>Tiu teksto estas lingva varianto de la teksto "); if ($alia) { ligu('nova_teksto.php?id=' . $alia['ID'], $priskribo['mesagxoID']); eoecho(".</p>\n"); } else { eoecho("<code>" . $priskribo['mesagxoID'] . "</code>, kiu tamen ankorau^ ne ekzistas " . "en tiu renkontig^o. (");
function traktu_kampon_interne($tabelnomo, $kamponomo, $dosiernomo, $restrikto, $atributoj) { if ($atributoj['flag']) { traktu_kampon_flag($tabelnomo, $kamponomo, $dosiernomo, $restrikto, $atributoj); return; } global $trovitaj, $chefa, $tradukoj; $helpajKampoj = array(); if ($atributoj['helpoteksto']) { $helpajKampoj[$atributoj['helpoteksto']] = 'helpoteksto'; } if ($atributoj['helpeDe']) { $helpajKampoj[$atributoj['helpeDe']] = 'helpo'; } /* * ideo: ni trairas ambaŭ samtempe ordigitaj laŭ ID, kaj * tiel trovas samtempe aldonendajn kaj forigendajn. */ $sql_org = datumbazdemando(array_merge(array('ID', $kamponomo => 'org'), $helpajKampoj), $tabelnomo, $restrikto, "", array('order' => 'ID ASC')); /* "\n SELECT `ID`, `" . $kamponomo . "` AS org" . $helpValSQL . "\n FROM `" . $tabelo_interna . "` " . "\n ORDER BY `ID` ASC "; */ $sql_trad = datumbazdemando(array('(0 + `cheno`)' => 'ID', 'cheno', 'traduko'), 'tradukoj', array("`dosiero` = '" . $dosiernomo . "'", "`iso2` = '" . $chefa . "'"), "", array("order" => "`ID` ASC")); /* "\n SELECT (0 + `cheno`) AS `ID`, `cheno`, `traduko` " . "\n FROM `" . $tabelo . "` " . "\n WHERE `dosiero` = '" . $dosiernomo . "' " . "\n AND `iso2` = '" . $chefa . "' " . "\n ORDER BY `ID` ASC "; */ echo("<pre>$sql_org</pre><pre>$sql_trad</pre>"); $rez_org = mysql_query($sql_org); $rez_trad = mysql_query($sql_trad); $linio_org = mysql_fetch_assoc($rez_org); $linio_trad = mysql_fetch_assoc($rez_trad); while (true) { if (null == $linio_org) { // ne plu estas linioj en la originala tabelo if (null == $linio_trad) { break; } // TODO: listu la restantajn $id_org = PHP_INT_MAX; $id_trad = (int) $linio_trad['ID']; } else if (null == $linio_trad) { // ne plu estas linioj en la traduktabeloj, sed ja en la originala // TODO: listu la restantajn $id_org = (int) $linio_org['ID']; $id_trad = PHP_INT_MAX; } else { $id_org = (int) $linio_org['ID']; $id_trad = (int) $linio_trad['ID']; } // echo "<pre>org: $id_org, trad: $id_trad</pre>\n"; if ($id_trad < $id_org) { // ni havas tradukon sen originalo - ne traktu nun, estos // trovita poste. // next(trad) $linio_trad = mysql_fetch_assoc($rez_trad); } else { // ni trovis linion en la originala tabelo, ĉu // kun aŭ sen traduko $trad_kampo = eotransformado($linio_org['org'], "por-tradukilo"); if ($id_org == $id_trad) { // linio kun jam ekzistanta traduko $cheno = $linio_trad['cheno']; // ==> ni komparu ĝin nun. if ($trad_kampo != $linio_trad['traduko']) { // proponu aktualigon skatolo_por_cheno("aktualigu", $tradukoj["stato-aktualigenda-db"], "retradukenda", $dosiernomo, 1, $cheno, $chefa, $linio_trad['traduko'], $trad_kampo); } // next(trad) $linio_trad = mysql_fetch_assoc($rez_trad); } else { // ni havas linion en la originala tabelo sen tradukoj $trovitaj[]= $dosiernomo . "#" . $id_org; if ($atributoj['helpoteksto']) { $cheno = ((string)$id_org) . " (" . $linio_org['helpoteksto'] . ")"; } else { $cheno = (string)$id_org; } $komento = ""; if ($atributoj['helpeDe']) { if ($atributoj['klarigoj']) { require_once($GLOBALS['prafix'] . "/iloj/iloj_tekstoj.php"); $helpdosiero = $GLOBALS['prafix'] . $atributoj['klarigoj']; $informoj = donu_tekstpriskribon($linio_org['helpo'], $helpdosiero); $komento = eotransformado($informoj['priskribo'], "por-tradukilo"); // echo "<pre>"; // // var_export(); // var_export($helpdosiero); // var_export($komento); // echo "</pre>"; } else { $komento = ""; } } // proponu aldonon skatolo_por_cheno("aldonu", $tradukoj["stato-aldonenda-db"], "aldonenda", $dosiernomo, 1, $cheno, $chefa, "", $trad_kampo, $komento); } // por la listo de trovitajxoj $trovitaj[]= $dosiernomo . "#" . $cheno; // next(org) $linio_org = mysql_fetch_assoc($rez_org); } // else }// while } // traktu_kampon