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; }
/** * sercxas en dosiero pri cxenoj tradukendaj. * @param string $dosiero dosiernomo (sur disko) * @param string $interna dosiernomo (en datumbazo) */ function traktu_dosieron($abs_dosiero, $interna) { // echo "(traktas " . $dosiero . " ...) <br />\n"; global $trovitaj, $tabelo, $chefa, $tradukoj; if (isset($_GET["parta"]) && (filemtime($dosiero) < time() - (60*60*24*7))) { return; } $tuto = join("", file($abs_dosiero)); preg_match_all("/CH([_a-z]*)\s*\(\s*[\"']([^\"']*)[\"']\s*(,|\))/", $tuto, $chenoj); $chenoj = $chenoj[2]; for ($i = 0; $i < count($chenoj); $i++) { // $cxeno, $dosiero extract(analizu_chenon($chenoj[$i], $interna)); if (!in_array($dosiero . "#" . $cheno, $trovitaj)) { $trovitaj[] = $dosiero . "#" . $cheno; if (eltrovu_gxenerale("COUNT(*)", "tradukoj", array("dosiero = '$dosiero'", "cheno = '$cheno'", "iso2 = '$chefa'")) < 1) { // $query = "SELECT traduko FROM $tabelo WHERE " // . "dosiero = '$dosiero' AND cheno = '$cheno' " // . "AND iso2 = '$chefa'"; // $result = mysql_query($query); // $row = mysql_fetch_array($result); // if (!$row) { // mankas en la datumbazo skatolo_por_cheno("aldonu", $tradukoj["stato-aldonenda"], "aldonenda", $dosiero, 1, $cheno, $chefa); } } } }
/** * @return null, se mankas la traduko. */ function donu_tradukon_en_lingvo($cxeno, $lingvo) { $¢enokaj = analizu_chenon($cxeno, $this->dosierstoko); $cxeno = $¢enokaj['cheno']; $dosiero = $¢enokaj['dosiero']; return $this->donu_tradukon_en($dosiero, $cxeno, $lingvo); }