while ($row = mysql_fetch_array($result)) { $parts = explode("/", $row["dosiero"]); $cheno = ""; $antaua_cheno=""; $antaua_indekso = 0; for ($i = 0; $i < count($parts) ; $i++) { $cheno .= $parts[$i] . "/"; $index = array_search($cheno, $trovitaj); if ($index === false) { $parto = rtrim($parts[$i], ":"); $trovitaj[$akt_num] = $cheno; $patroj[$akt_num] = $antaua_indekso; $nombroj[$akt_num] = 0; $tekstoj[$akt_num] = $tradukoj["chefdosierujo"][$cheno] or $tekstoj[$akt_num] = al_utf8($parto); $index = $akt_num; $akt_num++; } $nombroj[$index] += $row["nombro"]; $antaua_cheno = $cheno; $antaua_indekso = $index; } // regxustigu la nomon, gxi antauxe igxis $row["dosiero"] . "/". $nombroj[0] += $row["nombro"]; $trovitaj[$index] = $row["dosiero"]; // $patroj[$akt_num] = array_search($cheno, $trovitaj); // $nombroj[$akt_num] = $row["nombro"]; // $tekstoj[$akt_num] = al_utf8($parts[count($parts) - 1]); // $akt_num++; } // while
/** * 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"]; ?> <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; ?> : <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 }
function CH_chiuj($origina_cheno) { global $traduko_dosieroj, $db, $agordoj; $nur = $_GET["nur"]; // por montri nur unu el la tradukoj // $cheno, $dosiero extract(analizu_chenon($origina_cheno)); $db = konektu(); $tabelo = $agordoj["db_tabelo"]; $query = "SELECT traduko FROM $tabelo WHERE dosiero" . " = '$dosiero' AND cheno = '$cheno' AND iso2 = 'eo'"; $result = mysql_query($query); $row = mysql_fetch_array($result); $tradukoj = "<b>eo</b>: <i>" . al_utf8($row["traduko"]) . "</i>"; $query = "SELECT iso2, traduko FROM $tabelo WHERE dosiero" . " = '$dosiero' AND cheno = '$cheno'"; if ($nur != "") { $query .= " AND iso2 = '$nur'"; } $result = mysql_query($query); while ($row = mysql_fetch_array($result)) { if ($row["iso2"] == "eo") { continue; } $tradukoj .= "<br /><b>" . $row["iso2"] . "</b>: " . $row["traduko"]; } return $tradukoj; }
/** * eltrovas cxiujn tradukojn por cxenoj en la aktuala dosiero kaj lingvo, * por sxpari poste datumbazalirojn. * @return array array(cxeno => traduko) */ function preparu_cxiujn_tradukojn($dosiero, $lingvo) { $listo =& $this->tradukmemoro[$lingvo . '-' . $dosiero]; if (is_array($listo)) { return $listo; } $listo = array(); $rez = sql_faru(datumbazdemando(array("cheno", "traduko"), "tradukoj", array("dosiero" => $dosiero, "iso2" => $lingvo))); while ($linio = mysql_fetch_assoc($rez)) { if ($lingvo = 'eo') { $listo[$linio['cheno']] = preg_replace('/\\r/m', '', al_utf8($linio['traduko'])); } else { $listo[$linio['cheno']] = preg_replace('/\\r/m', '', $linio['traduko']); } } mysql_free_result($rez); return $listo; }